enumerate_it 1.3.0 → 1.3.1.rc1

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.
@@ -1,30 +1,31 @@
1
1
  # encoding: utf-8
2
+
2
3
  module EnumerateIt
3
4
  module ClassMethods
4
5
  def has_enumeration_for(attribute, options = {})
5
- self.enumerations = self.enumerations.dup
6
+ self.enumerations = enumerations.dup
6
7
 
7
- define_enumeration_class attribute, options
8
- create_enumeration_humanize_method options[:with], attribute
9
- store_enumeration options[:with], attribute
8
+ define_enumeration_class(attribute, options)
9
+ create_enumeration_humanize_method(options[:with], attribute)
10
+ store_enumeration(options[:with], attribute)
10
11
 
11
- unless options[:skip_validation]
12
- set_validations attribute, options
13
- end
12
+ handle_options(attribute, options)
13
+ end
14
+
15
+ private
16
+
17
+ def handle_options(attribute, options)
18
+ set_validations(attribute, options) unless options[:skip_validation]
14
19
 
15
20
  if options[:create_helpers]
16
- create_helper_methods options[:with], attribute, options[:create_helpers]
17
- create_mutator_methods options[:with], attribute, options[:create_helpers]
18
- create_polymorphic_methods options[:with], attribute, options[:create_helpers]
21
+ %w(create_helper_methods create_mutator_methods create_polymorphic_methods).each do |method|
22
+ send(method, options[:with], attribute, options[:create_helpers])
23
+ end
19
24
  end
20
25
 
21
- if options[:create_scopes]
22
- create_scopes options[:with], attribute, options[:create_scopes]
23
- end
26
+ create_scopes options[:with], attribute, options[:create_scopes] if options[:create_scopes]
24
27
  end
25
28
 
26
- private
27
-
28
29
  def store_enumeration(klass, attribute)
29
30
  enumerations[attribute] = klass
30
31
  end
@@ -32,7 +33,7 @@ module EnumerateIt
32
33
  def create_enumeration_humanize_method(klass, attribute_name)
33
34
  class_eval do
34
35
  define_method "#{attribute_name}_humanize" do
35
- values = klass.enumeration.values.detect { |v| v[0] == self.send(attribute_name) }
36
+ values = klass.enumeration.values.detect { |v| v[0] == send(attribute_name) }
36
37
 
37
38
  values ? klass.translate(values[1]) : nil
38
39
  end
@@ -45,7 +46,7 @@ module EnumerateIt
45
46
  class_eval do
46
47
  klass.enumeration.keys.each do |option|
47
48
  define_method "#{prefix_name}#{option}?" do
48
- self.send(attribute_name) == klass.enumeration[option].first
49
+ send(attribute_name) == klass.enumeration[option].first
49
50
  end
50
51
  end
51
52
  end
@@ -56,7 +57,7 @@ module EnumerateIt
56
57
 
57
58
  klass.enumeration.keys.each do |key|
58
59
  if respond_to? :scope
59
- scope "#{prefix_name}#{key}", lambda { where(attribute_name => klass.enumeration[key].first) }
60
+ scope "#{prefix_name}#{key}", -> { where(attribute_name => klass.enumeration[key].first) }
60
61
  end
61
62
  end
62
63
  end
@@ -67,7 +68,7 @@ module EnumerateIt
67
68
  class_eval do
68
69
  klass.enumeration.each_pair do |key, values|
69
70
  define_method "#{prefix_name}#{key}!" do
70
- self.send "#{attribute_name}=", values.first
71
+ send "#{attribute_name}=", values.first
71
72
  end
72
73
  end
73
74
  end
@@ -77,11 +78,11 @@ module EnumerateIt
77
78
  return unless helpers.is_a?(Hash) && helpers[:polymorphic]
78
79
  options = helpers[:polymorphic]
79
80
  suffix = options.is_a?(Hash) && options[:suffix]
80
- suffix ||= "_object"
81
+ suffix ||= '_object'
81
82
 
82
83
  class_eval do
83
84
  define_method "#{attribute_name}#{suffix}" do
84
- value = self.public_send(attribute_name)
85
+ value = public_send(attribute_name)
85
86
 
86
87
  klass.const_get(klass.key_for(value).to_s.camelize).new if value
87
88
  end
@@ -89,14 +90,21 @@ module EnumerateIt
89
90
  end
