Module: Parliament::Grom::Decorator

Defined in:
lib/parliament/grom/decorator.rb,
lib/parliament/grom/decorator/house.rb,
lib/parliament/grom/decorator/party.rb,
lib/parliament/grom/decorator/gender.rb,
lib/parliament/grom/decorator/person.rb,
lib/parliament/grom/decorator/helpers.rb,
lib/parliament/grom/decorator/version.rb,
lib/parliament/grom/decorator/house_seat.rb,
lib/parliament/grom/decorator/incumbency.rb,
lib/parliament/grom/decorator/formal_body.rb,
lib/parliament/grom/decorator/parliaments.rb,
lib/parliament/grom/decorator/member_image.rb,
lib/parliament/grom/decorator/contact_point.rb,
lib/parliament/grom/decorator/postal_address.rb,
lib/parliament/grom/decorator/european_region.rb,
lib/parliament/grom/decorator/gender_identity.rb,
lib/parliament/grom/decorator/seat_incumbency.rb,
lib/parliament/grom/decorator/house_incumbency.rb,
lib/parliament/grom/decorator/party_membership.rb,
lib/parliament/grom/decorator/constituency_area.rb,
lib/parliament/grom/decorator/constituency_group.rb,
lib/parliament/grom/decorator/helpers/date_helper.rb,
lib/parliament/grom/decorator/formal_body_membership.rb

Overview

Namespace for Grom decorators.

Since:

  • 0.1.0

Defined Under Namespace

Modules: ConstituencyArea, ConstituencyGroup, ContactPoint, EuropeanRegion, FormalBody, FormalBodyMembership, Gender, GenderIdentity, Helpers, House, HouseIncumbency, HouseSeat, Incumbency, MemberImage, ParliamentPeriod, Party, PartyMembership, Person, PostalAddress, SeatIncumbency

Constant Summary collapse

VERSION =

Since:

  • 0.1.0

'0.6.0'.freeze

Class Method Summary collapse

Class Method Details

.decorate(object) ⇒ Object

Decorates objects with alias methods extended from its decorator module.

Parameters:

  • object (Grom::Node)

    the object to be decorated.

Since:

  • 0.1.0



43
44
45
46
47
48
49
50
51
52
# File 'lib/parliament/grom/decorator.rb', line 43

def self.decorate(object)
  return object unless object.respond_to?(:type)

  object_type = ::Grom::Helper.get_id(object.type)

  return object unless constants.include?(object_type.to_sym)

  decorator_module = Object.const_get("Parliament::Grom::Decorator::#{object_type}")
  object.extend(decorator_module)
end

.gem_pathObject

Gets the root directory of the gem

Since:

  • 0.1.0



32
33
34
# File 'lib/parliament/grom/decorator.rb', line 32

def self.gem_path
  File.expand_path '../../../../', __FILE__
end