Skip to content
This repository has been archived by the owner on May 2, 2019. It is now read-only.

Commit

Permalink
Remove 1.9 syntax for 1.8 compat
Browse files Browse the repository at this point in the history
* Adds spec and spec/integration to LOAD_PATH for
  simplified requires when specing. no '../../../' hazard is needed.

* Uses value.to_s instead of value.to_str on 1.8 to determine string
  length. #to_str is not defined for nil.

* Require backports on ruby-1.8 for Enumerable#each_with_object
  • Loading branch information
Markus Schirp committed Mar 9, 2012
1 parent 7735a97 commit 1391866
Show file tree
Hide file tree
Showing 44 changed files with 85 additions and 74 deletions.
3 changes: 3 additions & 0 deletions aequitas.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,7 @@ Gem::Specification.new do |s|

s.add_development_dependency('minitest', ['~> 2.8'])
s.add_development_dependency('virtus', ['~> 0.2.0'])
if RUBY_VERSION < '1.9.1'
s.add_dependency('backports')
end
end
5 changes: 5 additions & 0 deletions lib/aequitas.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
# -*- encoding: utf-8 -*-

if RUBY_VERSION < '1.9.1'
require 'backports'
end

require 'aequitas/version'


require 'aequitas/class_methods'
require 'aequitas/violation_set'

Expand Down
2 changes: 1 addition & 1 deletion lib/aequitas/rule/length.rb
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ def value_length(value)
# calculate length of multi-byte-encoded strings
# as characters rather than bytes
def value_length(value)
value.to_str.scan(/./u).size
value.to_s.scan(/./u).size
end
end

Expand Down
4 changes: 2 additions & 2 deletions spec/integration/aequitas/macros/validates_absence_of_spec.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require_relative '../../../spec_helper'
require_relative '../../shared/macros/integration_spec'
require 'spec_helper'
require 'shared/macros/integration_spec'
require 'aequitas'

Aequitas::Macros::IntegrationSpec.describe Aequitas::Macros, '#validates_absence_of' do
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require_relative '../../../spec_helper'
require_relative '../../shared/macros/integration_spec'
require 'spec_helper'
require 'shared/macros/integration_spec'
require 'aequitas'

Aequitas::Macros::IntegrationSpec.describe Aequitas::Macros, '#validates_acceptance_of' do
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require_relative '../../../spec_helper'
require_relative '../../shared/macros/integration_spec'
require 'spec_helper'
require 'shared/macros/integration_spec'
require 'aequitas'

Aequitas::Macros::IntegrationSpec.describe Aequitas::Macros, '#validates_confirmation_of' do
Expand Down
4 changes: 2 additions & 2 deletions spec/integration/aequitas/macros/validates_format_of_spec.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require_relative '../../../spec_helper'
require_relative '../../shared/macros/integration_spec'
require 'spec_helper'
require 'shared/macros/integration_spec'
require 'aequitas'

Aequitas::Macros::IntegrationSpec.describe Aequitas::Macros, '#validates_format_of' do
Expand Down
4 changes: 2 additions & 2 deletions spec/integration/aequitas/macros/validates_length_of.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require_relative '../../../spec_helper'
require_relative '../../shared/macros/integration_spec'
require 'spec_helper'
require 'shared/macros/integration_spec'
require 'aequitas'

Aequitas::Macros::IntegrationSpec.describe Aequitas::Macros, '#validates_length_of' do
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require_relative '../../../spec_helper'
require_relative '../../shared/macros/integration_spec'
require 'spec_helper'
require 'shared/macros/integration_spec'
require 'aequitas'

Aequitas::Macros::IntegrationSpec.describe Aequitas::Macros, '#validates_numericalness_of' do
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require_relative '../../../spec_helper'
require_relative '../../shared/macros/integration_spec'
require 'spec_helper'
require 'shared/macros/integration_spec'
require 'aequitas'

Aequitas::Macros::IntegrationSpec.describe Aequitas::Macros, '#validates_presence_of' do
Expand Down
4 changes: 2 additions & 2 deletions spec/integration/aequitas/macros/validates_value_of_spec.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require_relative '../../../spec_helper'
require_relative '../../shared/macros/integration_spec'
require 'spec_helper'
require 'shared/macros/integration_spec'
require 'aequitas'

Aequitas::Macros::IntegrationSpec.describe Aequitas::Macros, '#validates_value_of' do
Expand Down
4 changes: 2 additions & 2 deletions spec/integration/aequitas/macros/validates_with_block.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require_relative '../../../spec_helper'
require_relative '../../shared/macros/integration_spec'
require 'spec_helper'
require 'shared/macros/integration_spec'
require 'aequitas'