90
91
 
91
92
  def define_enumeration_class(attribute, options)
92
- if options[:with].nil?
93
- inner_enum_class_name = attribute.to_s.camelize.to_sym
94
- options[:with] = self.constants.include?(inner_enum_class_name) ? self.const_get(inner_enum_class_name) : attribute.to_s.camelize.constantize
93
+ return if options[:with]
94
+
95
+ inner_enum_class_name = attribute.to_s.camelize.to_sym
96
+
97
+ options[:with] = if constants.include?(inner_enum_class_name)
98
+ const_get(inner_enum_class_name)
99
+ else
100
+ attribute.to_s.camelize.constantize
95
101
  end
96
102
  end
97
103
 
98
104
  def set_validations(attribute, options)
99
- validates_inclusion_of(attribute, in: options[:with].list, allow_blank: true) if self.respond_to?(:validates_inclusion_of)
105
+ if respond_to?(:validates_inclusion_of)
106
+ validates_inclusion_of(attribute, in: options[:with].list, allow_blank: true)
107
+ end
100
108
 
101
109
  if options[:required] && respond_to?(:validates_presence_of)
102
110
  opts = options[:required].is_a?(Hash) ? options[:required] : {}
@@ -1,3 +1,3 @@
1
1
  module EnumerateIt
2
- VERSION = '1.3.0'
2
+ VERSION = '1.3.1.rc1'.freeze
3
3
  end
@@ -9,14 +9,14 @@ module EnumerateIt
9
9
 
10
10
  class_option :lang, type: 'string', desc: 'Lang to use in i18n', default: 'en'
11
11
 
12
- desc "Creates a locale file on config/locales"
12
+ desc 'Creates a locale file on config/locales'
13
13
  def create_locale
14
- template "locale.yml", File.join('config/locales', "#{singular_name}.yml")
14
+ template 'locale.yml', File.join('config/locales', "#{singular_name}.yml")
15
15
  end
16
16
 
17
- desc "Creates an initializer file on config/initializers that extends ActiveRecord::Base with Enumerate_it"
17
+ desc 'Creates an initializer file that extends ActiveRecord::Base with Enumerate_it'
18
18
  def create_enumerate_it
19
- template "enumerate_it.rb", File.join('app/enumerations', "#{singular_name}.rb")
19
+ template 'enumerate_it.rb', File.join('app/enumerations', "#{singular_name}.rb")
20
20
  end
21
21
 
22
22
  protected
@@ -37,9 +37,7 @@ module EnumerateIt
37
37
  if attributes.first.type == :string
38
38
  attributes.map(&:name)
39
39
  else
40
- attributes.map do |attribute|
41
- [attribute.name, attribute.type]
42
- end
40
+ attributes.map { |attribute| [attribute.name, attribute.type] }
43
41
  end
44
42
  end
45
43
  end
@@ -4,7 +4,7 @@ module EnumerateIt
4
4
  source_root File.expand_path('../templates', __FILE__)
5
5
 
6
6
  def copy_initializer_file
7
- template "enumerate_it_initializer.rb", File.join('config/initializers/', "enumerate_it.rb")
7
+ template 'enumerate_it_initializer.rb', File.join('config/initializers/', 'enumerate_it.rb')
8
8
  end
9
9
  end
10
10
  end
@@ -3,55 +3,57 @@
3
3
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
4
4
 
5
5
  describe EnumerateIt::Base do
6
- it "creates constants for each enumeration value" do
7
- [TestEnumeration::VALUE_1, TestEnumeration::VALUE_2, TestEnumeration::VALUE_3].each_with_index do |constant, idx|
6
+ it 'creates constants for each enumeration value' do
7
+ constants = [TestEnumeration::VALUE_1, TestEnumeration::VALUE_2, TestEnumeration::VALUE_3]
8
+
9
+ constants.each_with_index do |constant, idx|
8
10
  expect(constant).to eq((idx + 1).to_s)
9
11
  end
10
12
  end
11
13
 
12
- it "creates constants for camel case values" do
14
+ it 'creates constants for camel case values' do
13
15
  expect(TestEnumerationWithCamelCase::IPHONE).to eq('iPhone')
14
16
  end
15
17
 
16
- it "creates constants replacing its dashes with underscores" do
18
+ it 'creates constants replacing its dashes with underscores' do
17
19
  expect(TestEnumerationWithDash::PT_BR).to eq('pt-BR')
