virtus 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,4 @@
1
+ require 'set'
1
2
  require 'date'
2
3
  require 'time'
3
4
  require 'bigdecimal'
@@ -29,8 +29,7 @@ module Virtus
29
29
  #
30
30
  # @api private
31
31
  def initialize(attribute, value)
32
- @attribute = attribute
33
- @value = case value when *DUP_CLASSES then value else value.dup end
32
+ @attribute, @value = attribute, value
34
33
  end
35
34
 
36
35
  # Evaluates the value
@@ -41,7 +40,13 @@ module Virtus
41
40
  #
42
41
  # @api private
43
42
  def evaluate(instance)
44
- callable? ? call(instance) : value
43
+ if callable?
44
+ call(instance)
45
+ elsif duplicable?
46
+ value.dup
47
+ else
48
+ value
49
+ end
45
50
  end
46
51
 
47
52
  private
@@ -66,6 +71,15 @@ module Virtus
66
71
  value.respond_to?(:call)
67
72
  end
68
73
 
74
+ # Returns whether or not the value is duplicable
75
+ #
76
+ # # return [TrueClass, FalseClass]
77
+ #
78
+ # @api private
79
+ def duplicable?
80
+ DUP_CLASSES.none? { |klass| value.kind_of?(klass) }
81
+ end
82
+
69
83
  end # class DefaultValue
70
84
  end # class Attribute
71
85
  end # module Virtus
@@ -99,9 +99,12 @@ module Virtus
99
99
  #
100
100
  # @api private
101
101
  def virtus_define_attribute_methods(attribute)
102
- attribute.define_reader_method(self)
103
- attribute.define_writer_method(self)
104
- include self::AttributeMethods
102
+ module_with_methods = self::AttributeMethods
103
+
104
+ attribute.define_reader_method(module_with_methods)
105
+ attribute.define_writer_method(module_with_methods)
106
+
107
+ include module_with_methods
105
108
  end
106
109
 
107
110
  # Add the attribute to the class' and descendants' attributes
@@ -65,12 +65,11 @@ module Virtus
65
65
  # @api private
66
66
  def determine_type_from_primitive(primitive)
67
67
  type = nil
68
-
69
68
  descendants.reverse_each do |descendant|
70
- next unless primitive <= descendant.primitive
71
- type = descendant if type.nil? || type.primitive > descendant.primitive
69
+ descendant_primitive = descendant.primitive
70
+ next unless primitive <= descendant_primitive
71
+ type = descendant if type.nil? || type.primitive > descendant_primitive
72
72
  end
73
-
74
73
  type
75
74
  end
76
75
 
@@ -0,0 +1,3 @@
1
+ module Virtus
2
+ VERSION = '0.0.10'
3
+ end
@@ -5,18 +5,15 @@ describe Virtus::Attribute::DefaultValue, '.new' do
5
5
 
6
6
  let(:attribute) { Virtus::Attribute::String.new(:attribute) }
7
7
 
8
- context 'with a value that can be duped' do
8
+ context 'with a duplicable value' do
9
9
  let(:value) { 'something' }
10
-
11
- its(:value) { should eql(value) }
12
- its(:value) { should_not equal(value) }
10
+ its(:value) { should equal(value) }
13
11
  end
14
12
 
15
- context 'with a value that cannot be duped' do
13
+ context 'with a non-duplicable value' do
16
14
  [ nil, true, false, 1, :symbol ].each do |value|
17
15
  context "with #{value.inspect}" do
18
16
  let(:value) { value }
19
-
20
17
  its(:value) { should equal(value) }
21
18
  end
22
19
  end
@@ -8,8 +8,16 @@ describe Virtus::Attribute::DefaultValue, '#evaluate' do
8
8
  let(:instance) { Class.new }
9
9
 
10
10
  context 'with a non-callable value' do
11
- let(:value) { 'something' }
12
- it { should eql(value) }
11
+ context 'with a non-duplicable value' do
12
+ let(:value) { nil }
13
+ it { should eql(value) }
14
+ end
15
+
16
+ context 'with a duplicable value' do
17
+ let(:value) { 'something' }
18
+ it { should eql(value) }
19
+ it { should_not equal(value)}
20
+ end
13
21
  end
