parliament-grom-decorators 0.3.0 → 0.4.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: 9aa580be59d499c376ed65fcd8660bc8a38903e4
4
- data.tar.gz: 0ae180d2b2341637557aecbcf346cf2aeaf3b8d4
3
+ metadata.gz: e649faeeb48c56cf61abf0e55bb06388b8a9b5cc
4
+ data.tar.gz: 7242fcbffaeec3b80d423611aca29b6e6067d6f4
5
5
  SHA512:
6
- metadata.gz: aa3aef044d6bcb8c9940b3c84d73f1f75b04f069fc81292e6c16c2f5011067354fddf4d3ceb3e12970f878c9b65a1804800b4c663a70d7d2b212e83462c46cdf
7
- data.tar.gz: c7820078e6ff6bce645b07f6ec2298fd0ccabb0481af7aee810487f79538409cd62cf7460fdfcabdc505215758631bfe7720bbe6ede5f63b0c00ea1766112c21
6
+ metadata.gz: dbcd078abc3abf833e794fd5f4fc873c46461405201d4b06bec1f63f7bd23ae70f936fce6513101f3dab04509024cad10dcb2f21e09226e631d7013658d90699
7
+ data.tar.gz: f956fa3a5576996215614f0b0358bb17b61834bcf7c9cf1f8126c63a5127359f84f4735ea9d007e28fb2eb58bd65721b9979177166732ab16fd09fd0a6711744
@@ -17,6 +17,8 @@ require 'parliament/grom/decorator/postal_address'
17
17
  require 'parliament/grom/decorator/seat_incumbency'
18
18
  require 'parliament/grom/decorator/parliaments'
19
19
  require 'parliament/grom/decorator/member_image'
20
+ require 'parliament/grom/decorator/formal_body_membership'
21
+ require 'parliament/grom/decorator/formal_body'
20
22
 
21
23
  # Namespace for classes and modules that handle connections to, and processing of data from the parliamentary API.
22
24
  # @since 0.1.0
@@ -0,0 +1,16 @@
1
+ module Parliament
2
+ module Grom
3
+ module Decorator
4
+ # Decorator namespace for Grom::Node instances with type: http://id.ukpds.org/schema/FormalBody.
5
+ # rubocop:disable ModuleLength
6
+ module FormalBody
7
+ # Checks if Grom::Node has a name.
8
+ #
9
+ # @return [String, String] a string depending on whether or not the Grom::Node has a name.
10
+ def name
11
+ @name ||= respond_to?(:formalBodyName) ? formalBodyName : ''
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,39 @@
1
+ module Parliament
2
+ module Grom
3
+ module Decorator
4
+ # Decorator namespace for Grom::Node instances with type: http://id.ukpds.org/schema/FormalBodyMembership.
5
+ # rubocop:disable ModuleLength
6
+ module FormalBodyMembership
7
+ include Helpers::DateHelper
8
+
9
+ # Alias formalBodyMembershipStartDate with fallback.
10
+ #
11
+ # @return [DateTime, nil] the start date of the Grom::Node or nil.
12
+ def start_date
13
+ @start_date ||= respond_to?(:formalBodyMembershipStartDate) ? DateTime.parse(formalBodyMembershipStartDate) : nil
14
+ end
15
+
16
+ # Alias formalBodyMembershipEndDate with fallback.
17
+ #
18
+ # @return [DateTime, nil] the end date of the Grom::Node or nil.
19
+ def end_date
20
+ @end_date ||= respond_to?(:formalBodyMembershipEndDate) ? DateTime.parse(formalBodyMembershipEndDate) : nil
21
+ end
22
+
23
+ # Checks if Grom::Node has an end date.
24
+ #
25
+ # @return [Boolean] a boolean depending on whether or not the Grom::Node has an end date.
26
+ def current?
27
+ end_date.nil?
28
+ end
29
+
30
+ # Alias formalBodyMembershipFormalBody with fallback.
31
+ #
32
+ # @return [Grom::Node, nil] the start date of the Grom::Node or nil.
33
+ def formal_body
34
+ respond_to?(:formalBodyMembershipHasFormalBody) ? formalBodyMembershipHasFormalBody&.first : nil
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -183,6 +183,13 @@ module Parliament
183
183
  respond_to?(:A5EE13ABE03C4D3A8F1A274F57097B6C) ? self.A5EE13ABE03C4D3A8F1A274F57097B6C : ''
184
184
  end
185
185
 
186
+ # Alias memberHasFormalBodyMembership with fallback.
187
+ #
188
+ # @return [Array, Array] all the formal body memberships of the Grom::Node or an empty array.
189
+ def formal_body_memberships
190
+ respond_to?(:memberHasFormalBodyMembership) ? memberHasFormalBodyMembership : []
191
+ end
192
+
186
193
  private
187
194
 
188
195
  def house_membership_status
@@ -1,7 +1,7 @@
1
1
  module Parliament
2
2
  module Grom
3
3
  module Decorator
4
- VERSION = '0.3.0'.freeze
4
+ VERSION = '0.4.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.3.0
4
+ version: 0.4.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: 2017-08-17 00:00:00.000000000 Z
11
+ date: 2017-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -175,6 +175,8 @@ files:
175
175
  - lib/parliament/grom/decorator/constituency_group.rb
176
176
  - lib/parliament/grom/decorator/contact_point.rb
177
177
  - lib/parliament/grom/decorator/european_region.rb
178
+ - lib/parliament/grom/decorator/formal_body.rb
179
+ - lib/parliament/grom/decorator/formal_body_membership.rb
178
180
  - lib/parliament/grom/decorator/gender.rb
179
181
  - lib/parliament/grom/decorator/gender_identity.rb
180
182
  - lib/parliament/grom/decorator/helpers.rb