18
20
  end
19
21
 
20
- describe ".list" do
22
+ describe '.list' do
21
23
  it "creates a method that returns the allowed values in the enumeration's class" do
22
- expect(TestEnumeration.list).to eq(['1', '2', '3'])
24
+ expect(TestEnumeration.list).to eq(%w(1 2 3))
23
25
  end
24
26
 
25
- context "specifying a default sort mode" do
27
+ context 'specifying a default sort mode' do
26
28
  subject { create_enumeration_class_with_sort_mode(sort_mode).list }
27
29
 
28
- context "by value" do
30
+ context 'by value' do
29
31
  let(:sort_mode) { :value }
30
32
 
31
33
  it { should eq(%w(0 1 2 3)) }
32
34
  end
33
35
 
34
- context "by name" do
36
+ context 'by name' do
35
37
  let(:sort_mode) { :name }
36
38
 
37
39
  it { should eq(%w(2 1 3 0)) }
38
40
  end
39
41
 
40
- context "by translation" do
42
+ context 'by translation' do
41
43
  let(:sort_mode) { :translation }
42
44
 
43
45
  it { should eq(%w(3 2 0 1)) }
44
46
  end
45
47
 
46
- context "by nothing" do
48
+ context 'by nothing' do
47
49
  let(:sort_mode) { :none }
48
50
 
49
51
  it { should eq(%w(1 2 3 0)) }
50
52
  end
51
53
  end
52
- end
54
+ end
53
55
 
54
- it "creates a method that returns the enumeration specification" do
56
+ it 'creates a method that returns the enumeration specification' do
55
57
  expect(TestEnumeration.enumeration).to eq(
56
58
  value_1: ['1', 'Hey, I am 1!'],
57
59
  value_2: ['2', 'Hey, I am 2!'],
@@ -59,29 +61,29 @@ describe EnumerateIt::Base do
59
61
  )
60
62
  end
61
63
 
62
- describe ".length" do
63
- it "returns the length of the enumeration" do
64
+ describe '.length' do
65
+ it 'returns the length of the enumeration' do
64
66
  expect(TestEnumeration.length).to eq(3)
65
67
  end
66
68
  end
67
69
 
68
- describe ".each_translation" do
70
+ describe '.each_translation' do
69
71
  it "yields each enumeration's value translation" do
70
72
  translations = []
71
73
  TestEnumeration.each_translation do |translation|
72
74
  translations << translation
73
75
  end
74
- expect(translations).to eq(["Hey, I am 1!", "Hey, I am 2!", "Hey, I am 3!"])
76
+ expect(translations).to eq(['Hey, I am 1!', 'Hey, I am 2!', 'Hey, I am 3!'])
75
77
  end
76
78
  end
77
79
 
78
- describe ".translations" do
79
- it "returns all translations" do
80
- expect(TestEnumeration.translations).to eq(["Hey, I am 1!", "Hey, I am 2!", "Hey, I am 3!"])
80
+ describe '.translations' do
81
+ it 'returns all translations' do
82
+ expect(TestEnumeration.translations).to eq(['Hey, I am 1!', 'Hey, I am 2!', 'Hey, I am 3!'])
81
83
  end
82
84
  end
83
85
 
84
- describe ".each_value" do
86
+ describe '.each_value' do
85
87
  it "yields each enumeration's value" do
86
88
  values = []
87
89
  TestEnumeration.each_value do |value|
@@ -91,151 +93,161 @@ describe EnumerateIt::Base do
91
93
  end
92
94
  end
93
95
 
94
- describe ".to_a" do
95
- it "returns an array with the values and human representations" do
96
- expect(TestEnumeration.to_a).to eq([['Hey, I am 1!', '1'], ['Hey, I am 2!', '2'], ['Hey, I am 3!', '3']])
96
+ describe '.to_a' do
97
+ it 'returns an array with the values and human representations' do
98
+ expect(TestEnumeration.to_a)
99
+ .to eq([['Hey, I am 1!', '1'], ['Hey, I am 2!', '2'], ['Hey, I am 3!', '3']])
97
100
  end
98
101
 
99
- it "translates the available values" do
102
+ it 'translates the available values' do
100
103
  I18n.locale = :en