14
22
 
15
23
  context 'with a callable value' do
@@ -1,7 +1,6 @@
1
- desc 'Run metrics with Heckle'
2
- task :ci => [ 'ci:metrics', :heckle ]
1
+ task :ci => %w[ ci:metrics ]
3
2
 
4
3
  namespace :ci do
5
4
  desc 'Run metrics'
6
- task :metrics => [ :verify_measurements, :flog, :flay, :reek, :roodi, 'metrics:all' ]
5
+ task :metrics => %w[ verify_measurements flog flay reek roodi metrics:all ]
7
6
  end
@@ -1,7 +1,22 @@
1
1
  begin
2
2
  require 'rspec/core/rake_task'
3
3
 
4
- RSpec::Core::RakeTask.new(:spec)
4
+ desc 'run all specs'
5
+ task :spec => ['spec:unit', 'spec:integration', 'spec:examples']
6
+
7
+ namespace :spec do
8
+ RSpec::Core::RakeTask.new(:examples) do |t|
9
+ t.pattern = 'examples/**/*_spec.rb'
10
+ end
11
+
12
+ RSpec::Core::RakeTask.new(:integration) do |t|
13
+ t.pattern = 'spec/integration/**/*_spec.rb'
14
+ end
15
+
16
+ RSpec::Core::RakeTask.new(:unit) do |t|
17
+ t.pattern = 'spec/unit/**/*_spec.rb'
18
+ end
19
+ end
5
20
  rescue LoadError
6
21
  task :spec do
7
22
  abort 'rspec is not available. In order to run spec, you must: gem install rspec'
@@ -15,12 +30,9 @@ begin
15
30
  t.rcov_opts = File.read('spec/rcov.opts').split(/\s+/)
16
31
  end
17
32
  rescue LoadError
18
- %w[ rcov verify_rcov ].each do |name|
19
- task name do
20
- abort "rcov is not available. In order to run #{name}, you must: gem install rcov"
21
- end
33
+ task :rcov do
34
+ abort 'rcov is not available. In order to run rcov, you must: gem install rcov'
22
35
  end
23
36
  end
24
37
 
25
- task :test => :spec
26
- task :default => :spec
38
+ task :test => 'spec'
@@ -1,192 +1,23 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
5
2
 
