From 0313bc9c6cd273657e48e167be02c8f714d22555 Mon Sep 17 00:00:00 2001 From: Heitor Reis Date: Wed, 26 Nov 2014 12:41:24 -0200 Subject: [PATCH] Removed the validators --- app/models/validators/beginning_uniqueness_validator.rb | 10 ---------- app/models/validators/greater_than_beginning_validator.rb | 18 ------------------ app/models/validators/kalibro_uniqueness_validator.rb | 10 ---------- app/models/validators/range_overlapping_validator.rb | 27 --------------------------- spec/models/validators/beginning_uniqueness_validator_spec.rb | 39 --------------------------------------- spec/models/validators/greater_than_beginning_validator_spec.rb | 43 ------------------------------------------- 6 files changed, 0 insertions(+), 147 deletions(-) delete mode 100644 app/models/validators/beginning_uniqueness_validator.rb delete mode 100644 app/models/validators/greater_than_beginning_validator.rb delete mode 100644 app/models/validators/kalibro_uniqueness_validator.rb delete mode 100644 app/models/validators/range_overlapping_validator.rb delete mode 100644 spec/models/validators/beginning_uniqueness_validator_spec.rb delete mode 100644 spec/models/validators/greater_than_beginning_validator_spec.rb diff --git a/app/models/validators/beginning_uniqueness_validator.rb b/app/models/validators/beginning_uniqueness_validator.rb deleted file mode 100644 index c1ac9dc..0000000 --- a/app/models/validators/beginning_uniqueness_validator.rb +++ /dev/null @@ -1,10 +0,0 @@ -class BeginningUniquenessValidator < ActiveModel::EachValidator - def validate_each(record, attribute, value) - record.class.ranges_of(record.metric_configuration_id).each do |mezuro_range| - if mezuro_range.beginning == value && mezuro_range.id != record.id - record.errors[attribute] << "There is already a #{record.class} with #{attribute} #{value}! Please, choose another one." - break - end - end - end -end \ No newline at end of file diff --git a/app/models/validators/greater_than_beginning_validator.rb b/app/models/validators/greater_than_beginning_validator.rb deleted file mode 100644 index 7d37d2e..0000000 --- a/app/models/validators/greater_than_beginning_validator.rb +++ /dev/null @@ -1,18 +0,0 @@ -class GreaterThanBeginningValidator < ActiveModel::EachValidator - def validate_each(record, attribute, value) - if record.beginning.is_a?(String) || value.is_a?(String) #TODO This will be useless when we start representing INF as ruby Infinity with the new Kalibro configuration application. - if record.beginning=="INF" || value=="-INF" || record.beginning == value - add_error(record,attribute) - end - elsif record.beginning >= value - add_error(record,attribute) - end - end - - private - - def add_error(record, attribute) - record.errors[attribute] << "The End value should be greater than the Beginning value." - end - -end diff --git a/app/models/validators/kalibro_uniqueness_validator.rb b/app/models/validators/kalibro_uniqueness_validator.rb deleted file mode 100644 index f230e21..0000000 --- a/app/models/validators/kalibro_uniqueness_validator.rb +++ /dev/null @@ -1,10 +0,0 @@ -class KalibroUniquenessValidator < ActiveModel::EachValidator - def validate_each(record, attribute, value) - record.class.all.each do |entity| - if (entity.send(attribute) == value) and (entity.id != record.id) - record.errors[attribute] << "There is already a #{record.class} with #{attribute} #{value}! Please, choose another one." - break - end - end - end -end diff --git a/app/models/validators/range_overlapping_validator.rb b/app/models/validators/range_overlapping_validator.rb deleted file mode 100644 index cb15715..0000000 --- a/app/models/validators/range_overlapping_validator.rb +++ /dev/null @@ -1,27 +0,0 @@ -class RangeOverlappingValidator < ActiveModel::Validator - def validate(record) - record.class.ranges_of(record.metric_configuration_id).each do |mezuro_range| - if mezuro_range.id != record.id && overlaps?(mezuro_range,record) - record.errors[:beginning] << "There is already a #{record.class} within these boundaries! Please, choose another interval." - break - end - end - end - - private - - def overlaps?(range1, range2) - return true if to_float(range1.beginning) >= to_float(range2.beginning) && to_float(range1.beginning) < to_float(range2.end) - return true if to_float(range1.end) > to_float(range2.beginning) && to_float(range1.end) <= to_float(range2.end) - return true if to_float(range1.beginning) >= to_float(range2.beginning) && to_float(range1.end) <= to_float(range2.end) - return true if to_float(range1.beginning) <= to_float(range2.beginning) && to_float(range1.end) >= to_float(range2.end) - return false - end - - def to_float(value) - return 1.0/0 if value=="INF" - return -1.0/0 if value=="-INF" - return value.to_f if value.is_a?(String) - return value - end -end diff --git a/spec/models/validators/beginning_uniqueness_validator_spec.rb b/spec/models/validators/beginning_uniqueness_validator_spec.rb deleted file mode 100644 index 1097453..0000000 --- a/spec/models/validators/beginning_uniqueness_validator_spec.rb +++ /dev/null @@ -1,39 +0,0 @@ -require 'rails_helper' -require 'validators/beginning_uniqueness_validator' - -describe BeginningUniquenessValidator, :type => :model do - pending 'waiting for kalibro configurations integration' do - describe 'methods' do - describe 'validate_each' do - let(:metric_configuration) { FactoryGirl.build(:metric_configuration) } - context 'without saved mezuro_range' do - before :each do - MezuroRange.expects(:ranges_of).with(metric_configuration.id).returns([]) - MezuroRange.expects(:request).returns(42) - RangeOverlappingValidator.any_instance.stubs(:validate) - end - - subject { FactoryGirl.build(:mezuro_range, metric_configuration_id: metric_configuration.id) } - it 'should contain no errors' do - subject.save - expect(subject.errors).to be_empty - end - end - - context 'with beginning already taken by another mezuro_range' do - let(:another_mezuro_range) { FactoryGirl.build(:another_mezuro_range, id: 3, metric_configuration_id: metric_configuration.id) } - before :each do - @subject = FactoryGirl.build(:mezuro_range, metric_configuration_id: metric_configuration.id) - MezuroRange.expects(:ranges_of).with(@subject.metric_configuration_id).returns([another_mezuro_range]) - RangeOverlappingValidator.any_instance.stubs(:validate) - end - - it 'should contain errors' do - @subject.save - expect(@subject.errors[:beginning]).to eq(["There is already a MezuroRange with beginning #{@subject.beginning}! Please, choose another one."]) - end - end - end - end - end -end diff --git a/spec/models/validators/greater_than_beginning_validator_spec.rb b/spec/models/validators/greater_than_beginning_validator_spec.rb deleted file mode 100644 index 76b08a3..0000000 --- a/spec/models/validators/greater_than_beginning_validator_spec.rb +++ /dev/null @@ -1,43 +0,0 @@ -require 'rails_helper' -require 'validators/greater_than_beginning_validator' - -describe GreaterThanBeginningValidator, :type => :model do - pending 'waiting for kalibro configurations integration' do - describe 'methods' do - describe 'validate_each' do - before :each do - BeginningUniquenessValidator.any_instance.stubs(:validate_each) - RangeOverlappingValidator.any_instance.stubs(:validate) - end - context 'when beginning is INF or end is -INF' do - subject { FactoryGirl.build(:mezuro_range, end: "-INF") } - it 'is expected to return an error' do - subject.save - expect(subject.errors[:end]).to eq(["The End value should be greater than the Beginning value."]) - end - end - context 'when beginning is -INF or end is INF' do - subject { FactoryGirl.build(:mezuro_range, end: "INF") } - it 'is expected to not return an error' do - subject.save - expect(subject.errors[:end]).to be_empty - end - end - context 'when beginning is greater than end' do - subject { FactoryGirl.build(:mezuro_range, beginning: 1.0, end: 0.0) } - it 'is expected to return an error' do - subject.save - expect(subject.errors[:end]).to eq(["The End value should be greater than the Beginning value."]) - end - end - context 'when beginning is smaller than end' do - subject { FactoryGirl.build(:mezuro_range) } - it 'is expected to not return an error' do - subject.save - expect(subject.errors[:end]).to be_empty - end - end - end - end - end -end -- libgit2 0.21.2