101
104
  expect(TestEnumerationWithoutArray.to_a).to eq([['First Value', '1'], ['Value Two', '2']])
102
105
  I18n.locale = :pt
103
106
  expect(TestEnumerationWithoutArray.to_a).to eq([['Primeiro Valor', '1'], ['Value Two', '2']])
104
107
  end
105
108
 
106
- it "can be extended from the enumeration class" do
107
- expect(TestEnumerationWithExtendedBehaviour.to_a).to eq([['Second', '2'],['First','1']])
109
+ it 'can be extended from the enumeration class' do
110
+ expect(TestEnumerationWithExtendedBehaviour.to_a).to eq([%w(Second 2), %w(First 1)])
108
111
  end
109
112
  end
110
113
 
111
- describe ".to_json" do
112
- it "gives a valid json back" do
114
+ describe '.to_json' do
115
+ it 'gives a valid json back' do
113
116
  I18n.locale = :inexsistent
114
- expect(TestEnumerationWithoutArray.to_json).to eq('[{"value":"1","label":"Value One"},{"value":"2","label":"Value Two"}]')
117
+ expect(TestEnumerationWithoutArray.to_json)
118
+ .to eq('[{"value":"1","label":"Value One"},{"value":"2","label":"Value Two"}]')
115
119
  end
116
120
 
117
- it "give translated values when available" do
121
+ it 'give translated values when available' do
118
122
  I18n.locale = :pt
119
- expect(TestEnumerationWithoutArray.to_json).to eq('[{"value":"1","label":"Primeiro Valor"},{"value":"2","label":"Value Two"}]')
123
+ expect(TestEnumerationWithoutArray.to_json)
124
+ .to eq('[{"value":"1","label":"Primeiro Valor"},{"value":"2","label":"Value Two"}]')
120
125
  end
121
126
  end
122
127
 
123
- describe ".t" do
124
- it "translates a given value" do
128
+ describe '.t' do
129
+ it 'translates a given value' do
125
130
  I18n.locale = :pt
126
131
  expect(TestEnumerationWithoutArray.t('1')).to eq('Primeiro Valor')
127
132
  end
128
133
  end
129
134
 
130
- describe ".to_range" do
135
+ describe '.to_range' do
131
136
  it "returns a Range object containing the enumeration's value interval" do
132
- expect(TestEnumeration.to_range).to eq("1".."3")
137
+ expect(TestEnumeration.to_range).to eq('1'..'3')
133
138
  end
134
139
  end
135
140
 
136
- describe ".values_for" do
137
- it "returns an array with the corresponding values for a string array representing some of the enumeration's values" do
138
- expect(TestEnumeration.values_for(%w(VALUE_1 VALUE_2))).to eq([TestEnumeration::VALUE_1, TestEnumeration::VALUE_2])
141
+ describe '.values_for' do
142
+ it "returns an array representing some of the enumeration's values" do
143
+ expect(TestEnumeration.values_for(%w(VALUE_1 VALUE_2)))
144
+ .to eq([TestEnumeration::VALUE_1, TestEnumeration::VALUE_2])
139
145
  end
140
146
 
141
- it "returns a nil value if the a constant named after one of the given strings cannot be found" do
142
- expect(TestEnumeration.values_for(%w(VALUE_1 THIS_IS_WRONG))).to eq([TestEnumeration::VALUE_1, nil])
147
+ it 'returns nil if the a constant named after one of the given strings cannot be found' do
148
+ expect(TestEnumeration.values_for(%w(VALUE_1 THIS_IS_WRONG)))
149
+ .to eq([TestEnumeration::VALUE_1, nil])
143
150
  end
144
151
  end
145
152
 
146
- describe ".value_for" do
153
+ describe '.value_for' do
147
154
  it "returns the enumeration's value" do
148
- expect(TestEnumeration.value_for("VALUE_1")).to eq(TestEnumeration::VALUE_1)
155
+ expect(TestEnumeration.value_for('VALUE_1')).to eq(TestEnumeration::VALUE_1)
149
156
  end
150
157
 
151
- context "when a constant named after the received value cannot be found" do
152
- it "returns nil" do
153
- expect(TestEnumeration.value_for("THIS_IS_WRONG")).to be_nil
158
+ context 'when a constant named after the received value cannot be found' do
159
+ it 'returns nil' do
160
+ expect(TestEnumeration.value_for('THIS_IS_WRONG')).to be_nil
154
161
  end
