skn_utils 1.4.0 → 1.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a4bd06660f0cfd6c83198afffde3139c97b65188
4
- data.tar.gz: 483673c80d6f9e3c0217dd74b21b7b05b69bc1e8
3
+ metadata.gz: 9e225b9bb4186a871f69170536c5392adba40af7
4
+ data.tar.gz: fcb0aecf0195a93d4f599bc3c79786f04a795e69
5
5
  SHA512:
6
- metadata.gz: a11b5159b5108a8c2aa6174912023f17d9bca2f085f703ba26805589186af0ec8bdf705e45f1ad4416f8c11eddc9fc1590fa27dd027e642cc7ed9b45797f4711
7
- data.tar.gz: c5de9340f8529b1a83c05dfcc9848dc8f2deb29a21c81edf9cabea72a0c71f810ceac7d44f39c9b7be2731eaadc136682cba8994e528267444b8b875b398f953
6
+ metadata.gz: 647012d02ff9abf3d91270451d878d603eec0143fbc257c0874c1b3642b72023960c374d592bfb5d3ec98d443c6b39c92de3815b9853187b31f650c08021e465
7
+ data.tar.gz: 580f585505418a7441b32312bee7862401aa103e3d905b39392da3345421931dd507378356d8fe659c17890e6cd5c4a9967a61c736cdf603634128cae57d8b35
data/README.md CHANGED
@@ -70,8 +70,8 @@ The intent of this component is to be a container of data results, with easy acc
70
70
 
71
71
  The combination of this NestedResultBase(dot notation class) and AttributeHelpers(hash notation module), produces this effect given the same params hash:
72
72
 
73
- {:depth => <select>, ...} Input Hash Basic dot notation: effect of :depth
74
- ---------------------------------------------------- ---------------------------------
73
+ SknUtils::ResultBean.new(params) Basic dot notation: effect of :depth
74
+ ---------------------------------------------------- -----------------------------------------------------------------
75
75
 
76
76
  (DOES NOT FOLLOW Values) :depth => :single
77
77
  ```ruby
@@ -88,8 +88,8 @@ The combination of this NestedResultBase(dot notation class) and AttributeHelper
88
88
  (Follow VALUES that are Hashes only.) :depth => :multi
89
89
  ```ruby
