parliament-grom-decorators 0.19.0 → 0.21.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
2
  SHA1:
3
- metadata.gz: 742d93ef812fedee07314bb1ada949b19f74f792
4
- data.tar.gz: 70597d5d914cbb9a69616b01212bc0d0fa19196c
3
+ metadata.gz: 44c72d9a1e0fc0b7a40b4e1b97c79e3373354ee1
4
+ data.tar.gz: 3b32387abe30262d8d3f9f1a2dbad8c7b3a4b410
5
5
  SHA512:
6
- metadata.gz: a7d9fad3a90a6a24f4a8f9dd0992362c7d0da67590c1841d0c78cc0f6092932e40330e697ad21c56328c0a77f371c72bb3d13ca89d8675f0e83c0575cea03b16
7
- data.tar.gz: 531e1e5af2dd78b77bee189157393601f70c54755251a518737f1075fe069b2c5e91c4d9067a52c9e8e8d48f7710fb6d75c474d364102bef6b571c204cbd193b
6
+ metadata.gz: 75044e486238942c833d16358f5338ee9ae8f365c45856d7a9e08e28250585f7aed5499b9954fc055fb00722d4862f364d6030091c4e5aa41881071d39c7b542
7
+ data.tar.gz: 263affcc1f71617e4510aded468623899ee118f775c56326c3aee1cc143ba1b9cd760814818dacc060dacbf619ff0f81270d80188e0d28879bf30af77e93b2ed
@@ -13,6 +13,13 @@ module Parliament
13
13
  @name ||= respond_to?(:formalBodyName) ? formalBodyName : ''
14
14
  end
15
15
 
16
+ # Checks if Grom::Node has a chair.
17
+ #
18
+ # @return [Boolean] a boolean depending on whether or not the Grom::Node is chair.
19
+ def has_chair?
20
+ respond_to?(:formalBodyHasFormalBodyChair)
21
+ end
22
+
16
23
  # Alias formalBodyStartDate with fallback.
17
24
  #
18
25
  # @return [DateTime, nil] the start date of the Grom::Node or nil.
@@ -20,6 +27,20 @@ module Parliament
20
27
  @start_date ||= respond_to?(:formalBodyStartDate) ? DateTime.parse(formalBodyStartDate) : nil
21
28
  end
22
29
 
30
+ # Checks if Grom::Node has a remit.
31
+ #
32
+ # @return [String, String] a string depending on whether or not the Grom::Node has a remit.
33
+ def remit
34
+ @remit ||= respond_to?(:formalBodyRemit) ? formalBodyRemit : ''
35
+ end
36
+
37
+ # Checks if Grom::Node is joint.
38
+ #
39
+ # @return [Boolean] a boolean depending on whether or not the Grom::Node is joint.
40
+ def joint?
41
+ respond_to?(:formalBodyHasLeadHouse)
42
+ end
43
+
23
44
  # Alias formalBodyEndDate with fallback.
24
45
  #
25
46
  # @return [DateTime, nil] the end date of the Grom::Node or nil.
@@ -0,0 +1,16 @@
1
+ module Parliament
2
+ module Grom
3
+ module Decorator
4
+ # Decorator namespace for Grom::Node instances with type: https://id.parliament.uk/schema/FormalBodyChair.
5
+ # rubocop:disable ModuleLength
6
+ module FormalBodyType
7
+ # Checks if Grom::Node has a formal body type name.
8
+ #
9
+ # @return [String, String] a string depending on whether or not the Grom::Node has a formal body type name.
10
+ def name
11
+ respond_to?(:formalbodyTypeName) ? formalbodyTypeName : ''
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -13,6 +13,41 @@ module Parliament
13
13
  @start_date ||= respond_to?(:groupStartDate) ? DateTime.parse(groupStartDate) : nil
14
14
  end
15
15
 
