virtus 0.3.0 → 0.4.0

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.
Files changed (62) hide show
  1. data/Changelog.md +10 -2
  2. data/Guardfile +9 -0
  3. data/README.md +12 -8
  4. data/TODO +0 -35
  5. data/config/flay.yml +1 -1
  6. data/config/site.reek +3 -1
  7. data/lib/virtus.rb +1 -0
  8. data/lib/virtus/attribute.rb +1 -1
  9. data/lib/virtus/attribute/collection.rb +2 -2
  10. data/lib/virtus/attribute/default_value/from_symbol.rb +2 -2
  11. data/lib/virtus/attribute_set.rb +4 -17
  12. data/lib/virtus/attributes_accessor.rb +22 -20
  13. data/lib/virtus/class_methods.rb +1 -1
  14. data/lib/virtus/coercion/hash.rb +1 -1
  15. data/lib/virtus/coercion/object.rb +1 -1
  16. data/lib/virtus/coercion/string.rb +20 -7
  17. data/lib/virtus/coercion/time_coercions.rb +5 -1
  18. data/lib/virtus/instance_methods.rb +8 -8
  19. data/lib/virtus/support/type_lookup.rb +24 -8
  20. data/lib/virtus/value_object/equalizer.rb +3 -2
  21. data/lib/virtus/version.rb +1 -1
  22. data/spec/shared/options_class_method.rb +1 -1
  23. data/spec/spec_helper.rb +1 -1
  24. data/spec/unit/virtus/attribute/class_methods/determine_type_spec.rb +1 -7
  25. data/spec/unit/virtus/attribute/coerce_spec.rb +2 -2
  26. data/spec/unit/virtus/attribute/collection/coerce_and_append_member_spec.rb +16 -0
  27. data/spec/unit/virtus/attribute/collection/coerce_spec.rb +20 -7
  28. data/spec/unit/virtus/attribute/collection/member_coercion/coerce_and_append_member_spec.rb +18 -0
  29. data/spec/unit/virtus/attribute/collection/member_type_spec.rb +17 -0
  30. data/spec/unit/virtus/attribute/collection/new_collection_spec.rb +9 -0
  31. data/spec/unit/virtus/attribute/default_value/class_methods/build_spec.rb +25 -0
  32. data/spec/unit/virtus/attribute/default_value/evaluate_spec.rb +0 -43
  33. data/spec/unit/virtus/attribute/default_value/from_callable/class_methods/handle_spec.rb +20 -0
  34. data/spec/unit/virtus/attribute/default_value/from_callable/evaluate_spec.rb +21 -0
  35. data/spec/unit/virtus/attribute/default_value/from_clonable/class_methods/handle_spec.rb +20 -0
  36. data/spec/unit/virtus/attribute/default_value/from_clonable/evaluate_spec.rb +22 -0
  37. data/spec/unit/virtus/attribute/default_value/from_symbol/class_methods/handle_spec.rb +20 -0
  38. data/spec/unit/virtus/attribute/default_value/from_symbol/evaluate_spec.rb +18 -0
  39. data/spec/unit/virtus/attribute_set/element_set_spec.rb +5 -4
  40. data/spec/unit/virtus/attributes_accessor/define_reader_method_spec.rb +36 -0
  41. data/spec/unit/virtus/attributes_accessor/define_writer_method_spec.rb +36 -0
  42. data/spec/unit/virtus/coercion/array/{to_set_spec.rb → class_methods/to_set_spec.rb} +0 -0
  43. data/spec/unit/virtus/coercion/{class_name_reference_spec.rb → class_methods/element_reference_spec.rb} +0 -0
  44. data/spec/unit/virtus/coercion/class_methods/primitive_spec.rb +13 -0
  45. data/spec/unit/virtus/coercion/decimal/class_methods/to_decimal_spec.rb +10 -0
  46. data/spec/unit/virtus/coercion/float/class_methods/to_float_spec.rb +10 -0
  47. data/spec/unit/virtus/coercion/integer/class_methods/to_integer_spec.rb +10 -0
  48. data/spec/unit/virtus/coercion/numeric/class_methods/to_decimal_spec.rb +0 -0
  49. data/spec/unit/virtus/coercion/numeric/class_methods/to_float_spec.rb +0 -0
  50. data/spec/unit/virtus/coercion/numeric/class_methods/to_integer_spec.rb +0 -0
  51. data/spec/unit/virtus/coercion/numeric/class_methods/to_string_spec.rb +0 -0
  52. data/spec/unit/virtus/coercion/object/class_methods/to_string_spec.rb +1 -1
  53. data/spec/unit/virtus/coercion/string/class_methods/to_symbol_spec.rb +10 -0
  54. data/spec/unit/virtus/coercion/time/class_methods/to_integer_spec.rb +11 -0
  55. data/spec/unit/virtus/instance_methods/attributes_spec.rb +25 -0
  56. data/spec/unit/virtus/instance_methods/initialize_spec.rb +42 -0
  57. data/spec/unit/virtus/type_lookup/class_methods/extended_spec.rb +10 -0
  58. data/spec/unit/virtus/value_object/class_methods/attribute_spec.rb +16 -0
  59. data/spec/unit/virtus/value_object/equalizer/append_spec.rb +61 -0
  60. data/virtus.gemspec +4 -3
  61. metadata +80 -75
  62. data/spec/unit/virtus/attribute_set/parent_spec.rb +0 -11