155
162
  end
156
163
  end
157
164
 
158
- describe ".value_from_key" do
159
- it "returns the correct value when the key is a string" do
160
- expect(TestEnumeration.value_from_key("value_1")).to eq(TestEnumeration::VALUE_1)
165
+ describe '.value_from_key' do
166
+ it 'returns the correct value when the key is a string' do
167
+ expect(TestEnumeration.value_from_key('value_1')).to eq(TestEnumeration::VALUE_1)
161
168
  end
162
169
 
163
- it "returns the correct value when the key is a symbol" do
170
+ it 'returns the correct value when the key is a symbol' do
164
171
  expect(TestEnumeration.value_from_key(:value_1)).to eq(TestEnumeration::VALUE_1)
165
172
  end
166
173
 
167
- it "returns nil when the key does not exist in the enumeration" do
168
- expect(TestEnumeration.value_from_key("wrong")).to be_nil
174
+ it 'returns nil when the key does not exist in the enumeration' do
175
+ expect(TestEnumeration.value_from_key('wrong')).to be_nil
169
176
  end
170
177
 
171
- it "returns nil when the given value is nil" do
178
+ it 'returns nil when the given value is nil' do
172
179
  expect(TestEnumeration.value_from_key(nil)).to be_nil
173
180
  end
174
181
  end
175
182
 
176
- describe ".keys" do
177
- it "returns a list with the keys used to define the enumeration" do
183
+ describe '.keys' do
184
+ it 'returns a list with the keys used to define the enumeration' do
178
185
  expect(TestEnumeration.keys).to eq([:value_1, :value_2, :value_3])
179
186
  end
180
187
  end
181
188
 
182
- describe ".key_for" do
183
- it "returns the key for the given value inside the enumeration" do
189
+ describe '.key_for' do
190
+ it 'returns the key for the given value inside the enumeration' do
184
191
  expect(TestEnumeration.key_for(TestEnumeration::VALUE_1)).to eq(:value_1)
185
192
  end
186
193
 
187
- it "returns nil if the enumeration does not have the given value" do
188
- expect(TestEnumeration.key_for("foo")).to be_nil
194
+ it 'returns nil if the enumeration does not have the given value' do
195
+ expect(TestEnumeration.key_for('foo')).to be_nil
189
196
  end
190
197
  end
191
198
 
192
199
  context 'associate values with a list' do
193
- it "creates constants for each enumeration value" do
194
- expect(TestEnumerationWithList::FIRST).to eq("first")
195
- expect(TestEnumerationWithList::SECOND).to eq("second")
200
+ it 'creates constants for each enumeration value' do
201
+ expect(TestEnumerationWithList::FIRST).to eq('first')
202
+ expect(TestEnumerationWithList::SECOND).to eq('second')
196
203
  end
197
204
 
198
- it "returns an array with the values and human representations" do
199
- expect(TestEnumerationWithList.to_a).to eq([['First', 'first'], ['Second', 'second']])
205
+ it 'returns an array with the values and human representations' do
206
+ expect(TestEnumerationWithList.to_a).to eq([%w(First first), %w(Second second)])
200
207
  end
201
208
  end
202
209
 
203
- context "specifying a default sort mode" do
210
+ context 'specifying a default sort mode' do
204
211
  subject { create_enumeration_class_with_sort_mode(sort_mode).to_a }
205
212
 
206
- context "by value" do
213
+ context 'by value' do
207
214
  let(:sort_mode) { :value }
208
215
 
209
- it { is_expected.to eq([["jkl", "0"], ["xyz", "1"], ["fgh", "2"], ["abc", "3"]]) }
216
+ it { is_expected.to eq([%w(jkl 0), %w(xyz 1), %w(fgh 2), %w(abc 3)]) }
210
217
  end
211
218
 
212
- context "by name" do
219
+ context 'by name' do
213
220
  let(:sort_mode) { :name }
214
221
 
215
- it { is_expected.to eq([["fgh", "2"], ["xyz", "1"], ["abc", "3"], ["jkl", "0"]]) }
222
+ it { is_expected.to eq([%w(fgh 2), %w(xyz 1), %w(abc 3), %w(jkl 0)]) }
216
223
  end
217
224
 
218
- context "by translation" do
225
+ context 'by translation' do
219
226
  let(:sort_mode) { :translation }
