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 +4 -4
- data/lib/parliament/grom/decorator.rb +2 -0
- data/lib/parliament/grom/decorator/formal_body.rb +16 -0
- data/lib/parliament/grom/decorator/formal_body_membership.rb +39 -0
- data/lib/parliament/grom/decorator/person.rb +7 -0
- data/lib/parliament/grom/decorator/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e649faeeb48c56cf61abf0e55bb06388b8a9b5cc
|
4
|
+
data.tar.gz: 7242fcbffaeec3b80d423611aca29b6e6067d6f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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.
|
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-
|
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
|