Sha256: 2ac9245ecaea3e9297e2a0e8d8fe610ec7abb82772b4db4a2b802b6f7000e2d1
Contents?: true
Size: 1.46 KB
Versions: 4
Compression:
Stored size: 1.46 KB
Contents
require 'parliament/grom/decorator/version' require 'parliament/grom/decorator/constituency_area' require 'parliament/grom/decorator/constituency_group' require 'parliament/grom/decorator/contact_point' require 'parliament/grom/decorator/gender' require 'parliament/grom/decorator/gender_identity' require 'parliament/grom/decorator/house' require 'parliament/grom/decorator/house_incumbency' require 'parliament/grom/decorator/house_seat' require 'parliament/grom/decorator/incumbency' require 'parliament/grom/decorator/party' require 'parliament/grom/decorator/party_membership' require 'parliament/grom/decorator/person' require 'parliament/grom/decorator/postal_address' require 'parliament/grom/decorator/seat_incumbency' # Namespace for classes and modules that handle connections to, and processing of data from the parliamentary API. # @since 0.1.0 module Parliament module Grom # Namespace for Grom decorators. # # @since 0.1.0 module Decorator # Decorates objects with alias methods extended from its decorator module. # # @param [Grom::Node] object the object to be decorated. 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 end end end
Version data entries
4 entries across 4 versions & 1 rubygems