220
227
 
221
- it { is_expected.to eq([["abc", "3"] ,["fgh", "2"], ["jkl", "0"], ["xyz", "1"]]) }
228
+ it { is_expected.to eq([%w(abc 3), %w(fgh 2), %w(jkl 0), %w(xyz 1)]) }
222
229
  end
223
230
 
224
- context "by nothing" do
231
+ context 'by nothing' do
225
232
  let(:sort_mode) { :none }
226
233
 
227
- it { is_expected.to eq([["xyz", "1"], ["fgh", "2"], ["abc", "3"], ["jkl", "0"] ]) }
234
+ it { is_expected.to eq([%w(xyz 1), %w(fgh 2), %w(abc 3), %w(jkl 0)]) }
228
235
  end
229
236
  end
230
237
 
231
- context "when included in ActiveRecord::Base" do
238
+ context 'when included in ActiveRecord::Base' do
232
239
  before do
233
240
  class ActiveRecordStub
234
241
  attr_accessor :bla
235
242
 
236
243
  class << self
237
- def validates_inclusion_of(options); true; end
238
- def validates_presence_of; true; end
244
+ def validates_inclusion_of(_)
245
+ true
246
+ end
247
+
248
+ def validates_presence_of
249
+ true
250
+ end
239
251
  end
240
252
  end
241
253
 
@@ -243,50 +255,52 @@ describe EnumerateIt::Base do
243
255
  ActiveRecordStub.extend EnumerateIt
244
256
  end
245
257
 
246
- it "creates a validation for inclusion" do
247
- expect(ActiveRecordStub).to receive(:validates_inclusion_of).with(:bla, in: TestEnumeration.list, allow_blank: true)
258
+ it 'creates a validation for inclusion' do
259
+ expect(ActiveRecordStub)
260
+ .to receive(:validates_inclusion_of).with(:bla, in: TestEnumeration.list, allow_blank: true)
261
+
248
262
  class ActiveRecordStub
249
263
  has_enumeration_for :bla, with: TestEnumeration
250
264
  end
251
265
  end
252
266
 
253
- context "using the :required option" do
267
+ context 'using the :required option' do
254
268
  before do
255
269
  allow(ActiveRecordStub).to receive(:validates_presence_of).and_return(true)
256
270
  end
257
271
 
258
- it "creates a validation for presence" do
272
+ it 'creates a validation for presence' do
259
273
  expect(ActiveRecordStub).to receive(:validates_presence_of)
260
274
  class ActiveRecordStub
261
275
  has_enumeration_for :bla, with: TestEnumeration, required: true
262
276
  end
263
277
  end
264
278
 
265
- it "passes the given options to the validation method" do
279
+ it 'passes the given options to the validation method' do
266
280
  expect(ActiveRecordStub).to receive(:validates_presence_of).with(:bla, if: :some_method)
267
281
  class ActiveRecordStub
268
282
  has_enumeration_for :bla, with: TestEnumeration, required: { if: :some_method }
269
283
  end
270
284
  end
271
285
 
272
- it "do not require the attribute by default" do
273
- expect(ActiveRecordStub).to_not receive(:validates_presence_of)
286
+ it 'do not require the attribute by default' do
287
+ expect(ActiveRecordStub).not_to receive(:validates_presence_of)
274
288
  class ActiveRecordStub
275
289
  has_enumeration_for :bla, with: TestEnumeration
276
290
  end
277
291
  end
278
292
  end
279
293
 
280
- context "using :skip_validation option" do
294
+ context 'using :skip_validation option' do
281
295
  it "doesn't create a validation for inclusion" do
282
- expect(ActiveRecordStub).to_not receive(:validates_inclusion_of)
296
+ expect(ActiveRecordStub).not_to receive(:validates_inclusion_of)
283
297
  class ActiveRecordStub
284
298
  has_enumeration_for :bla, with: TestEnumeration, skip_validation: true
285
299
  end
286
300
  end
287
301
 
288
302
  it "doesn't create a validation for presence" do
289
- expect(ActiveRecordStub).to_not receive(:validates_presence_of)
303
+ expect(ActiveRecordStub).not_to receive(:validates_presence_of)
290
304
  class ActiveRecordStub
291
305
  has_enumeration_for :bla, with: TestEnumeration, require: true, skip_validation: true
292
306
  end