Aequitas::Macros::IntegrationSpec.describe Aequitas::Macros, '#validates_with_block' do
Expand Down
4 changes: 2 additions & 2 deletions spec/integration/aequitas/macros/validates_with_method.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require_relative '../../../spec_helper'
require_relative '../../shared/macros/integration_spec'
require 'spec_helper'
require 'shared/macros/integration_spec'
require 'aequitas'

Aequitas::Macros::IntegrationSpec.describe Aequitas::Macros, '#validates_with_method' do
Expand Down
4 changes: 2 additions & 2 deletions spec/integration/aequitas/macros/validates_within.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require_relative '../../../spec_helper'
require_relative '../../shared/macros/integration_spec'
require 'spec_helper'
require 'shared/macros/integration_spec'
require 'aequitas'

Aequitas::Macros::IntegrationSpec.describe Aequitas::Macros, '#validates_within' do
Expand Down
2 changes: 1 addition & 1 deletion spec/integration/virtus/array/length/equal_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
2 changes: 1 addition & 1 deletion spec/integration/virtus/array/length/range_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
2 changes: 1 addition & 1 deletion spec/integration/virtus/boolean/presence_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../spec_helper'
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
2 changes: 1 addition & 1 deletion spec/integration/virtus/integer/value/equal_to_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
2 changes: 1 addition & 1 deletion spec/integration/virtus/integer/value/greater_than_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
2 changes: 1 addition & 1 deletion spec/integration/virtus/integer/value/less_than_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
2 changes: 1 addition & 1 deletion spec/integration/virtus/integer/value/not_equal_to_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require File.expand_path('../../../../spec_helper', File.dirname(__FILE__))
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
2 changes: 1 addition & 1 deletion spec/integration/virtus/string/format/regexp_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
2 changes: 1 addition & 1 deletion spec/integration/virtus/string/format/url_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
2 changes: 1 addition & 1 deletion spec/integration/virtus/string/length/equal_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
2 changes: 1 addition & 1 deletion spec/integration/virtus/string/length/range_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
2 changes: 1 addition & 1 deletion spec/integration/virtus/string/presence_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../spec_helper'
require 'spec_helper'
require 'virtus'
require 'aequitas'
require 'aequitas/virtus_integration'
Expand Down
3 changes: 3 additions & 0 deletions spec/suite.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
spec_dir = File.expand_path('..', __FILE__)

$LOAD_PATH << spec_dir
$LOAD_PATH << File.join(spec_dir,'integration')

%w[unit integration].each do |spec_type|
Dir[File.join(spec_dir, spec_type, '**', '*.rb')].each { |spec| require spec }
end
2 changes: 1 addition & 1 deletion spec/unit/aequitas/class_methods/inherited_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../spec_helper'
require 'spec_helper'
require 'aequitas/class_methods'


Expand Down
2 changes: 1 addition & 1 deletion spec/unit/aequitas/rule/absence/blank/valid_value_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../../spec_helper'
require 'spec_helper'
require 'aequitas/rule/absence/blank'

describe Aequitas::Rule::Absence::Blank, '#valid_value?' do
Expand Down
2 changes: 1 addition & 1 deletion spec/unit/aequitas/rule/absence/blank_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'aequitas/rule/absence/blank'

describe Aequitas::Rule::Absence::Blank do
Expand Down
4 changes: 2 additions & 2 deletions spec/unit/aequitas/rule/acceptance/valid_value_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'aequitas/rule/acceptance'

describe Aequitas::Rule::Acceptance, '#valid_value?' do
Expand All @@ -8,7 +8,7 @@
let(:attribute_name) { :foo }
let(:options) { Hash.new }

let(:options) { { accept: ['a'] } }
let(:options) { { :accept => ['a'] } }

describe "when testing a value that is among the #accept values" do
let(:value) { 'a' }
Expand Down
8 changes: 4 additions & 4 deletions spec/unit/aequitas/rule/acceptance_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../spec_helper'
require 'spec_helper'
require 'aequitas/rule/acceptance'

describe Aequitas::Rule::Acceptance do
Expand All @@ -10,7 +10,7 @@
subject { rule }

describe 'when the :accept option is present' do
let(:options) { { accept: [:foo] } }
let(:options) { { :accept => [:foo] } }

it 'sets #accept to the provided value as a Set' do
assert_equal [:foo].to_set, subject.accept
Expand All @@ -32,7 +32,7 @@
end

describe 'when the :allow_nil option is false' do
let(:options) { { allow_nil: false } }
let(:options) { { :allow_nil => false } }

it 'sets allow_nil? to false' do
refute_predicate subject.skip_condition, :allow_nil?
Expand All @@ -43,7 +43,7 @@
describe '#valid_value?' do
subject { rule.valid_value?(value) }

let(:options) { { accept: ['a'] } }
let(:options) { { :accept => ['a'] } }

describe "when testing a value that is among the #accept values" do
let(:value) { 'a' }
Expand Down
2 changes: 1 addition & 1 deletion spec/unit/aequitas/rule/confirmation/validate_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../../spec_helper'
require 'spec_helper'
require 'aequitas/rule/confirmation'

describe Aequitas::Rule::Confirmation, '#validate' do
Expand Down
2 changes: 1 addition & 1 deletion spec/unit/aequitas/rule/confirmation_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../spec_helper'
require 'spec_helper'
require 'aequitas/rule/confirmation'

describe Aequitas::Rule::Confirmation do
Expand Down
8 changes: 4 additions & 4 deletions spec/unit/aequitas/rule/guard_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../spec_helper'
require 'spec_helper'
require 'aequitas/rule/guard'

module Aequitas
Expand All @@ -7,17 +7,17 @@ class Rule
describe '#initialize' do
it 'stores the :if option as #if_test' do
expected = 'foo'
assert_same expected, Guard.new(if: expected).if_test
assert_same expected, Guard.new(:if => expected).if_test
end

it 'stores the :unless option as #unless_test' do
expected = 'foo'
assert_same expected, Guard.new(unless: expected).unless_test
assert_same expected, Guard.new(:unless => expected).unless_test
end
end

describe '#allow?' do
let(:rule_guard) { Guard.new(if: if_test, unless: unless_test) }
let(:rule_guard) { Guard.new(:if => if_test, :unless => unless_test) }
let(:if_test) { nil }
let(:unless_test) { nil }

Expand Down
24 changes: 12 additions & 12 deletions spec/unit/aequitas/rule/skip_condition_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative '../../../spec_helper'
require 'spec_helper'
require 'aequitas/rule/skip_condition'

module Aequitas
Expand All @@ -8,7 +8,7 @@ class Rule

describe '#initialize' do
describe 'when :allow_nil is included and false' do
let(:options) { { allow_nil: false } }
let(:options) { { :allow_nil => false } }

end
end
Expand All @@ -23,27 +23,27 @@ class Rule
end

it 'is true when :allow_nil is true and the value is nil' do
assert_operator SkipCondition.new(allow_nil: true), :skip?, nil
assert_operator SkipCondition.new(:allow_nil => true), :skip?, nil
end

it 'is false when :allow_nil is true and the value is non-nil' do
refute_operator SkipCondition.new(allow_nil: true), :skip?, :foo
refute_operator SkipCondition.new(:allow_nil => true), :skip?, :foo
end

it 'is false when :allow_nil is false and the value is nil' do
refute_operator SkipCondition.new(allow_nil: false), :skip?, nil
refute_operator SkipCondition.new(:allow_nil => false), :skip?, nil
end

it 'is false when :allow_nil is false and the value is non-nil' do
refute_operator SkipCondition.new(allow_nil: false), :skip?, :foo
refute_operator SkipCondition.new(:allow_nil => false), :skip?, :foo
end

it 'is true when :allow_blank is true and the value is nil' do
assert_operator SkipCondition.new(allow_blank: true), :skip?, nil
assert_operator SkipCondition.new(:allow_blank => true), :skip?, nil
end

it 'is false when :allow_blank is true and the value is non-nil' do
refute_operator SkipCondition.new(allow_blank: true), :skip?, :foo
refute_operator SkipCondition.new(:allow_blank => true), :skip?, :foo
end
end

Expand All @@ -53,11 +53,11 @@ class Rule
end

it 'is false when :allow_nil option is false' do
refute_predicate SkipCondition.new(allow_nil: false), :allow_nil?
refute_predicate SkipCondition.new(:allow_nil => false), :allow_nil?
end

it 'is true when :allow_nil option is true' do
assert_predicate SkipCondition.new(allow_nil: true), :allow_nil?
assert_predicate SkipCondition.new(:allow_nil => true), :allow_nil?
end
end

Expand All @@ -67,11 +67,11 @@ class Rule
end

it 'is false when :allow_blank option is false' do
refute_predicate SkipCondition.new(allow_blank: false), :allow_blank?
refute_predicate SkipCondition.new(:allow_blank => false), :allow_blank?
end

it 'is true when :allow_blank option is true' do
assert_predicate SkipCondition.new(allow_blank: true), :allow_blank?
assert_predicate SkipCondition.new(:allow_blank => true), :allow_blank?
end
end

Expand Down
Loading

0 comments on commit 1391866

Please sign in to comment.