acts-as-optionable 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/acts_as_optionable/acts_as_optionable.rb +1 -1
- data/spec/acts_as_optionable_spec.rb +7 -0
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.1
|
@@ -18,7 +18,7 @@ module ActiveRecord
|
|
18
18
|
# Store an option persistently and override default option
|
19
19
|
def set_option(name, value, opts = {})
|
20
20
|
option = get_stored_option(name) || options.build(:name => name.to_s, :value => value, :kind => opts[:kind], :display_name => opts[:display_name])
|
21
|
-
return if new_option_matches_current?(option, value)
|
21
|
+
return if !opts[:force_set] && new_option_matches_current?(option, value)
|
22
22
|
option.value = value
|
23
23
|
ret = option.save!
|
24
24
|
options(:reload)
|
@@ -223,6 +223,13 @@ describe "ActsAsOptionable" do
|
|
223
223
|
@optionable.set_option(:foo, "FOOFOO")
|
224
224
|
}.should_not change { Option.count }
|
225
225
|
end
|
226
|
+
|
227
|
+
it "should set the option if it matches the default but you provide a true force_set option" do
|
228
|
+
@optionable.get_option(:foo).value.should == "FOOFOO"
|
229
|
+
lambda {
|
230
|
+
@optionable.set_option(:foo, "FOOFOO", :force_set => true)
|
231
|
+
}.should change { Option.count }.by(1)
|
232
|
+
end
|
226
233
|
end
|
227
234
|
|
228
235
|
describe "getting options" do
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 4
|
8
|
-
-
|
9
|
-
version: 0.4.
|
8
|
+
- 1
|
9
|
+
version: 0.4.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Brendon Murphy
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-05-05 00:00:00 -07:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|