parameters 0.1.5 → 0.1.6
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/History.txt +7 -0
- data/Manifest.txt +3 -2
- data/README.txt +1 -0
- data/lib/parameters/parameters.rb +11 -1
- data/lib/parameters/version.rb +1 -1
- data/spec/{helpers → classes}/inherited_parameters.rb +1 -1
- data/spec/classes/other_parameters.rb +10 -0
- data/spec/{helpers → classes}/test_parameters.rb +0 -0
- data/spec/parameters_spec.rb +20 -13
- metadata +5 -4
data/History.txt
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
=== 0.1.6 / 2009-05-11
|
2
|
+
|
3
|
+
* Fixed a bug in Parameters.params= and Parameters#params=, where they
|
4
|
+
were not handling Parameters::ClassParam or Parameters::InstanceParam
|
5
|
+
objects properly.
|
6
|
+
* Added more specs.
|
7
|
+
|
1
8
|
=== 0.1.5 / 2009-05-06
|
2
9
|
|
3
10
|
* Added Parameters::Parser for parsing parameter values passed in from
|
data/Manifest.txt
CHANGED
@@ -17,7 +17,8 @@ lib/parameters/parameters.rb
|
|
17
17
|
lib/parameters/version.rb
|
18
18
|
tasks/spec.rb
|
19
19
|
spec/spec_helper.rb
|
20
|
-
spec/
|
21
|
-
spec/
|
20
|
+
spec/classes/test_parameters.rb
|
21
|
+
spec/classes/inherited_parameters.rb
|
22
|
+
spec/classes/other_parameters.rb
|
22
23
|
spec/parser_spec.rb
|
23
24
|
spec/parameters_spec.rb
|
data/README.txt
CHANGED
@@ -24,6 +24,10 @@ module Parameters
|
|
24
24
|
def params=(values)
|
25
25
|
values.each do |name,value|
|
26
26
|
if has_param?(name)
|
27
|
+
if (value.kind_of?(Parameters::ClassParam) || value.kind_of?(Parameters::InstanceParam))
|
28
|
+
value = value.value
|
29
|
+
end
|
30
|
+
|
27
31
|
get_param(name).value = value
|
28
32
|
end
|
29
33
|
end
|
@@ -238,8 +242,14 @@ module Parameters
|
|
238
242
|
#
|
239
243
|
def params=(values)
|
240
244
|
values.each do |name,value|
|
245
|
+
name = name.to_sym
|
246
|
+
|
241
247
|
if has_param?(name)
|
242
|
-
|
248
|
+
if (value.kind_of?(Parameters::ClassParam) || value.kind_of?(Parameters::InstanceParam))
|
249
|
+
value = value.value
|
250
|
+
end
|
251
|
+
|
252
|
+
self.params[name].value = value
|
243
253
|
end
|
244
254
|
end
|
245
255
|
end
|
data/lib/parameters/version.rb
CHANGED
File without changes
|
data/spec/parameters_spec.rb
CHANGED
@@ -2,8 +2,9 @@ require 'parameters/parameters'
|
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
require '
|
6
|
-
require '
|
5
|
+
require 'classes/test_parameters'
|
6
|
+
require 'classes/inherited_parameters'
|
7
|
+
require 'classes/other_parameters'
|
7
8
|
|
8
9
|
describe Parameters do
|
9
10
|
describe "in a Class" do
|
@@ -49,7 +50,7 @@ describe Parameters do
|
|
49
50
|
end
|
50
51
|
|
51
52
|
describe "in an Object" do
|
52
|
-
before(:
|
53
|
+
before(:each) do
|
53
54
|
@test = TestParameters.new
|
54
55
|
@test_inherited = InheritedParameters.new
|
55
56
|
end
|
@@ -59,14 +60,6 @@ describe Parameters do
|
|
59
60
|
@test.params[:var_with_default].should_not be_nil
|
60
61
|
end
|
61
62
|
|
62
|
-
it "should allow for mass assignment of parameters" do
|
63
|
-
test2 = TestParameters.new
|
64
|
-
test2.params = {:var => 5, :var_with_default => 'hello'}
|
65
|
-
|
66
|
-
test2.var.should == 5
|
67
|
-
test2.var_with_default.should == 'hello'
|
68
|
-
end
|
69
|
-
|
70
63
|
it "can have default values for parameters" do
|
71
64
|
@test.param_value(:var_with_default).should == 'thing'
|
72
65
|
end
|
@@ -84,10 +77,9 @@ describe Parameters do
|
|
84
77
|
end
|
85
78
|
|
86
79
|
it "should allow using lambdas for the default values of parameters" do
|
87
|
-
test1 = TestParameters.new
|
88
80
|
test2 = TestParameters.new
|
89
81
|
|
90
|
-
|
82
|
+
@test.var_with_lambda.should_not == test2.var_with_lambda
|
91
83
|
end
|
92
84
|
|
93
85
|
it "should contain the parameters from all ancestors" do
|
@@ -113,6 +105,21 @@ describe Parameters do
|
|
113
105
|
@test.param_value(:var_with_default).should == 7
|
114
106
|
end
|
115
107
|
|
108
|
+
it "should allow for setting parameters en-mass from another object" do
|
109
|
+
obj = TestParameters.new(:var => 5, :var_with_default => 'hello')
|
110
|
+
@test.params = obj.params
|
111
|
+
|
112
|
+
@test.var.should == 5
|
113
|
+
@test.var_with_default.should == 'hello'
|
114
|
+
end
|
115
|
+
|
116
|
+
it "should allow for setting parameters en-mass from another class" do
|
117
|
+
@test.params = OtherParameters.params
|
118
|
+
|
119
|
+
@test.var.should be_nil
|
120
|
+
@test.var_with_default.should == 'other'
|
121
|
+
end
|
122
|
+
|
116
123
|
it "should provide descriptions for parameters" do
|
117
124
|
@test.describe_param(:var).should_not be_empty
|
118
125
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: parameters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Postmodern
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-05-
|
12
|
+
date: 2009-05-11 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -53,8 +53,9 @@ files:
|
|
53
53
|
- lib/parameters/version.rb
|
54
54
|
- tasks/spec.rb
|
55
55
|
- spec/spec_helper.rb
|
56
|
-
- spec/
|
57
|
-
- spec/
|
56
|
+
- spec/classes/test_parameters.rb
|
57
|
+
- spec/classes/inherited_parameters.rb
|
58
|
+
- spec/classes/other_parameters.rb
|
58
59
|
- spec/parser_spec.rb
|
59
60
|
- spec/parameters_spec.rb
|
60
61
|
has_rdoc: true
|