Sha256: b3adceaa77708a2e1ad9f08de7d86741e404306e2e76445c4c0d4b6c1c93ac09

Contents?: true

Size: 1.5 KB

Versions: 8

Compression:

Stored size: 1.5 KB

Contents

module Parliament
  module Decorators
    module ConstituencyGroup
      def name
        respond_to?(:constituencyGroupName) ? constituencyGroupName : ''
      end

      def start_date
        respond_to?(:constituencyGroupStartDate) ? DateTime.parse(constituencyGroupStartDate) : nil
      end

      def end_date
        respond_to?(:constituencyGroupEndDate) ? DateTime.parse(constituencyGroupEndDate) : nil
      end

      def seats
        respond_to?(:constituencyGroupHasHouseSeat) ? constituencyGroupHasHouseSeat : []
      end

      def seat_incumbencies
        return @seat_incumbencies unless @seat_incumbencies.nil?

        seat_incumbencies = []
        seats.each do |seat|
          seat_incumbencies << seat.seat_incumbencies
        end

        @seat_incumbencies = seat_incumbencies.flatten.uniq
      end

      def members
        return @members unless @members .nil?

        members = []
        seat_incumbencies.each do |seat_incumbency|
          members << seat_incumbency.member
        end

        @members = members.flatten.uniq
      end

      def area
        respond_to?(:constituencyGroupHasConstituencyArea) ? constituencyGroupHasConstituencyArea.first : nil
      end

      def contact_points
        return @contact_points unless @contact_points.nil?

        contact_points = []
        seat_incumbencies.each do |seat_incumbency|
          contact_points << seat_incumbency.contact_points
        end

        @contact_points = contact_points.flatten.uniq
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
parliament-ruby-0.5.6 lib/parliament/decorators/constituency_group.rb
parliament-ruby-0.5.5 lib/parliament/decorators/constituency_group.rb
parliament-ruby-0.5.4 lib/parliament/decorators/constituency_group.rb
parliament-ruby-0.5.3 lib/parliament/decorators/constituency_group.rb
parliament-ruby-0.5.2 lib/parliament/decorators/constituency_group.rb
parliament-ruby-0.5.1 lib/parliament/decorators/constituency_group.rb
parliament-ruby-0.5.0 lib/parliament/decorators/constituency_group.rb
parliament-ruby-0.4.1 lib/parliament/decorators/constituency_group.rb