simple_serializer 1.0.0 → 1.0.2

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.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- OTM2MDJkNDRiNjk0YmQ5Y2M3Mzk1YzQ2MTAzZjJkNWFhNWUwZTU0Ng==
5
- data.tar.gz: !binary |-
6
- YmE2MmYzZWFlMGRjZWE0MDdmYjYyNGRjYjA3NWUxNzNlZTNhMDU4NA==
2
+ SHA1:
3
+ metadata.gz: cc0f2441cc164b6e650204767ed70d42c82a52b5
4
+ data.tar.gz: 88cf09a21955fdf26ae98a04313125d2effce177
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MzMyNjg5ZDc1YjcxYzg5YjQ2MTQzMTk4NWFiYjc3ZTU0YmIyYjYyM2FmOTFi
10
- YjdkOTg2MDUxYTI2MmNkYzNmMDEwNjVhYTMwNzU1OGQzZjRkYmNmZWViYmEw
11
- YTJiODMzMDhjMzVlOTQ2NGVlMjVhOWY4MDdhZmEwMDkxOTJiOGU=
12
- data.tar.gz: !binary |-
13
- ZmMyZDllMDA5YWM5ZWY0MGEzMDY5OTUyMmNhMmYwMmViZjNmOGI4YWE4ZmNl
14
- MmIwZGYxMDIzZWE3MGY0MTMxNjJhNzI4NjNmMTIyNzg4OWViNGNhOGQwNjk1
15
- Yzg2ZjJlZGE3Nzk1NjE5ZjFlZDZiYjJmNTQzMGVjOTYwMTk3NmY=
6
+ metadata.gz: 62d3eb16ae7a44fd9d17da676c3479cdd3cd7ee6fd57eb65321e885dc144f23b8194dab85260c89a7ff1ab637a903aa7c1790cf6ed60b544f5fd0fae6fdc8730
7
+ data.tar.gz: 28ab46a94b2a0f47de0a03feb4b393d086966ab790b8d404c969a1fd2a2244cd19b6a5094e1b9618c8f3569970ce3bc70318d51c9814c259f0e468aedf87365a
data/README.md CHANGED
@@ -3,13 +3,13 @@
3
3
  Simple framelet for serializing/deserializing objects to hashes.
4
4
 
5
5
  API compatible with ActiveModel::Serializer but without all the complexity
6
- and dependence on ActiveModel
6
+ and NO ROOT KEYS!
7
7
 
8
8
  # Serializer Usage
9
9
 
10
10
  ```
11
11
  class SomeSerializer < SimpleSerializer::Serializer
12
- attributes :id, :name, :category_id, :errors
12
+ hash_attributes :id, :name, :category_id, :errors
13
13
 
14
14
  def category_id
15
15
  object.category.try(:id)
@@ -34,14 +34,14 @@ SomeSerializer.serialize_array([object])
34
34
 
35
35
  ```
36
36
  class SomeDeserializer < SimpleSerializer::Deserializer
37
- data_attributes :site_id, :name, :category_id, :integration_key
37
+ object_attributes :site_id, :name, :category_id, :integration_key
38
38
 
39
39
  def integration_key(old_integration_key)
40
40
  "XX#{@data[:other_attr]}XX#{old_integration_key}XX"
41
41
  end
42
42
 
43
- def set_category_id(category_id)
44
- object.category = InventoryStatusCategory.from_id(category_id)
43
+ def set_site_id
44
+ object.site_id = 99
45
45
  end
46
46
  end
