parliament-grom-decorators 0.27.7 → 0.29.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 47db897947e04f3f2e7481252d8bcc8a55947503d7b9214f3200068f03bdde84
4
- data.tar.gz: e52b868d8a46f7aa84aec9c20001261e6e77b7a0ddbd326837050837043fb0c0
2
+ SHA1:
3
+ metadata.gz: 69068c3ab18f674b86ff50b32a608f8bfc6453b1
4
+ data.tar.gz: 322b764827d32d6017cae3ed08002dafc185a3cf
5
5
  SHA512:
6
- metadata.gz: d8685431d8bbbe013636adfacdd2113c02c9461def37aae4e21db5c6e7750d110c91edc04cb4feefb36c21c5b1827f0eaee2331d9282eba05844c12037939499
7
- data.tar.gz: 027ee5f5fa6b2f2deefac2f5b30933a499f5c34187e15635cc8ad445c2af04f69b811a1c37c658eecff015c64bee873c318724857de9030d2cf279f70c356b74
6
+ metadata.gz: c281487dfc8d0c27875214bfbacbd234efaa7a303b2be9b430f6fcf1b812992a3b6711d2d84dcc95eeac398fed3f48b768849f3abfe3b20e2249e7132f014d82
7
+ data.tar.gz: 78d073630b3ec21f2cf916da27dff4a1b36c71a3a39c43f7d5cfecff3f45c135f62023ef62e9e19adbaf1ee4a6da8ea91271a76e0b623559304d4dcde889a53e
@@ -122,20 +122,34 @@ module Parliament
122
122
  I18n.backend.load_translations
123
123
  end
124
124
 
125
- # Decorates objects with alias methods extended from its decorator module.
125
+ # Decorates objects with alias methods extended from decorator modules.
126
+ # This method reads each of the `#type` values and extends the object with a decorator for that type,
127
+ # if available.
126
128
  #
127
129
  # @param [Grom::Node] object the object to be decorated.
130
+ # @return [Grom::Node] the object which has been decorated.
128
131
  def decorate(object)
129
132
  return object unless object.respond_to?(:type)
130
133
 
131
134
  Array(object.type).each do |type|
132
- decorator = MAPPING[::Grom::Helper.get_id(type)] # Get the decorator for a type, or nil
133
-
134
- object.extend(decorator) unless decorator.nil?
135
+ object = decorate_with_type(object, type)
135
136
  end
136
137
 
137
138
  object
138
139
  end
140
+
141
+ # Decorates objects with alias methods extended from a decorator module.
142
+ # This method decorated an object with a module matching the type provided.
143
+ #
144
+ # @param [Grom::Node] object the object to be decorated.
145
+ # @param [string] type the type we are decorating our object for/
146
+ # @return [Grom::Node] the object which has been decorated.
147
+ def decorate_with_type(object, type)
148
+ decorator = MAPPING[::Grom::Helper.get_id(type)] # Get the decorator for a type, or nil
149
+ object.extend(decorator) unless decorator.nil?
150
+
151
+ object
152
+ end
139
153
  end
140
154
  end
141
155
  end
@@ -1,7 +1,7 @@
1
1
  module Parliament
2
2
  module Grom
3
3
  module Decorator
4
- VERSION = '0.27.7'.freeze
4
+ VERSION = '0.29.0'.freeze
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parliament-grom-decorators
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.7
4
+ version: 0.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rebecca Appleyard
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-08-31 00:00:00.000000000 Z
11
+ date: 2018-09-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -246,7 +246,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
246
246
  version: '0'
247
247
  requirements: []
248
248
  rubyforge_project:
249
- rubygems_version: 2.7.6
249
+ rubygems_version: 2.6.8
250
250
  signing_key:
251
251
  specification_version: 4
252
252
  summary: Parliamentary Grom decorator