enumerize 0.8.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +8 -2
  5. data/CHANGELOG.md +91 -0
  6. data/Gemfile +4 -22
  7. data/{Gemfile.rails4 → Gemfile.global} +2 -5
  8. data/Gemfile.mongo_mapper +5 -0
  9. data/Gemfile.rails40 +5 -0
  10. data/README.md +171 -8
  11. data/Rakefile +2 -4
  12. data/lib/enumerize/activerecord.rb +3 -29
  13. data/lib/enumerize/attribute.rb +41 -9
  14. data/lib/enumerize/base.rb +25 -10
  15. data/lib/enumerize/hooks/sequel_dataset.rb +19 -0
  16. data/lib/enumerize/integrations/rspec/matcher.rb +107 -26
  17. data/lib/enumerize/mongoid.rb +13 -0
  18. data/lib/enumerize/predicatable.rb +7 -16
  19. data/lib/enumerize/predicates.rb +3 -1
  20. data/lib/enumerize/scope/activerecord.rb +37 -0
  21. data/lib/enumerize/scope/mongoid.rb +35 -0
  22. data/lib/enumerize/scope/sequel.rb +40 -0
  23. data/lib/enumerize/sequel.rb +57 -0
  24. data/lib/enumerize/set.rb +18 -8
  25. data/lib/enumerize/value.rb +8 -7
  26. data/lib/enumerize/version.rb +1 -1
  27. data/lib/enumerize.rb +23 -1
  28. data/spec/enumerize/integrations/rspec/matcher_spec.rb +258 -0
  29. data/spec/spec_helper.rb +28 -0
  30. data/test/activerecord_test.rb +58 -7
  31. data/test/attribute_test.rb +22 -0
  32. data/test/formtastic_test.rb +3 -12
  33. data/test/mongo_mapper_test.rb +6 -0
  34. data/test/mongoid_test.rb +55 -6
  35. data/test/multiple_test.rb +21 -0
  36. data/test/predicates_test.rb +6 -0
  37. data/test/sequel_test.rb +291 -0
  38. data/test/set_test.rb +14 -0
  39. data/test/simple_form_test.rb +0 -1
  40. data/test/support/view_test_helper.rb +4 -0
  41. data/test/test_helper.rb +23 -2
  42. data/test/value_test.rb +51 -21
  43. metadata +37 -8
  44. data/lib/enumerize/form_helper.rb +0 -23
  45. data/test/rspec_matcher_test.rb +0 -76
  46. data/test/rspec_spec.rb +0 -13
@@ -1,76 +0,0 @@
1
- require 'test_helper'
2
- require 'enumerize/integrations/rspec'
3
-
4
- describe Enumerize::Integrations::RSpec do
5
- class Should
6
- include Enumerize::Integrations::RSpec
7
- end
8
-
9
- let(:klass) do
10
- Class.new do
11
- extend Enumerize
12
- end
13
- end
14
-
15
- let(:should) { Should.new }
16
- let(:object) { klass.new }
17
-
18
- describe '#description' do
19
- before do
20
- klass.enumerize(:sex, :in => [:male, :female])
21
- end
22
-
23
- it 'returns description without default value' do
24
- matcher = should.enumerize(:sex).in(:male, :female)
25
- matcher.description.must_equal 'enumerize :sex in: "female", "male"'
26
- end
27
-
28
- it 'returns description with default value' do
29
- matcher = should.enumerize(:sex).in(:male, :female).with_default(:male)
30
- matcher.description.must_equal 'enumerize :sex in: "female", "male" with "male" as default value'
31
- end
32
- end
33
-
34
- describe '#matches?' do
35
- before do
36
- klass.enumerize(:sex, :in => [:male, :female])
37
- end
38
-
39
- it 'returns true' do
40
- matcher = should.enumerize(:sex).in(:male, :female)
41
- matcher.matches?(object).must_equal true
42
- end
43
-
44
- it 'returns false' do
45
- matcher = should.enumerize(:sex).in(:bar)
46
- matcher.matches?(object).must_equal false
47
- end
48
- end
49
-
50
- describe '#failure_message' do
51
- before do
52
- klass.enumerize(:sex, :in => [:male, :female], :default => :male)
53
- end
54
-
55
- it 'returns failure message for invalid :in option' do
56
- matcher = should.enumerize(:sex).in(:bar)
57
- matcher.subject = object
58
- expected = ' expected :sex to allow value: "bar", but it allows "female", "male" instead'
59
- matcher.failure_message.must_equal expected
60
- end
61
-
62
- it 'returns failure message for invalid :with_default option' do
63
- matcher = should.enumerize(:sex).in(:male, :female).with_default(:foo)
64
- matcher.subject = object
65
- expected = ' expected :sex to have "foo" as default value, but it sets "male" instead'
66
- matcher.failure_message.must_equal expected
67
- end
68
-
69
- it 'returns failure message for ivalid :in option with default value' do
70
- matcher = should.enumerize(:sex).in(:bar).with_default(:male)
71
- matcher.subject = object
72
- expected = ' expected :sex to allow value: "bar", but it allows "female", "male" instead'
73
- matcher.failure_message.must_equal expected
74
- end
75
- end
76
- end
data/test/rspec_spec.rb DELETED
@@ -1,13 +0,0 @@
1
- require 'enumerize'
2
- require 'rspec'
3
-
4
- class RSpecUser
5
- extend Enumerize
6
-
7
- enumerize :sex, in: [:male, :female], default: :male
8
- end
9
-
10
- describe RSpecUser do
11
- it { should enumerize(:sex).in(:male, :female) }
12
- it { should enumerize(:sex).in(:male, :female).with_default(:male) }
13
- end