47
47
  ```
@@ -1,4 +1,7 @@
1
1
  require 'simple_serializer/version'
2
2
 
3
+ require 'simple_serializer/serializer'
4
+ require 'simple_serializer/deserializer'
5
+
3
6
  module SimpleSerializer
4
7
  end
@@ -21,49 +21,49 @@
21
21
  # SomeDeserializer.deserialize_array([object1, object2, ...], [data1, data2, ...])
22
22
  #
23
23
  module SimpleSerializer
24
- class Deserializer
25
- class << self
26
- attr_accessor :_object_attributes
24
+ class Deserializer
25
+ class << self
26
+ attr_accessor :_object_attributes
27
27
 
28
- def inherited(base)
29
- base._object_attributes = []
30
- end
28
+ def inherited(base)
29
+ base._object_attributes = []
30
+ end
31
31
 
32
- def object_attributes(*attrs)
33
- @_object_attributes.concat attrs
32
+ def object_attributes(*attrs)
33
+ @_object_attributes.concat attrs
34
34
 
35
- attrs.each do |attr|
36
- define_method attr do
37
- @data[attr]
38
- end unless method_defined?(attr)
35
+ attrs.each do |attr|
36
+ define_method attr do
37
+ @data[attr]
38
+ end unless method_defined?(attr)
39
39
 
40
- define_method "set_#{attr}" do
41
- object.send("#{attr}=", send(attr)) if @data.has_key?(attr)
42
- end unless method_defined?("set_#{attr}")
40
+ define_method "set_#{attr}" do
41
+ object.send("#{attr}=", send(attr)) if @data.has_key?(attr)
42
+ end unless method_defined?("set_#{attr}")
43
+ end
43
44
  end
44
- end
45
45
 
46
- def deserialize_array(objects, data)
47
- objects.zip(data).map { |obj, datum| deserialize(obj, datum) }
48
- end
46
+ def deserialize_array(objects, data)
47
+ objects.zip(data).map { |obj, datum| deserialize(obj, datum) }
48
+ end
49
49
 
50
- def deserialize(object, data)
51
- self.new(object, data).deserialize
50
+ def deserialize(object, data)
51
+ self.new(object, data).deserialize
52
+ end
52
53
  end
53
- end
54
54
 
55
- attr_reader :object, :data
55
+ attr_reader :object, :data
56
56
 
57
- def initialize(object, data)
58
- @object = object
59
- @data = data
60
- end
57
+ def initialize(object, data)
58
+ @object = object
59
+ @data = data
60
+ end
61
61
 
62
- def deserialize
63
- self.class._object_attributes.dup.each do |name|
64
- send("set_#{name}")
62
+ def deserialize
63
+ self.class._object_attributes.dup.each do |name|
64
+ send("set_#{name}")
65
+ end
66
+ object
65
67
  end
66
- object
67
68
  end
68
69
  end
69
- end
@@ -1,3 +1,3 @@
1
1
  module SimpleSerializer
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.2'
3
3
  end
@@ -1,5 +1,5 @@
1
1
  require 'unit_spec_helper'
2
- require 'simple_serializer/deserializer'
2
+ require 'simple_serializer'
3
3
 
4
4
  describe SimpleSerializer::Deserializer do
5
5
 
@@ -1,5 +1,5 @@
1
1
  require 'unit_spec_helper'
2
- require 'simple_serializer/serializer'
2
+ require 'simple_serializer'
3
3
 
4
4
  describe SimpleSerializer::Serializer do
5
5
 
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_serializer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Kirby
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-19 00:00:00.000000000 Z
11
+ date: 2017-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.7'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  description: Very simple framelet for serializing/deserializing objects to hashes.
@@ -59,7 +59,7 @@ executables: []
59
59
  extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
- - .gitignore
62
+ - ".gitignore"
63
63
  - Gemfile
64
64
  - LICENSE.txt
65
65
  - README.md
@@ -82,17 +82,17 @@ require_paths:
82
82
  - lib
83
83
  required_ruby_version: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - ! '>='
85
+ - - ">="
86
86
  - !ruby/object:Gem::Version
87
87
  version: '0'
88
88
  required_rubygems_version: !ruby/object:Gem::Requirement
89
89
  requirements:
90
- - - ! '>='
90
+ - - ">="
91
91
  - !ruby/object:Gem::Version
92
92
  version: '0'
93
93
  requirements: []
94
94
  rubyforge_project:
95
- rubygems_version: 2.4.5
95
+ rubygems_version: 2.6.6
96
96
  signing_key:
97
97
  specification_version: 4
98
98
  summary: Very simple framelet for serializing/deserializing objects to hashes.