@@ -0,0 +1,36 @@
1
+ require 'spec_helper'
2
+
3
+ describe Virtus::AttributesAccessor, '#define_writer_method' do
4
+ subject { described_class.new('Test') }
5
+
6
+ let(:attribute) { mock('attribute') }
7
+
8
+ if RUBY_VERSION < '1.9'
9
+ let(:method_name) { 'foo_bar=' }
10
+ else
11
+ let(:method_name) { :foo_bar= }
12
+ end
13
+
14
+ before do
15
+ subject.define_reader_method(attribute, method_name, visibility)
16
+ end
17
+
18
+ context "with public visibility" do
19
+ let(:visibility) { :public }
20
+
21
+ its(:public_instance_methods) { should include(method_name) }
22
+ end
23
+
24
+ context "with private visibility" do
25
+ let(:visibility) { :private }
26
+
27
+ its(:private_instance_methods) { should include(method_name) }
28
+ end
29
+
30
+ context "with protected visibility" do
31
+ let(:visibility) { :protected }
32
+
33
+ its(:protected_instance_methods) { should include(method_name) }
34
+ end
35
+ end
36
+
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ describe Virtus::Coercion, '.primitive' do
4
+ Virtus::Coercion.descendants.each do |descendant|
5
+ subject { descendant.primitive }
6
+
7
+ let(:primitive) { Object.const_get(descendant.name.split('::').last.to_sym) }
8
+
9
+ describe "#{descendant}.primitive" do
10
+ it { should be(primitive) }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe Virtus::Coercion::Decimal, '.to_decimal' do
4
+ subject { described_class.to_decimal(value) }
5
+
6
+ let(:value) { BigDecimal('1.0') }
7
+
8
+ it { should be(value) }
9
+ end
10
+
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe Virtus::Coercion::Float, '.to_float' do
4
+ subject { described_class.to_float(value) }
5
+
6
+ let(:value) { 1.0 }
7
+
8
+ it { should be(value) }
9
+ end
10
+
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe Virtus::Coercion::Integer, '.to_integer' do
4
+ subject { described_class.to_integer(value) }
5
+
6
+ let(:value) { 1 }
7
+
8
+ it { should be(value) }
9
+ end
10
+
@@ -4,7 +4,7 @@ describe Virtus::Coercion::Object, '.to_string' do
4
4
  subject { object.to_string(value) }
5
5
 
6
6
  let(:object) { described_class }