90
90
  * params = {one: 1, drb.one = 1
91
- two: { one: 1, drb.two.one = 1
92
- two: "two" drb.two.two = 'two'
91
+ two: { one: 1, drb.two = <SknUtils::ResultBean>
92
+ two: "two" drb.two.two = 'two'
93
93
  },
94
94
  three: [ {one: 'one', two: 2}, drb.three = [{one: 'one', two: 2},{three: 'three', four: 4}]
95
95
  {three: 'three', four: 4} drb.three[1] = {three: 'three', four: 4}
@@ -100,20 +100,20 @@ The combination of this NestedResultBase(dot notation class) and AttributeHelper
100
100
  (Follow VALUES that are Hashes and/or Arrays of Hashes) :depth => :multi_with_arrays
101
101
  ```ruby
102
102
  * params = {one: 1, drb.one = 1
103
- two: { one: 1, drb.two.one = 1
103
+ two: { one: 1, drb.two = <SknUtils::ResultBean>
104
104
  two: "two" drb.two.two = 'two'
105
105
  },
106
- three: [ {one: 'one', two: 2}, drb.three.first.one = 'one'
107
- {three: 'three', four: 4} drb.three[1].four = 4
108
- ]
106
+ three: [ {one: 'one', two: 2}, drb.three = [<SknUtils::ResultBean>,<SknUtils::ResultBean>]
107
+ {three: 'three', four: 4} drb.three[1] = <SknUtils::ResultBean>
108
+ ] drb.three[1].four = 4
109
109
  }
110
110
 
111
111
  ```
112
- # Usage Examples: SubClassing
112
+ # Usage:
113
113
 
114
114
  (DOES NOT FOLLOW Values)
115
115
  ```ruby
116
- class SmallPackage < NestedResultBase
116
+ class SmallPackage < SknUtils::NestedResultBase
117
117
  def initialize(params={})
118
118
  super( params.merge({depth: :single}) ) # override default of :multi level
119
119
  end
@@ -122,13 +122,13 @@ The combination of this NestedResultBase(dot notation class) and AttributeHelper
122
122
 
123
123
  (Follow VALUES that are Hashes only.)
124
124
  ```ruby
125
- class ResultBean < NestedResultBase
125
+ class ResultBean < SknUtils::NestedResultBase
126
126
  # defaults to :multi level
127
127
  end
128
128
 
129
129
  -- or --
130
130
 
131
- class ResultBean < NestedResultBase
131
+ class ResultBean < SknUtils::NestedResultBase
132
132
  def initialize(params={})
133
133
  # your other init stuff here
134
134
  super(params) # default taken
@@ -137,7 +137,7 @@ The combination of this NestedResultBase(dot notation class) and AttributeHelper
137
137
 
138
138
  -- or --
139
139
 
140
- class ResultBean < NestedResultBase
140
+ class ResultBean < SknUtils::NestedResultBase
141
141
  def initialize(params={})
142
142
  # your other init stuff here
143
143
  super( params.merge({depth: :multi}) ) # Specified
@@ -145,7 +145,7 @@ The combination of this NestedResultBase(dot notation class) and AttributeHelper
145
145
  end
146
146
 
147
147
  ** - or -- enable serialization and default to multi
148
- class GenericBean < NestedResultBase
148
+ class GenericBean < SknUtils::NestedResultBase
149
149
  def initialize(params={})
150
150
  super( params.merge({enable_serialization: true}) ) # Specified with Serialization Enabled
151
151
  end
@@ -154,7 +154,7 @@ The combination of this NestedResultBase(dot notation class) and AttributeHelper
154
154
 
155
155
  (Follow VALUES that are Hashes and/or Arrays of Hashes, and enable Serializers)
156
156
  ```ruby
157
- class PageControl < NestedResultBase
157
+ class PageControl < SknUtils::NestedResultBase
158
158
  def initialize(params={})
159
159
  super( params.merge({depth: :multi_with_arrays, enable_serialization: true}) ) # override defaults
160
160
  end
@@ -163,7 +163,7 @@ The combination of this NestedResultBase(dot notation class) and AttributeHelper
163
163
 
164
164
 
165
165
  NOTE: Cannot be Marshalled/Serialized unless input params.merge({enable_serialization: true}) -- default is false
166
- Use GenericBean or PageControls if serialization is needed, it initializes with this value true.
166
+ Use GenericBean or PageControls if serialization is needed, they initialize with this value true.
167
167
 
168
168
  ## Installation
169
169
  ----------------
@@ -183,7 +183,7 @@ Or install it yourself as:
183
183
 
184
184
  $ gem install skn_utils
185
185
 
186
- ## Build (If not found in RubyGems Yet...)
186
+ ## Build
187
187
 
188
188
  1. $ git clone git@github.com:skoona/skn_utils.git
189
189
  2. $ cd skn_utils
@@ -133,7 +133,7 @@ module SknUtils
133
133
  singleton_class.send(:attr_accessor, method.to_s[0..-2]) unless serial_required?
134
134
  if multi_with_arrays_required?
135
135
  instance_variable_set("@#{method.to_s[0..-2]}",
136
- (args.flatten.map {|nobj| nobj.kind_of?(Hash) ? self.class.new(nobj) : nobj })
136
+ (args.first.map {|nobj| nobj.kind_of?(Hash) ? self.class.new(nobj) : nobj })
137
137
  )
138
138
  else
139
139
  instance_variable_set "@#{method.to_s[0..-2]}", *args
@@ -1,3 +1,3 @@
1
1
  module SknUtils
2
- VERSION = "1.4.0"
2
+ VERSION = "1.4.1"
3
3
  end
data/skn_utils.gemspec CHANGED
@@ -11,6 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.summary = <<EOF
12
12
  Ruby convenience utilities, the first being a ResultBean.
13
13
 
14
+
14
15
  ResultBean is a PORO (Plain Old Ruby Object) which inherits from NestedResultBean class (inlcuded). This class
15
16
  is intantiated via a hash at Ruby/Rails Runtime, allows access to vars via dot or hash notation,
16
17
  and is serializable via to_xml, to_hash, and to_json.
@@ -18,16 +19,21 @@ EOF
18
19
 
19
20
  spec.description = <<EOF
20
21
  Creates an PORO Object with instance variables and associated getters and setters for each input key, during runtime.
22
+
21
23
 
22
24
  If a key's value is also a hash, it too can optionally become an Object.
25
+
23
26
 
24
27
  If a key's value is a Array of Hashes, each element of the Array can optionally become an Object.
28
+
25
29
 
26
30
  This nesting action is controlled by the value of the options key ':depth'. Options key :depth defaults
27
31
  to :multi, and has options of :single, :multi, or :multi_with_arrays
32
+
28
33
 
29
34
  The ability of the resulting Object to be Marshalled(dump/load) can be preserved by merging configuration options
30
- into the input params key ':enable_serialization' set to true. It defaults to false for speed purposes
35
+ into the input params key ':enable_serialization' set to true. It defaults to false for speed purposes.
36
+
31
37
 
32
38
  Review the RSpec tests, and or review the README for more details.
33
39
  EOF
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skn_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Scott Jr
@@ -81,14 +81,14 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: "Creates an PORO Object with instance variables and associated getters
84
- and setters for each input key, during runtime.\n \nIf a key's value is also a hash,
85
- it too can optionally become an Object.\n \nIf a key's value is a Array of Hashes,
86
- each element of the Array can optionally become an Object.\n \nThis nesting action
87
- is controlled by the value of the options key ':depth'. Options key :depth defaults
88
- \nto :multi, and has options of :single, :multi, or :multi_with_arrays\n \nThe
89
- ability of the resulting Object to be Marshalled(dump/load) can be preserved by
90
- merging configuration options\ninto the input params key ':enable_serialization'
91
- set to true. It defaults to false for speed purposes\n\nReview the RSpec tests,
84
+ and setters for each input key, during runtime.\n\n \nIf a key's value is also a
85
+ hash, it too can optionally become an Object.\n\n \nIf a key's value is a Array
86
+ of Hashes, each element of the Array can optionally become an Object.\n\n \nThis
87
+ nesting action is controlled by the value of the options key ':depth'. Options
88
+ key :depth defaults \nto :multi, and has options of :single, :multi, or :multi_with_arrays\n\n
89
+ \ \nThe ability of the resulting Object to be Marshalled(dump/load) can be preserved
90
+ by merging configuration options\ninto the input params key ':enable_serialization'
91
+ set to true. It defaults to false for speed purposes.\n\n\nReview the RSpec tests,
92
92
  and or review the README for more details.\n"
93
93
  email: skoona@gmail.com
94
94
  executables: []
@@ -142,7 +142,7 @@ rubyforge_project:
142
142
  rubygems_version: 2.4.3
143
143
  signing_key:
144
144
  specification_version: 4
145
- summary: Ruby convenience utilities, the first being a ResultBean. ResultBean is
145
+ summary: Ruby convenience utilities, the first being a ResultBean. ResultBean is
146
146
  a PORO (Plain Old Ruby Object) which inherits from NestedResultBean class (inlcuded).
147
147
  This class is intantiated via a hash at Ruby/Rails Runtime, allows access to vars
148
148
  via dot or hash notation, and is serializable via to_xml, to_hash, and to_json.