hashie-model 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/hashie-model.gemspec CHANGED
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{hashie-model}
8
- s.version = "1.3.0"
7
+ s.name = "hashie-model"
8
+ s.version = "1.3.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = [%q{ZenCash.com}]
12
- s.date = %q{2012-01-24}
13
- s.description = %q{Hashie2 + ActiveModel 3, offering declared properties, validations, JSON serialization/deserialization}
14
- s.email = %q{istvan@zencash.com}
11
+ s.authors = ["ZenCash.com"]
12
+ s.date = "2012-02-03"
13
+ s.description = "Hashie2 + ActiveModel 3, offering declared properties, validations, JSON serialization/deserialization"
14
+ s.email = "istvan@zencash.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.md"
@@ -43,11 +43,11 @@ Gem::Specification.new do |s|
43
43
  "vendor/hashie2/lib/hashie2/trash.rb",
44
44
  "vendor/hashie2/lib/hashie2/version.rb"
45
45
  ]
46
- s.homepage = %q{http://github.com/doublewide/hashie-model}
47
- s.licenses = [%q{MIT}]
48
- s.require_paths = [%q{lib}]
49
- s.rubygems_version = %q{1.8.6}
50
- s.summary = %q{Hashie2 + ActiveModel 3.x}
46
+ s.homepage = "http://github.com/doublewide/hashie-model"
47
+ s.licenses = ["MIT"]
48
+ s.require_paths = ["lib"]
49
+ s.rubygems_version = "1.8.15"
50
+ s.summary = "Hashie2 + ActiveModel 3.x"
51
51
 
52
52
  if s.respond_to? :specification_version then
53
53
  s.specification_version = 3
@@ -57,7 +57,10 @@ Gem::Specification.new do |s|
57
57
  s.add_runtime_dependency(%q<activesupport>, [">= 3.1.1"])
58
58
  s.add_runtime_dependency(%q<activemodel>, [">= 3.1.1"])
59
59
  s.add_runtime_dependency(%q<money>, [">= 3.7.1"])
60
- s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
60
+ s.add_development_dependency(%q<linecache19>, ["~> 0.5.13"])
61
+ s.add_development_dependency(%q<ruby-debug-base19>, ["~> 0.11.26"])
62
+ s.add_development_dependency(%q<ruby-debug19>, [">= 0"])
63
+ s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
61
64
  s.add_development_dependency(%q<shoulda-matchers>, ["~> 1.0.0.beta3"])
62
65
  s.add_development_dependency(%q<yard>, [">= 0.7.0"])
63
66
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -74,7 +77,10 @@ Gem::Specification.new do |s|
74
77
  s.add_dependency(%q<activesupport>, [">= 3.1.1"])
75
78
  s.add_dependency(%q<activemodel>, [">= 3.1.1"])
76
79
  s.add_dependency(%q<money>, [">= 3.7.1"])
77
- s.add_dependency(%q<rspec>, ["~> 2.3.0"])
80
+ s.add_dependency(%q<linecache19>, ["~> 0.5.13"])
81
+ s.add_dependency(%q<ruby-debug-base19>, ["~> 0.11.26"])
82
+ s.add_dependency(%q<ruby-debug19>, [">= 0"])
83
+ s.add_dependency(%q<rspec>, ["~> 2.8.0"])
78
84
  s.add_dependency(%q<shoulda-matchers>, ["~> 1.0.0.beta3"])
79
85
  s.add_dependency(%q<yard>, [">= 0.7.0"])
80
86
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -92,7 +98,10 @@ Gem::Specification.new do |s|
92
98
  s.add_dependency(%q<activesupport>, [">= 3.1.1"])
93
99
  s.add_dependency(%q<activemodel>, [">= 3.1.1"])
94
100
  s.add_dependency(%q<money>, [">= 3.7.1"])
95
- s.add_dependency(%q<rspec>, ["~> 2.3.0"])
101
+ s.add_dependency(%q<linecache19>, ["~> 0.5.13"])
102
+ s.add_dependency(%q<ruby-debug-base19>, ["~> 0.11.26"])
103
+ s.add_dependency(%q<ruby-debug19>, [">= 0"])
104
+ s.add_dependency(%q<rspec>, ["~> 2.8.0"])
96
105
  s.add_dependency(%q<shoulda-matchers>, ["~> 1.0.0.beta3"])
97
106
  s.add_dependency(%q<yard>, [">= 0.7.0"])
98
107
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -42,6 +42,16 @@ module HashieModel
42
42
  end
43
43
  end
44
44
 
45
+ def init_with(coder)
46
+ coder.map.each do |k, v|
47
+ self.send(:"#{k}=", v)
48
+ end
49
+ end
50
+
51
+ def encode_with(coder)
52
+ coder.represent_map(coder.tag, self)
53
+ end
54
+
45
55
  def attributes_before_type_cast
46
56
  @attributes_before_type_cast ||= {}
47
57
  end
@@ -63,6 +63,30 @@ RSpec::Matchers.define :deserialize_from do |json|
63
63
  end
64
64
  end
65
65
 
66
+ RSpec::Matchers.define :yaml_serialize_to do |yaml|
67
+ description { "serialize to YAML" }
68
+ expected = YAML.load(yaml)
69
+
70
+ match do |object|
71
+ actual = YAML.load(object.to_yaml)
72
+ actual == expected
73
+ end
74
+
75
+ failure_message_for_should do |object|
76
+ actual = YAML.load(object.to_yaml)
77
+ "expected that #{object} would serialize to #{expected.pretty_inspect}Diff:#{RSpec::Expectations.differ.diff_as_object(actual, expected)}"
78
+ end
79
+ end
80
+
81
+ RSpec::Matchers.define :yaml_deserialize_from do |yaml|
82
+ description { "deserialize from YAML" }
83
+
84
+ match do |object|
85
+ new_object = YAML.load(yaml)
86
+ new_object.is_a?(object.class) && new_object.eql?(object)
87
+ end
88
+ end
89
+
66
90
  RSpec::Matchers.define :act_as_array do |array_klass|
67
91
  match do |object|
68
92
  klass = object.class
@@ -2,7 +2,7 @@ module HashieModel
2
2
  module Version
3
3
  MAJOR = 1
4
4
  MINOR = 3
5
- PATCH = 0
5
+ PATCH = 1
6
6
  BUILD = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hashie-model
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-24 00:00:00.000000000Z
12
+ date: 2012-02-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: yajl-ruby
16
- requirement: &2176959840 !ruby/object:Gem::Requirement
16
+ requirement: &70133345676000 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.8.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2176959840
24
+ version_requirements: *70133345676000
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &2176959360 !ruby/object:Gem::Requirement
27
+ requirement: &70133345674860 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 3.1.1
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2176959360
35
+ version_requirements: *70133345674860
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: activemodel
38
- requirement: &2176958880 !ruby/object:Gem::Requirement
38
+ requirement: &70133345673880 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 3.1.1
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2176958880
46
+ version_requirements: *70133345673880
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: money
49
- requirement: &2176958400 !ruby/object:Gem::Requirement
49
+ requirement: &70133345697040 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,21 +54,54 @@ dependencies:
54
54
  version: 3.7.1
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *2176958400
57
+ version_requirements: *70133345697040
58
+ - !ruby/object:Gem::Dependency
59
+ name: linecache19
60
+ requirement: &70133345695080 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: 0.5.13
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70133345695080
69
+ - !ruby/object:Gem::Dependency
70
+ name: ruby-debug-base19
71
+ requirement: &70133345693140 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: 0.11.26
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70133345693140
80
+ - !ruby/object:Gem::Dependency
81
+ name: ruby-debug19
82
+ requirement: &70133345692360 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *70133345692360
58
91
  - !ruby/object:Gem::Dependency
59
92
  name: rspec
60
- requirement: &2176992980 !ruby/object:Gem::Requirement
93
+ requirement: &70133345691820 !ruby/object:Gem::Requirement
61
94
  none: false
62
95
  requirements:
63
96
  - - ~>
64
97
  - !ruby/object:Gem::Version
65
- version: 2.3.0
98
+ version: 2.8.0
66
99
  type: :development
67
100
  prerelease: false
68
- version_requirements: *2176992980
101
+ version_requirements: *70133345691820
69
102
  - !ruby/object:Gem::Dependency
70
103
  name: shoulda-matchers
71
- requirement: &2176992500 !ruby/object:Gem::Requirement
104
+ requirement: &70133345691340 !ruby/object:Gem::Requirement
72
105
  none: false
73
106
  requirements:
74
107
  - - ~>
@@ -76,10 +109,10 @@ dependencies:
76
109
  version: 1.0.0.beta3
77
110
  type: :development
78
111
  prerelease: false
79
- version_requirements: *2176992500
112
+ version_requirements: *70133345691340
80
113
  - !ruby/object:Gem::Dependency
81
114
  name: yard
82
- requirement: &2176992020 !ruby/object:Gem::Requirement
115
+ requirement: &70133345690820 !ruby/object:Gem::Requirement
83
116
  none: false
84
117
  requirements:
85
118
  - - ! '>='
@@ -87,10 +120,10 @@ dependencies:
87
120
  version: 0.7.0
88
121
  type: :development
89
122
  prerelease: false
90
- version_requirements: *2176992020
123
+ version_requirements: *70133345690820
91
124
  - !ruby/object:Gem::Dependency
92
125
  name: bundler
93
- requirement: &2176991540 !ruby/object:Gem::Requirement
126
+ requirement: &70133345690300 !ruby/object:Gem::Requirement
94
127
  none: false
95
128
  requirements:
96
129
  - - ~>
@@ -98,10 +131,10 @@ dependencies:
98
131
  version: 1.0.0
99
132
  type: :development
100
133
  prerelease: false
101
- version_requirements: *2176991540
134
+ version_requirements: *70133345690300
102
135
  - !ruby/object:Gem::Dependency
103
136
  name: jeweler
104
- requirement: &2176991060 !ruby/object:Gem::Requirement
137
+ requirement: &70133345689780 !ruby/object:Gem::Requirement
105
138
  none: false
106
139
  requirements:
107
140
  - - ~>
@@ -109,10 +142,10 @@ dependencies:
109
142
  version: 1.6.4
110
143
  type: :development
111
144
  prerelease: false
112
- version_requirements: *2176991060
145
+ version_requirements: *70133345689780
113
146
  - !ruby/object:Gem::Dependency
114
147
  name: rcov
115
- requirement: &2176990580 !ruby/object:Gem::Requirement
148
+ requirement: &70133345689240 !ruby/object:Gem::Requirement
116
149
  none: false
117
150
  requirements:
118
151
  - - ! '>='
@@ -120,10 +153,10 @@ dependencies:
120
153
  version: '0'
121
154
  type: :development
122
155
  prerelease: false
123
- version_requirements: *2176990580
156
+ version_requirements: *70133345689240
124
157
  - !ruby/object:Gem::Dependency
125
158
  name: rb-fsevent
126
- requirement: &2176990100 !ruby/object:Gem::Requirement
159
+ requirement: &70133345705080 !ruby/object:Gem::Requirement
127
160
  none: false
128
161
  requirements:
129
162
  - - ! '>='
@@ -131,10 +164,10 @@ dependencies:
131
164
  version: '0'
132
165
  type: :development
133
166
  prerelease: false
134
- version_requirements: *2176990100
167
+ version_requirements: *70133345705080
135
168
  - !ruby/object:Gem::Dependency
136
169
  name: growl
137
- requirement: &2176989620 !ruby/object:Gem::Requirement
170
+ requirement: &70133345704480 !ruby/object:Gem::Requirement
138
171
  none: false
139
172
  requirements:
140
173
  - - ! '>='
@@ -142,10 +175,10 @@ dependencies:
142
175
  version: '0'
143
176
  type: :development
144
177
  prerelease: false
145
- version_requirements: *2176989620
178
+ version_requirements: *70133345704480
146
179
  - !ruby/object:Gem::Dependency
147
180
  name: guard
148
- requirement: &2176989140 !ruby/object:Gem::Requirement
181
+ requirement: &70133345703900 !ruby/object:Gem::Requirement
149
182
  none: false
150
183
  requirements:
151
184
  - - ! '>='
@@ -153,10 +186,10 @@ dependencies:
153
186
  version: '0'
154
187
  type: :development
155
188
  prerelease: false
156
- version_requirements: *2176989140
189
+ version_requirements: *70133345703900
157
190
  - !ruby/object:Gem::Dependency
158
191
  name: guard-rspec
159
- requirement: &2176988660 !ruby/object:Gem::Requirement
192
+ requirement: &70133345703340 !ruby/object:Gem::Requirement
160
193
  none: false
161
194
  requirements:
162
195
  - - ! '>='
@@ -164,10 +197,10 @@ dependencies:
164
197
  version: '0'
165
198
  type: :development
166
199
  prerelease: false
167
- version_requirements: *2176988660
200
+ version_requirements: *70133345703340
168
201
  - !ruby/object:Gem::Dependency
169
202
  name: guard-yard
170
- requirement: &2176988180 !ruby/object:Gem::Requirement
203
+ requirement: &70133345702780 !ruby/object:Gem::Requirement
171
204
  none: false
172
205
  requirements:
173
206
  - - ! '>='
@@ -175,10 +208,10 @@ dependencies:
175
208
  version: '0'
176
209
  type: :development
177
210
  prerelease: false
178
- version_requirements: *2176988180
211
+ version_requirements: *70133345702780
179
212
  - !ruby/object:Gem::Dependency
180
213
  name: guard-bundler
181
- requirement: &2176987700 !ruby/object:Gem::Requirement
214
+ requirement: &70133345702200 !ruby/object:Gem::Requirement
182
215
  none: false
183
216
  requirements:
184
217
  - - ! '>='
@@ -186,7 +219,7 @@ dependencies:
186
219
  version: '0'
187
220
  type: :development
188
221
  prerelease: false
189
- version_requirements: *2176987700
222
+ version_requirements: *70133345702200
190
223
  description: Hashie2 + ActiveModel 3, offering declared properties, validations, JSON
191
224
  serialization/deserialization
192
225
  email: istvan@zencash.com
@@ -236,7 +269,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
236
269
  version: '0'
237
270
  segments:
238
271
  - 0
239
- hash: 441566808007730713
272
+ hash: -1157286565515931429
240
273
  required_rubygems_version: !ruby/object:Gem::Requirement
241
274
  none: false
242
275
  requirements:
@@ -245,7 +278,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
245
278
  version: '0'
246
279
  requirements: []
247
280
  rubyforge_project:
248
- rubygems_version: 1.8.6
281
+ rubygems_version: 1.8.15
249
282
  signing_key:
250
283
  specification_version: 3
251
284
  summary: Hashie2 + ActiveModel 3.x