virtus 0.0.9 → 0.0.10

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,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
+