16
+ # Alias formalBodyName with fallback.
17
+ #
18
+ # @return [String, String] the formal body name of the Grom::Node or an empty string.
19
+ def formal_body_name
20
+ @formal_body_name ||= respond_to?(:formalBodyName) ? formalBodyName : ''
21
+ end
22
+
23
+ # Alias formalBodyRemit with fallback.
24
+ #
25
+ # @return [String, String] the formal body remit of the Grom::Node or an empty string.
26
+ def formal_body_remit
27
+ @formal_body_remit ||= respond_to?(:formalBodyRemit) ? formalBodyRemit : ''
28
+ end
29
+
30
+ # Alias member count with fallback.
31
+ #
32
+ # @return [Integer, nil] the count of members of the Grom::Node or nil.
33
+ def member_count
34
+ respond_to?(:count) ? count.to_i : nil
35
+ end
36
+
37
+ # Alias is_joint with fallback.
38
+ #
39
+ # @return [Boolean] a boolean depending on whether or not the Grom::Node is joint.
40
+ def joint?
41
+ respond_to?(:formalBodyHasLeadHouse)
42
+ end
43
+
44
+ # Alias is_chair with fallback.
45
+ #
46
+ # @return [Boolean] a boolean depending on whether or not the Grom::Node is chair.
47
+ def has_chair?
48
+ respond_to?(:formalBodyHasFormalBodyChair)
49
+ end
50
+
16
51
  # Alias groupEndDate with fallback.
17
52
  #
18
53
  # @return [DateTime, nil] the end date of the Grom::Node or nil.
@@ -200,6 +200,27 @@ module Parliament
200
200
  current_member_by_house?('House of Lords')
201
201
  end
202
202
 
203
+ # Check whether member is an ex_officio?.
204
+ #
205
+ # @return [Boolean] a boolean depending on whether or not member is an ex_officio?
206
+ def ex_officio?
207
+ respond_to?(:memberHasExOfficioMembership)
208
+ end
209
+
210
+ # Check whether member is an alternate?.
211
+ #
212
+ # @return [Boolean] a boolean depending on whether or not member is an alternate?
213
+ def alternate?
214
+ respond_to?(:memberHasAlternateMembership)
215
+ end
216
+
217
+ # Check whether person is a lay member?.
218
+ #
219
+ # @return [Boolean] a boolean depending on whether or person is a lay member or not
220
+ def lay_member?
221
+ respond_to?(:formalBodyLayPersonMnisId)
222
+ end
223
+
203
224
  # Check whether they are a former member of the House of Lords.
204
225
  #
205
226
  # @return [Boolean] a boolean depending on whether or not they have a current seat incumbency in the House of Lords.
@@ -1,7 +1,7 @@
1
1
  module Parliament
2
2
  module Grom
3
3
  module Decorator
4
- VERSION = '0.19.0'.freeze
4
+ VERSION = '0.21.0'.freeze
5
5
  end
6
6
  end
7
7
  end
@@ -18,6 +18,7 @@ require 'parliament/grom/decorator/parliaments'
18
18
  require 'parliament/grom/decorator/member_image'
19
19
  require 'parliament/grom/decorator/formal_body_membership'
20
20
  require 'parliament/grom/decorator/formal_body'
21
+ require 'parliament/grom/decorator/formal_body_type'
21
22
  require 'parliament/grom/decorator/government_incumbency'
22
23
  require 'parliament/grom/decorator/government_position'
23
24
  require 'parliament/grom/decorator/opposition_incumbency'
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.19.0
4
+ version: 0.21.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-03-19 00:00:00.000000000 Z
11
+ date: 2018-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -183,6 +183,7 @@ files:
183
183
  - lib/parliament/grom/decorator/formal_body.rb
184
184
  - lib/parliament/grom/decorator/formal_body_chair.rb
185
185
  - lib/parliament/grom/decorator/formal_body_membership.rb
186
+ - lib/parliament/grom/decorator/formal_body_type.rb
186
187
  - lib/parliament/grom/decorator/gender.rb
187
188
  - lib/parliament/grom/decorator/gender_identity.rb
188
189
  - lib/parliament/grom/decorator/gov_register_government_organisation.rb