6
- Gem::Specification.new do |s|
7
- s.name = "virtus"
8
- s.version = "0.0.9"
3
+ require File.expand_path('../lib/virtus/version', __FILE__)
9
4
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Piotr Solnica"]
12
- s.date = "2011-10-11"
13
- s.description = "Attributes for your plain ruby objects"
14
- s.email = ["piotr@rubyverse.com"]
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.md",
18
- "TODO"
19
- ]
20
- s.files = [
21
- ".rvmrc",
22
- ".travis.yml",
23
- ".yardopts",
24
- "Gemfile",
25
- "History.md",
26
- "LICENSE",
27
- "README.md",
28
- "Rakefile",
29
- "TODO",
30
- "VERSION",
31
- "config/flay.yml",
32
- "config/flog.yml",
33
- "config/roodi.yml",
34
- "config/site.reek",
35
- "config/yardstick.yml",
36
- "examples/custom_coercion_spec.rb",
37
- "examples/default_values_spec.rb",
38
- "lib/virtus.rb",
39
- "lib/virtus/attribute.rb",
40
- "lib/virtus/attribute/array.rb",
41
- "lib/virtus/attribute/boolean.rb",
42
- "lib/virtus/attribute/class.rb",
43
- "lib/virtus/attribute/date.rb",
44
- "lib/virtus/attribute/date_time.rb",
45
- "lib/virtus/attribute/decimal.rb",
46
- "lib/virtus/attribute/default_value.rb",
47
- "lib/virtus/attribute/float.rb",
48
- "lib/virtus/attribute/hash.rb",
49
- "lib/virtus/attribute/integer.rb",
50
- "lib/virtus/attribute/numeric.rb",
51
- "lib/virtus/attribute/object.rb",
52
- "lib/virtus/attribute/string.rb",
53
- "lib/virtus/attribute/time.rb",
54
- "lib/virtus/attribute_set.rb",
55
- "lib/virtus/class_methods.rb",
56
- "lib/virtus/coercion.rb",
57
- "lib/virtus/coercion/date.rb",
58
- "lib/virtus/coercion/date_time.rb",
59
- "lib/virtus/coercion/decimal.rb",
60
- "lib/virtus/coercion/false_class.rb",
61
- "lib/virtus/coercion/float.rb",
62
- "lib/virtus/coercion/hash.rb",
63
- "lib/virtus/coercion/integer.rb",
64
- "lib/virtus/coercion/numeric.rb",
65
- "lib/virtus/coercion/object.rb",
66
- "lib/virtus/coercion/string.rb",
67
- "lib/virtus/coercion/symbol.rb",
68
- "lib/virtus/coercion/time.rb",
69
- "lib/virtus/coercion/time_coercions.rb",
70
- "lib/virtus/coercion/true_class.rb",
71
- "lib/virtus/instance_methods.rb",
72
- "lib/virtus/support/descendants_tracker.rb",
73
- "lib/virtus/support/options.rb",
74
- "lib/virtus/support/type_lookup.rb",
75
- "spec/integration/virtus/attributes/attribute/set_spec.rb",
76
- "spec/integration/virtus/class_methods/attribute_spec.rb",
77
- "spec/integration/virtus/class_methods/attributes_spec.rb",
78
- "spec/integration/virtus/class_methods/const_missing_spec.rb",
79
- "spec/rcov.opts",
80
- "spec/shared/idempotent_method_behaviour.rb",
81
- "spec/spec_helper.rb",
82
- "spec/unit/shared/attribute.rb",
83
- "spec/unit/shared/attribute/accept_options.rb",
84
- "spec/unit/shared/attribute/accepted_options.rb",
85
- "spec/unit/shared/attribute/get.rb",
86
- "spec/unit/shared/attribute/inspect.rb",
87
- "spec/unit/shared/attribute/set.rb",
88
- "spec/unit/virtus/attribute/array_spec.rb",
89
- "spec/unit/virtus/attribute/boolean_spec.rb",
90
- "spec/unit/virtus/attribute/class_methods/determine_type_spec.rb",
91
- "spec/unit/virtus/attribute/class_spec.rb",
92
- "spec/unit/virtus/attribute/date_spec.rb",
93
- "spec/unit/virtus/attribute/date_time_spec.rb",
94
- "spec/unit/virtus/attribute/decimal_spec.rb",
95
- "spec/unit/virtus/attribute/default_value/class_methods/new_spec.rb",
96
- "spec/unit/virtus/attribute/default_value/instance_methods/evaluate_spec.rb",
97
- "spec/unit/virtus/attribute/float_spec.rb",
98
- "spec/unit/virtus/attribute/hash_spec.rb",
99
- "spec/unit/virtus/attribute/integer_spec.rb",
100
- "spec/unit/virtus/attribute/numeric/class_methods/descendants_spec.rb",
101
- "spec/unit/virtus/attribute/object/class_methods/descendants_spec.rb",
102
- "spec/unit/virtus/attribute/string_spec.rb",
103
- "spec/unit/virtus/attribute/time_spec.rb",
104
- "spec/unit/virtus/attribute_set/append_spec.rb",
105
- "spec/unit/virtus/attribute_set/each_spec.rb",
106
- "spec/unit/virtus/attribute_set/element_reference_spec.rb",
107
- "spec/unit/virtus/attribute_set/element_set_spec.rb",
108
- "spec/unit/virtus/attribute_set/merge_spec.rb",
109
- "spec/unit/virtus/attribute_set/parent_spec.rb",
110
- "spec/unit/virtus/attribute_set/reset_spec.rb",
111
- "spec/unit/virtus/class_methods/attribute_spec.rb",
112
- "spec/unit/virtus/class_methods/attributes_spec.rb",
113
- "spec/unit/virtus/class_methods/new_spec.rb",
114
- "spec/unit/virtus/coercion/class_name_reference_spec.rb",
115
- "spec/unit/virtus/coercion/date/class_methods/to_datetime_spec.rb",
116
- "spec/unit/virtus/coercion/date/class_methods/to_string_spec.rb",
117
- "spec/unit/virtus/coercion/date/class_methods/to_time_spec.rb",
118
- "spec/unit/virtus/coercion/date_time/class_methods/to_date_spec.rb",
119
- "spec/unit/virtus/coercion/date_time/class_methods/to_string_spec.rb",
120
- "spec/unit/virtus/coercion/date_time/class_methods/to_time_spec.rb",
121
- "spec/unit/virtus/coercion/decimal/class_methods/to_float_spec.rb",
122
- "spec/unit/virtus/coercion/decimal/class_methods/to_integer_spec.rb",
123
- "spec/unit/virtus/coercion/decimal/class_methods/to_string_spec.rb",
124
- "spec/unit/virtus/coercion/false_class/class_methods/to_string_spec.rb",
125
- "spec/unit/virtus/coercion/float/class_methods/to_decimal_spec.rb",
126
- "spec/unit/virtus/coercion/float/class_methods/to_integer_spec.rb",
127
- "spec/unit/virtus/coercion/float/class_methods/to_string_spec.rb",
128
- "spec/unit/virtus/coercion/hash/class_methods/to_array_spec.rb",
129
- "spec/unit/virtus/coercion/hash/class_methods/to_date_spec.rb",
130
- "spec/unit/virtus/coercion/hash/class_methods/to_datetime_spec.rb",
131
- "spec/unit/virtus/coercion/hash/class_methods/to_time_spec.rb",
132
- "spec/unit/virtus/coercion/integer/class_methods/to_boolean_spec.rb",
133
- "spec/unit/virtus/coercion/integer/class_methods/to_decimal_spec.rb",
134
- "spec/unit/virtus/coercion/integer/class_methods/to_float_spec.rb",
135
- "spec/unit/virtus/coercion/integer/class_methods/to_string_spec.rb",
136
- "spec/unit/virtus/coercion/object/class_methods/method_missing_spec.rb",
137
- "spec/unit/virtus/coercion/string/class_methods/to_boolean_spec.rb",
138
- "spec/unit/virtus/coercion/string/class_methods/to_constant_spec.rb",
139
- "spec/unit/virtus/coercion/string/class_methods/to_date_spec.rb",
140
- "spec/unit/virtus/coercion/string/class_methods/to_datetime_spec.rb",
141
- "spec/unit/virtus/coercion/string/class_methods/to_decimal_spec.rb",
142
- "spec/unit/virtus/coercion/string/class_methods/to_float_spec.rb",
143
- "spec/unit/virtus/coercion/string/class_methods/to_integer_spec.rb",
144
- "spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb",
145
- "spec/unit/virtus/coercion/symbol/class_methods/to_string_spec.rb",
146
- "spec/unit/virtus/coercion/true_class/class_methods/to_string_spec.rb",
147
- "spec/unit/virtus/descendants_tracker/add_descendant_spec.rb",
148
- "spec/unit/virtus/descendants_tracker/descendants_spec.rb",
149
- "spec/unit/virtus/instance_methods/attributes_spec.rb",
150
- "spec/unit/virtus/instance_methods/element_reference_spec.rb",
151
- "spec/unit/virtus/instance_methods/element_set_spec.rb",
152
- "spec/unit/virtus/options/accept_options_spec.rb",
153
- "spec/unit/virtus/options/accepted_options_spec.rb",
154
- "spec/unit/virtus/options/options_spec.rb",
155
- "spec/unit/virtus/type_lookup/determine_type_spec.rb",
156
- "spec/unit/virtus/type_lookup/primitive_spec.rb",
157
- "tasks/metrics/ci.rake",
158
- "tasks/metrics/flay.rake",
159
- "tasks/metrics/flog.rake",
160
- "tasks/metrics/heckle.rake",
161
- "tasks/metrics/metric_fu.rake",
162
- "tasks/metrics/reek.rake",
163
- "tasks/metrics/roodi.rake",
164
- "tasks/metrics/yardstick.rake",
165
- "tasks/spec.rake",
166
- "tasks/yard.rake",
167
- "virtus.gemspec"
168
- ]
169
- s.homepage = "https://github.com/solnic/virtus"
170
- s.require_paths = ["lib"]
171
- s.rubygems_version = "1.8.11"
172
- s.summary = "Attributes for your plain ruby objects"
5
+ Gem::Specification.new do |gem|
6
+ gem.name = "virtus"
7
+ gem.version = Virtus::VERSION
8
+ gem.date = "2011-11-21"
9
+ gem.authors = [ "Piotr Solnica" ]
10
+ gem.email = [ "piotr.solnica@gmail.com" ]
11
+ gem.description = "Attributes on Steroids for Plain Old Ruby Objects"
12
+ gem.summary = gem.description
13
+ gem.homepage = "https://github.com/solnic/virtus"
173
14
 