7
- let(:value) { stub('value') }
7
+ let(:value) { Object.new }
8
8
 
9
9
  context 'when the value responds to #to_str' do
10
10
  let(:coerced) { stub('coerced') }
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe Virtus::Coercion::String, '.to_symbol' do
4
+ subject { described_class.to_symbol(value) }
5
+
6
+ let(:value) { 'value' }
7
+
8
+ it { should be(:value) }
9
+ end
10
+
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe Virtus::Coercion::Time, '.to_integer' do
4
+ subject { described_class.to_integer(value) }
5
+
6
+ let(:time) { Time.now }
7
+ let(:value) { time }
8
+
9
+ it { should eql(time.to_i) }
10
+ end
11
+
@@ -21,6 +21,14 @@ describe Virtus::InstanceMethods do
21
21
  end
22
22
  end
23
23
 
24
+ let(:hash_object) do
25
+ Class.new do
26
+ def to_hash
27
+ {:age => 5}
28
+ end
29
+ end.new
30
+ end
31
+
24
32
  let(:attributes) { { :name => 'john', :age => 28 } }
25
33
 
26
34
  describe '#attributes' do
@@ -109,5 +117,22 @@ describe Virtus::InstanceMethods do
109
117
  expect { subject }.to_not raise_exception
110
118
  end
111
119
  end
120
+
121
+ context "when given values respond_to?(:to_hash)" do
122
+ let(:attribute_values) { hash_object }
123
+
124
+ it 'sets attributes' do
125
+ subject
126
+ object.age.should == 5
127
+ end
128
+ end
129
+
130
+ context "when given values does not respond_to?(:to_hash)" do
131
+ let(:attribute_values) { '' }
132
+
133
+ it 'raises an exception' do
134
+ expect { subject }.to raise_error(NoMethodError)
135
+ end
136
+ end
112
137
  end
113
138
  end
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+
3
+ describe Virtus::InstanceMethods, '#initialize' do
4
+ let(:described_class) do
5
+ Class.new do
6
+ include Virtus
7
+ attribute :name, String
8
+ end
9
+ end
10
+
11
+ context 'with no arguments' do
12
+ subject { described_class.new }
13
+
14
+ it 'does not set attributes' do
15
+ subject.name.should be_nil
16
+ end
17
+ end
18
+
19
+ context 'with nil' do
20
+ subject { described_class.new(nil) }
21
+
22
+ it 'does not set attributes' do
23
+ subject.name.should be_nil
24
+ end
25
+ end
26
+
27
+ context 'with an argument that responds to #to_hash' do
28
+ subject { described_class.new(:name => name) }
29
+
30
+ let(:name) { stub('name') }
31
+
32
+ it 'sets attributes' do
33
+ subject.name.should be(name)
34
+ end
35
+ end
36
+
37
+ context' with an argument that does not respond to #to_hash' do
38
+ subject { described_class.new(Object.new) }
39
+
40
+ specify { expect { subject }.to raise_error(NoMethodError) }
41
+ end
42
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe Virtus::TypeLookup, '.extended' do
4
+ let(:type) { Class.new { extend Virtus::TypeLookup } }
5
+
6
+ it 'sets type_lookup_catch ivar' do
7
+ type.instance_variable_get('@type_lookup_cache').should eql({})
8
+ end
9
+ end
10
+
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ describe Virtus::ValueObject, '.attribute' do
4
+ subject { model.attributes[name] }
5
+
6
+ let(:model) { Class.new { include Virtus::ValueObject } }
7
+ let(:name) { :lat }
8
+ let(:type) { Float }
9
+
10
+ before { model.attribute(name, type) }
11
+
12
+ it { should be_instance_of(Virtus::Attribute::Float) }
13
+
14
+ specify { subject.options[:writer].should be(:private) }
15
+ end
16
+
@@ -0,0 +1,61 @@
1
+ require 'spec_helper'
2
+
3
+ describe Virtus::ValueObject::Equalizer, '#<<' do
4
+ let(:equalizer) { described_class.new(:user, [ :first_name ]) }
5
+
6
+ let(:klass) do
7
+ klass = Class.new { attr_accessor :first_name, :last_name }
8
+ klass.send(:include, equalizer)
9
+ end
10
+
11
+ let(:user_one) { klass.new }
12
+ let(:user_two) { klass.new }
13
+
14
+ let(:first_name) { 'john' }
15
+ let(:last_name) { 'doe' }
16
+
17
+ before do
18
+ equalizer << :last_name
19
+
20
+ user_one.first_name = first_name
21
+ user_one.last_name = last_name
22
+
23
+ user_two.first_name = first_name
24
+ user_two.last_name = last_name
25
+ end
26
+
27
+ describe "#eql?" do
28
+ subject { user_one.eql?(user_two) }
29
+
30
+ context 'when key values match' do
31
+ it { should be(true) }
32
+ end
33
+
34
+ context 'when key values match' do
35
+ before { user_two.last_name = 'other' }
36
+
37
+ it { should be(false) }
38
+ end
39
+ end
40
+
41
+ describe "#==?" do
42
+ subject { user_one == user_two }
43
+
44
+ context 'when key values match' do
45
+ it { should be(true) }
46
+ end
47
+
48
+ context 'when key values match' do
49
+ before { user_two.last_name = 'other' }
50
+
51
+ it { should be(false) }
52
+ end
53
+ end
54
+
55
+ describe "#hash" do
56
+ subject { user_one.hash }
57
+
58
+ it { should eql(klass.hash ^ first_name.hash ^ last_name.hash) }
59
+ end
60
+ end
61
+
@@ -16,7 +16,8 @@ Gem::Specification.new do |gem|
16
16
  gem.test_files = `git ls-files -- {spec}/*`.split("\n")
