enumerate_it 0.7.7 → 0.7.8

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.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- enumerate_it (0.7.6)
4
+ enumerate_it (0.7.7)
5
5
  activesupport (>= 2.3.2)
6
6
 
7
7
  GEM
data/lib/enumerate_it.rb CHANGED
@@ -127,14 +127,14 @@
127
127
  # p.divorced? #=> false
128
128
  #
129
129
  # - If you pass the :create_scopes option as 'true', it will create a scope method for each enumeration option (this option defaults to false):
130
- #
130
+ #
131
131
  # class Person < ActiveRecord::Base
132
132
  # has_enumeration_for :relationship_status, :with => RelationshipStatus, :create_scopes => true
133
133
  # end
134
- #
134
+ #
135
135
  # Person.married.to_sql # => SELECT "people".* FROM "people" WHERE "people"."relationship_status" = 1
136
- #
137
- # NOTE: The :create_scopes option can only be used for Rails.version >= 3.0.0.
136
+ #
137
+ # NOTE: The :create_scopes option can only be used for Rails.version >= 3.0.0.
138
138
  #
139
139
  # - If your class can manage validations and responds to :validates_inclusion_of, it will create this
140
140
  # validation:
@@ -309,7 +309,11 @@ module EnumerateIt
309
309
 
310
310
  def set_validations(attribute, options)
311
311
  validates_inclusion_of(attribute, :in => options[:with].list, :allow_blank => true) if self.respond_to?(:validates_inclusion_of)
312
- validates_presence_of(attribute) if options[:required] and self.respond_to?(:validates_presence_of)
312
+
313
+ if options[:required] && respond_to?(:validates_presence_of)
314
+ opts = options[:required].is_a?(Hash) ? options[:required] : {}
315
+ validates_presence_of(attribute, opts)
316
+ end
313
317
  end
314
318
  end
315
319
 
data/lib/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module EnumerateIt
2
- VERSION = "0.7.7"
2
+ VERSION = "0.7.8"
3
3
  end
4
4
 
@@ -173,7 +173,7 @@ describe EnumerateIt do
173
173
  end
174
174
  end
175
175
 
176
- it "when called, the scopes create the correct query" do
176
+ it "when called, the scopes create the correct query" do
177
177
  TestEnumeration.enumeration do |symbol, pair|
178
178
  TestClass.should_receive(:where).with(:foobar => pair.firs)
179
179
  TestClass.send symbol
@@ -279,6 +279,13 @@ describe EnumerateIt::Base do
279
279
  end
280
280
  end
281
281
 
282
+ it "passes the given options to the validation method" do
283
+ ActiveRecordStub.should_receive(:validates_presence_of).with(:bla, :if => :some_method)
284
+ class ActiveRecordStub
285
+ has_enumeration_for :bla, :with => TestEnumeration, :required => { :if => :some_method }
286
+ end
287
+ end
288
+
282
289
  it "do not require the attribute by default" do
283
290
  ActiveRecordStub.should_not_receive(:validates_presence_of)
284
291
  class ActiveRecordStub
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: enumerate_it
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.7.7
5
+ version: 0.7.8
6
6
  platform: ruby
7
7
  authors:
8
8
  - "C\xC3\xA1ssio Marques"
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-04-29 00:00:00 -03:00
13
+ date: 2011-05-10 00:00:00 -03:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency