ninja-model 1.0.0 → 1.0.1
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/lib/ninja_model/marshalling.rb +25 -2
- data/lib/ninja_model/version.rb +1 -1
- data/ninja-model.gemspec +1 -0
- metadata +6 -5
@@ -4,11 +4,34 @@ module NinjaModel
|
|
4
4
|
|
5
5
|
module InstanceMethods
|
6
6
|
def marshal_dump
|
7
|
-
|
7
|
+
h = self.instance_variables.inject({}) { |r, k|
|
8
|
+
if k.to_s.eql?('@attributes')
|
9
|
+
r[:attributes] = @attributes.inject({}) { |a, (k, v)|
|
10
|
+
a[k] = ActiveSupport::JSON.encode(v)
|
11
|
+
a
|
12
|
+
}
|
13
|
+
else
|
14
|
+
r[k.to_s] = instance_variable_get(k)
|
15
|
+
end
|
16
|
+
r
|
17
|
+
}
|
18
|
+
h[:attributes] = {}
|
19
|
+
@attributes.each do |k, v|
|
20
|
+
h[:attributes][k] = ActiveSupport::JSON.encode(v)
|
21
|
+
end
|
22
|
+
ActiveSupport::JSON.encode(h)
|
8
23
|
end
|
9
24
|
|
10
25
|
def marshal_load(data)
|
11
|
-
|
26
|
+
h = ActiveSupport::JSON.decode(data)
|
27
|
+
@attributes = {}
|
28
|
+
h.each do |k, v|
|
29
|
+
if k.eql?(:attributes)
|
30
|
+
@attributes[k] = ActiveSupport::JSON.decode(v)
|
31
|
+
else
|
32
|
+
instance_variable_set(k, v)
|
33
|
+
end
|
34
|
+
end
|
12
35
|
end
|
13
36
|
end
|
14
37
|
end
|
data/lib/ninja_model/version.rb
CHANGED
data/ninja-model.gemspec
CHANGED
@@ -11,6 +11,7 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.homepage = %q{http://github.com/t3hpr1m3/ninja-model.git}
|
12
12
|
s.summary = %q{Pseudo-ORM for Ruby}
|
13
13
|
s.description = %q{Pseudo-ORM for Ruby/Rails with an ActiveRecord-like interface}
|
14
|
+
s.license = %q{MIT}
|
14
15
|
|
15
16
|
s.rubyforge_project = s.name
|
16
17
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ninja-model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-08-
|
12
|
+
date: 2013-08-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
@@ -270,7 +270,8 @@ files:
|
|
270
270
|
- spec/support/factories/user.rb
|
271
271
|
- spec/support/matchers/convert.rb
|
272
272
|
homepage: http://github.com/t3hpr1m3/ninja-model.git
|
273
|
-
licenses:
|
273
|
+
licenses:
|
274
|
+
- MIT
|
274
275
|
post_install_message:
|
275
276
|
rdoc_options: []
|
276
277
|
require_paths:
|
@@ -283,7 +284,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
283
284
|
version: '0'
|
284
285
|
segments:
|
285
286
|
- 0
|
286
|
-
hash:
|
287
|
+
hash: 861620109
|
287
288
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
288
289
|
none: false
|
289
290
|
requirements:
|
@@ -292,7 +293,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
292
293
|
version: '0'
|
293
294
|
segments:
|
294
295
|
- 0
|
295
|
-
hash:
|
296
|
+
hash: 861620109
|
296
297
|
requirements: []
|
297
298
|
rubyforge_project: ninja-model
|
298
299
|
rubygems_version: 1.8.24
|