17
17
  gem.extra_rdoc_files = %w[LICENSE README.md TODO]
18
18
 
19
- gem.add_development_dependency('rake', '~> 0.9.2')
20
- gem.add_development_dependency('backports', '~> 2.3.0')
21
- gem.add_development_dependency('rspec', '~> 1.3.2')
19
+ gem.add_development_dependency('rake', '~> 0.9.2')
20
+ gem.add_development_dependency('backports', '~> 2.3.0')
21
+ gem.add_development_dependency('rspec', '~> 1.3.2')
22
+ gem.add_development_dependency('guard-rspec', '~> 0.6.0')
22
23
  end
metadata CHANGED
@@ -1,82 +1,70 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: virtus
3
- version: !ruby/object:Gem::Version
4
- hash: 19
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 3
9
- - 0
10
- version: 0.3.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Piotr Solnica
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-02-25 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-03-22 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: rake
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70209603947640 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
18
+ requirements:
26
19
  - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 63
29
- segments:
30
- - 0
31
- - 9
32
- - 2
20
+ - !ruby/object:Gem::Version
33
21
  version: 0.9.2
34
22
  type: :development
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: backports
38
23
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *70209603947640
25
+ - !ruby/object:Gem::Dependency
26
+ name: backports
27
+ requirement: &70209603947040 !ruby/object:Gem::Requirement
40
28
  none: false
41
- requirements:
29
+ requirements:
42
30
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 2
47
- - 3
48
- - 0
31
+ - !ruby/object:Gem::Version
49
32
  version: 2.3.0
50
33
  type: :development
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
53
- name: rspec
54
34
  prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *70209603947040
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ requirement: &70209603934620 !ruby/object:Gem::Requirement
56
39
  none: false
57
- requirements:
40
+ requirements:
58
41
  - - ~>
59
- - !ruby/object:Gem::Version
60
- hash: 31
61
- segments:
62
- - 1
63
- - 3
64
- - 2
42
+ - !ruby/object:Gem::Version
65
43
  version: 1.3.2
66
44
  type: :development