174
- if s.respond_to? :specification_version then
175
- s.specification_version = 3
15
+ gem.require_paths = [ "lib" ]
16
+ gem.files = `git ls-files`.split("\n")
17
+ gem.test_files = `git ls-files -- {spec}/*`.split("\n")
18
+ gem.extra_rdoc_files = %w[LICENSE README.md TODO]
176
19
 
177
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
178
- s.add_development_dependency(%q<backports>, ["~> 2.3.0"])
179
- s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
180
- s.add_development_dependency(%q<rspec>, ["~> 2.6.0"])
181
- else
182
- s.add_dependency(%q<backports>, ["~> 2.3.0"])
183
- s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
184
- s.add_dependency(%q<rspec>, ["~> 2.6.0"])
185
- end
186
- else
187
- s.add_dependency(%q<backports>, ["~> 2.3.0"])
188
- s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
189
- s.add_dependency(%q<rspec>, ["~> 2.6.0"])
190
- end
20
+ gem.add_development_dependency('rake', '~> 0.9.2')
21
+ gem.add_development_dependency('backports', '~> 2.3.0')
22
+ gem.add_development_dependency('rspec', '~> 2.6.0')
191
23
  end
192
-
metadata CHANGED
@@ -1,64 +1,88 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: virtus
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.9
3
+ version: !ruby/object:Gem::Version
4
+ hash: 11
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 10
10
+ version: 0.0.10
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Piotr Solnica
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2011-10-11 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: backports
16
- requirement: &70244296925160 !ruby/object:Gem::Requirement
17
+
18
+ date: 2011-11-21 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rake
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
17
24
  none: false
