Module: Parliament::Grom::Decorator::ContactPoint

Defined in:
lib/parliament/grom/decorator/contact_point.rb

Overview

Decorator namespace for Grom::Node instances with type: id.parliament.uk/schema/ContactPoint

Since:

  • 0.1.0

Constant Summary collapse

ATTRIBUTE_LENGTH_LIMIT_HACK =

A hack has been added to postal_addresses, email, phone_number and fax_number to remove any details that are less than ATTRIBUTE_LENGTH_LIMIT_HACK in length including “.” and “-” addresses when these have been mistakenly entered into Mnis

Since:

  • 0.1.0

1

Instance Method Summary collapse

Instance Method Details

#emailString

Alias email with fallback.

Since:

  • 0.1.0



20
21
22
# File 'lib/parliament/grom/decorator/contact_point.rb', line 20

def email
  @email_decorator ||= instance_variable_get('@email'.to_sym) && instance_variable_get('@email'.to_sym).length > ATTRIBUTE_LENGTH_LIMIT_HACK ? instance_variable_get('@email'.to_sym).strip : ''
end

#fax_numberString

Alias faxNumber with fallback.

Since:

  • 0.1.0



34
35
36
# File 'lib/parliament/grom/decorator/contact_point.rb', line 34

def fax_number
  @fax_number ||= respond_to?(:faxNumber) && faxNumber.length > ATTRIBUTE_LENGTH_LIMIT_HACK ? faxNumber : ''
end

#parliamentary_incumbencyGrom::Node?

Alias contactPointHasParliamentaryIncumbency with fallback.

Since:

  • 0.1.0



48
49
50
# File 'lib/parliament/grom/decorator/contact_point.rb', line 48

def parliamentary_incumbency
  respond_to?(:contactPointHasParliamentaryIncumbency) ? contactPointHasParliamentaryIncumbency.first : nil
end

#personArray

Alias contactPointHasPerson with fallback.

Since:

  • 0.1.0



41
42
43
# File 'lib/parliament/grom/decorator/contact_point.rb', line 41

def person
  respond_to?(:contactPointHasPerson) ? contactPointHasPerson : []
end

#phone_numberString

Alias phoneNumber with fallback.

Since:

  • 0.1.0



27
28
29
# File 'lib/parliament/grom/decorator/contact_point.rb', line 27

def phone_number
  @phone_number ||= respond_to?(:phoneNumber) && phoneNumber.length > ATTRIBUTE_LENGTH_LIMIT_HACK ? phoneNumber : ''
end

#postal_addressesArray

Alias contactPointHasPostalAddress with fallback.

Since:

  • 0.1.0



13
14
15
# File 'lib/parliament/grom/decorator/contact_point.rb', line 13

def postal_addresses
  @postal_addresses ||= respond_to?(:contactPointHasPostalAddress) ? contactPointHasPostalAddress.reject { |address| address.full_address.length <= ATTRIBUTE_LENGTH_LIMIT_HACK } : []
end