67
- version_requirements: *id003
45
+ prerelease: false
46
+ version_requirements: *70209603934620
47
+ - !ruby/object:Gem::Dependency
48
+ name: guard-rspec
49
+ requirement: &70209603933940 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 0.6.0
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70209603933940
68
58
  description: Attributes on Steroids for Plain Old Ruby Objects
69
- email:
59
+ email:
70
60
  - piotr.solnica@gmail.com
71
61
  executables: []
72
-
73
62
  extensions: []
74
-
75
- extra_rdoc_files:
63
+ extra_rdoc_files:
76
64
  - LICENSE
77
65
  - README.md
78
66
  - TODO
79
- files:
67
+ files:
80
68
  - .gitignore
81
69
  - .pelusa.yml
82
70
  - .rvmrc
@@ -84,6 +72,7 @@ files:
84
72
  - .yardopts
85
73
  - Changelog.md
86
74
  - Gemfile
75
+ - Guardfile
87
76
  - LICENSE
88
77
  - README.md
89
78
  - Rakefile
@@ -174,15 +163,26 @@ files:
174
163
  - spec/unit/virtus/attribute/coerce_spec.rb
175
164
  - spec/unit/virtus/attribute/coercion_method_spec.rb
176
165
  - spec/unit/virtus/attribute/collection/class_methods/merge_options_spec.rb
166
+ - spec/unit/virtus/attribute/collection/coerce_and_append_member_spec.rb
177
167
  - spec/unit/virtus/attribute/collection/coerce_spec.rb
168
+ - spec/unit/virtus/attribute/collection/member_coercion/coerce_and_append_member_spec.rb
169
+ - spec/unit/virtus/attribute/collection/member_type_spec.rb
170
+ - spec/unit/virtus/attribute/collection/new_collection_spec.rb
178
171
  - spec/unit/virtus/attribute/date/coerce_spec.rb
179
172
  - spec/unit/virtus/attribute/date/value_coerced_spec.rb
180
173
  - spec/unit/virtus/attribute/date_time/coerce_spec.rb
181
174
  - spec/unit/virtus/attribute/decimal/coerce_spec.rb
182
175
  - spec/unit/virtus/attribute/default_spec.rb
183
176
  - spec/unit/virtus/attribute/default_value/attribute_spec.rb
177
+ - spec/unit/virtus/attribute/default_value/class_methods/build_spec.rb
184
178
  - spec/unit/virtus/attribute/default_value/class_methods/new_spec.rb
185
179
  - spec/unit/virtus/attribute/default_value/evaluate_spec.rb
180
+ - spec/unit/virtus/attribute/default_value/from_callable/class_methods/handle_spec.rb
181
+ - spec/unit/virtus/attribute/default_value/from_callable/evaluate_spec.rb
182
+ - spec/unit/virtus/attribute/default_value/from_clonable/class_methods/handle_spec.rb
183
+ - spec/unit/virtus/attribute/default_value/from_clonable/evaluate_spec.rb
184
+ - spec/unit/virtus/attribute/default_value/from_symbol/class_methods/handle_spec.rb
185
+ - spec/unit/virtus/attribute/default_value/from_symbol/evaluate_spec.rb
186
186
  - spec/unit/virtus/attribute/default_value/value_spec.rb
187
187
  - spec/unit/virtus/attribute/define_accessor_methods_spec.rb
188
188
  - spec/unit/virtus/attribute/define_reader_method_spec.rb
@@ -212,16 +212,18 @@ files:
212
212
  - spec/unit/virtus/attribute_set/element_reference_spec.rb
213
213
  - spec/unit/virtus/attribute_set/element_set_spec.rb
214
214
  - spec/unit/virtus/attribute_set/merge_spec.rb
215
- - spec/unit/virtus/attribute_set/parent_spec.rb
216
215
  - spec/unit/virtus/attribute_set/reset_spec.rb