18
- requirements:
25
+ requirements:
19
26
  - - ~>
20
- - !ruby/object:Gem::Version
21
- version: 2.3.0
27
+ - !ruby/object:Gem::Version
28
+ hash: 63
29
+ segments:
30
+ - 0
31
+ - 9
32
+ - 2
33
+ version: 0.9.2
22
34
  type: :development
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: backports
23
38
  prerelease: false
24
- version_requirements: *70244296925160
25
- - !ruby/object:Gem::Dependency
26
- name: jeweler
27
- requirement: &70244296924200 !ruby/object:Gem::Requirement
39
+ requirement: &id002 !ruby/object:Gem::Requirement
28
40
  none: false
29
- requirements:
41
+ requirements:
30
42
  - - ~>
31
- - !ruby/object:Gem::Version
32
- version: 1.6.4
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 2
47
+ - 3
48
+ - 0
49
+ version: 2.3.0
33
50
  type: :development
34
- prerelease: false
35
- version_requirements: *70244296924200
36
- - !ruby/object:Gem::Dependency
51
+ version_requirements: *id002
52
+ - !ruby/object:Gem::Dependency
37
53
  name: rspec
38
- requirement: &70244296923000 !ruby/object:Gem::Requirement
54
+ prerelease: false
55
+ requirement: &id003 !ruby/object:Gem::Requirement
39
56
  none: false