216
+ - spec/unit/virtus/attributes_accessor/define_reader_method_spec.rb
217
+ - spec/unit/virtus/attributes_accessor/define_writer_method_spec.rb
217
218
  - spec/unit/virtus/attributes_accessor/inspect_spec.rb
218
219
  - spec/unit/virtus/class_methods/allowed_writer_methods_spec.rb
219
220
  - spec/unit/virtus/class_methods/attribute_spec.rb
220
221
  - spec/unit/virtus/class_methods/attributes_spec.rb
221
222
  - spec/unit/virtus/class_methods/const_missing_spec.rb
222
223
  - spec/unit/virtus/class_methods/inherited_spec.rb
223
- - spec/unit/virtus/coercion/array/to_set_spec.rb
224
- - spec/unit/virtus/coercion/class_name_reference_spec.rb
224
+ - spec/unit/virtus/coercion/array/class_methods/to_set_spec.rb
225
+ - spec/unit/virtus/coercion/class_methods/element_reference_spec.rb
226
+ - spec/unit/virtus/coercion/class_methods/primitive_spec.rb
225
227
  - spec/unit/virtus/coercion/date/class_methods/to_date_spec.rb
226
228
  - spec/unit/virtus/coercion/date/class_methods/to_datetime_spec.rb
227
229
  - spec/unit/virtus/coercion/date/class_methods/to_string_spec.rb
@@ -230,11 +232,13 @@ files:
230
232
  - spec/unit/virtus/coercion/date_time/class_methods/to_datetime_spec.rb
231
233
  - spec/unit/virtus/coercion/date_time/class_methods/to_string_spec.rb
232
234
  - spec/unit/virtus/coercion/date_time/class_methods/to_time_spec.rb
235
+ - spec/unit/virtus/coercion/decimal/class_methods/to_decimal_spec.rb
233
236
  - spec/unit/virtus/coercion/decimal/class_methods/to_float_spec.rb
234
237
  - spec/unit/virtus/coercion/decimal/class_methods/to_integer_spec.rb
235
238
  - spec/unit/virtus/coercion/decimal/class_methods/to_string_spec.rb
236
239
  - spec/unit/virtus/coercion/false_class/class_methods/to_string_spec.rb
237
240
  - spec/unit/virtus/coercion/float/class_methods/to_decimal_spec.rb
241
+ - spec/unit/virtus/coercion/float/class_methods/to_float_spec.rb
238
242
  - spec/unit/virtus/coercion/float/class_methods/to_integer_spec.rb
239
243
  - spec/unit/virtus/coercion/float/class_methods/to_string_spec.rb
240
244
  - spec/unit/virtus/coercion/hash/class_methods/to_date_spec.rb
@@ -243,7 +247,12 @@ files:
243
247
  - spec/unit/virtus/coercion/integer/class_methods/to_boolean_spec.rb
244
248
  - spec/unit/virtus/coercion/integer/class_methods/to_decimal_spec.rb
245
249
  - spec/unit/virtus/coercion/integer/class_methods/to_float_spec.rb
250
+ - spec/unit/virtus/coercion/integer/class_methods/to_integer_spec.rb
246
251
  - spec/unit/virtus/coercion/integer/class_methods/to_string_spec.rb
252
+ - spec/unit/virtus/coercion/numeric/class_methods/to_decimal_spec.rb
253
+ - spec/unit/virtus/coercion/numeric/class_methods/to_float_spec.rb
254
+ - spec/unit/virtus/coercion/numeric/class_methods/to_integer_spec.rb
255
+ - spec/unit/virtus/coercion/numeric/class_methods/to_string_spec.rb
247
256
  - spec/unit/virtus/coercion/object/class_methods/method_missing_spec.rb
248
257
  - spec/unit/virtus/coercion/object/class_methods/to_array_spec.rb
249
258
  - spec/unit/virtus/coercion/object/class_methods/to_hash_spec.rb
@@ -256,8 +265,10 @@ files:
256
265
  - spec/unit/virtus/coercion/string/class_methods/to_decimal_spec.rb