40
- requirements:
57
+ requirements:
41
58
  - - ~>
42
- - !ruby/object:Gem::Version
59
+ - !ruby/object:Gem::Version
60
+ hash: 23
61
+ segments:
62
+ - 2
63
+ - 6
64
+ - 0
43
65
  version: 2.6.0
44
66
  type: :development
45
- prerelease: false
46
- version_requirements: *70244296923000
47
- description: Attributes for your plain ruby objects
48
- email:
49
- - piotr@rubyverse.com
67
+ version_requirements: *id003
68
+ description: Attributes on Steroids for Plain Old Ruby Objects
69
+ email:
70
+ - piotr.solnica@gmail.com
50
71
  executables: []
72
+
51
73
  extensions: []
52
- extra_rdoc_files:
74
+
75
+ extra_rdoc_files:
53
76
  - LICENSE
54
77
  - README.md
55
78
  - TODO
56
- files:
79
+ files:
80
+ - .gitignore
57
81
  - .rvmrc
58
82
  - .travis.yml
59
83
  - .yardopts
84
+ - Changelog.md
60
85
  - Gemfile
61
- - History.md
62
86
  - LICENSE
63
87
  - README.md
64
88
  - Rakefile
@@ -71,6 +95,7 @@ files:
71
95
  - config/yardstick.yml
72
96
  - examples/custom_coercion_spec.rb
73
97
  - examples/default_values_spec.rb
98
+ - examples/override_attribute_methods_spec.rb
74
99
  - lib/virtus.rb
75
100
  - lib/virtus/attribute.rb
76
101
  - lib/virtus/attribute/array.rb
@@ -108,6 +133,7 @@ files:
108
133
  - lib/virtus/support/descendants_tracker.rb
109
134
  - lib/virtus/support/options.rb
110
135
  - lib/virtus/support/type_lookup.rb
136
+ - lib/virtus/version.rb
111
137
  - spec/integration/virtus/attributes/attribute/set_spec.rb
112
138
  - spec/integration/virtus/class_methods/attribute_spec.rb
113
139
  - spec/integration/virtus/class_methods/attributes_spec.rb
@@ -193,7 +219,6 @@ files:
193
219
  - tasks/metrics/ci.rake
194
220
  - tasks/metrics/flay.rake
195
221
  - tasks/metrics/flog.rake
196
- - tasks/metrics/heckle.rake
197
222
  - tasks/metrics/metric_fu.rake
198
223
  - tasks/metrics/reek.rake
199
224
  - tasks/metrics/roodi.rake
@@ -203,29 +228,36 @@ files:
203
228
  - virtus.gemspec
204
229
  homepage: https://github.com/solnic/virtus
205
230
  licenses: []
231
+
206
232
  post_install_message:
207
233
  rdoc_options: []
208
- require_paths:
234
+
235
+ require_paths:
209
236
  - lib
210
- required_ruby_version: !ruby/object:Gem::Requirement
237
+ required_ruby_version: !ruby/object:Gem::Requirement
211
238
  none: false
212
- requirements:
213
- - - ! '>='
214
- - !ruby/object:Gem::Version
215
- version: '0'
216
- segments:
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ hash: 3
243
+ segments:
217
244
  - 0
218
- hash: 4092436988871240492
219
- required_rubygems_version: !ruby/object:Gem::Requirement
245
+ version: "0"
246
+ required_rubygems_version: !ruby/object:Gem::Requirement
220
247
  none: false
221
- requirements:
222
- - - ! '>='
223
- - !ruby/object:Gem::Version
224
- version: '0'
248
+ requirements:
249
+ - - ">="
250
+ - !ruby/object:Gem::Version
251
+ hash: 3
252
+ segments:
253
+ - 0
254
+ version: "0"
225
255
  requirements: []
256
+
226
257
  rubyforge_project:
227
258
  rubygems_version: 1.8.11
228
259
  signing_key:
229
260
  specification_version: 3
230
- summary: Attributes for your plain ruby objects
261
+ summary: Attributes on Steroids for Plain Old Ruby Objects
231
262
  test_files: []
263
+