257
266
  - spec/unit/virtus/coercion/string/class_methods/to_float_spec.rb
258
267
  - spec/unit/virtus/coercion/string/class_methods/to_integer_spec.rb
268
+ - spec/unit/virtus/coercion/string/class_methods/to_symbol_spec.rb
259
269
  - spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb
260
270
  - spec/unit/virtus/coercion/symbol/class_methods/to_string_spec.rb
271
+ - spec/unit/virtus/coercion/time/class_methods/to_integer_spec.rb
261
272
  - spec/unit/virtus/coercion/time/class_methods/to_time_spec.rb
262
273
  - spec/unit/virtus/coercion/true_class/class_methods/to_string_spec.rb
263
274
  - spec/unit/virtus/descendants_tracker/add_descendant_spec.rb
@@ -265,14 +276,18 @@ files:
265
276
  - spec/unit/virtus/instance_methods/attributes_spec.rb
266
277
  - spec/unit/virtus/instance_methods/element_reference_spec.rb
267
278
  - spec/unit/virtus/instance_methods/element_set_spec.rb
279
+ - spec/unit/virtus/instance_methods/initialize_spec.rb
268
280
  - spec/unit/virtus/instance_methods/to_hash_spec.rb
269
281
  - spec/unit/virtus/options/accept_options_spec.rb
270
282
  - spec/unit/virtus/options/accepted_options_spec.rb
271
283
  - spec/unit/virtus/options/options_spec.rb
284
+ - spec/unit/virtus/type_lookup/class_methods/extended_spec.rb
272
285
  - spec/unit/virtus/type_lookup/determine_type_spec.rb
273
286
  - spec/unit/virtus/type_lookup/primitive_spec.rb
274
287
  - spec/unit/virtus/value_object/class_methods/allowed_writer_methods_spec.rb
288
+ - spec/unit/virtus/value_object/class_methods/attribute_spec.rb
275
289
  - spec/unit/virtus/value_object/class_methods/equalizer_spec.rb
290
+ - spec/unit/virtus/value_object/equalizer/append_spec.rb
276
291
  - spec/unit/virtus/value_object/initialize_spec.rb
277
292
  - spec/unit/virtus/value_object/with_spec.rb
278
293
  - tasks/metrics/ci.rake
@@ -288,37 +303,27 @@ files:
288
303
  - virtus.gemspec
289
304
  homepage: https://github.com/solnic/virtus
290
305
  licenses: []
291
-
292
306
  post_install_message:
293
307
  rdoc_options: []
294
-
295
- require_paths:
308
+ require_paths:
296
309
  - lib
297
- required_ruby_version: !ruby/object:Gem::Requirement
310
+ required_ruby_version: !ruby/object:Gem::Requirement
298
311
  none: false
299
- requirements:
300
- - - ">="
301
- - !ruby/object:Gem::Version
302
- hash: 3
303
- segments:
304
- - 0
305
- version: "0"
306
- required_rubygems_version: !ruby/object:Gem::Requirement
312
+ requirements:
313
+ - - ! '>='
314
+ - !ruby/object:Gem::Version
315
+ version: '0'
316
+ required_rubygems_version: !ruby/object:Gem::Requirement
307
317
  none: false
308
- requirements:
309
- - - ">="
310
- - !ruby/object:Gem::Version
311
- hash: 3
312
- segments:
313
- - 0
314
- version: "0"
318
+ requirements:
319
+ - - ! '>='
320
+ - !ruby/object:Gem::Version
321
+ version: '0'
315
322
  requirements: []
316
-
317
323
  rubyforge_project:
318
- rubygems_version: 1.8.17
324
+ rubygems_version: 1.8.15
319
325
  signing_key:
320
326
  specification_version: 3
321
327
  summary: Attributes on Steroids for Plain Old Ruby Objects
322
328
  test_files: []
323
-
324
329
  has_rdoc: