Sha256: 59a91361c7dbd5d48a52f50477bb48e3abdee1d83701baf6e74704fa09d4e266

Contents?: true

Size: 739 Bytes

Versions: 8

Compression:

Stored size: 739 Bytes

Contents

module PensioAPI
  module Responses
    class Terminal < Base
      include Enumerable

      attr_reader :terminals

      def initialize(request)
        super(request)

        map_terminals
      end

      def each
        @terminals.each { |t| yield t }
      end

      def last
        @terminals.last
      end

      private

      def map_terminals
        @terminals = if raw_terminals.is_a?(Array)
          raw_terminals.map { |t| PensioAPI::Terminal.new(t) }
        else
          [PensioAPI::Terminal.new(raw_terminals)]
        end
      end

      def raw_terminals
        @raw_terminals ||= if @raw['Terminals']
          @raw['Terminals']['Terminal']
        else
          []
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
pensio_api-0.3.5 lib/pensio_api/responses/terminal.rb
pensio_api-0.3.4 lib/pensio_api/responses/terminal.rb
pensio_api-0.3.3 lib/pensio_api/responses/terminal.rb
pensio_api-0.3.2 lib/pensio_api/responses/terminal.rb
pensio_api-0.3.1 lib/pensio_api/responses/terminal.rb
pensio_api-0.3.0 lib/pensio_api/responses/terminal.rb
pensio_api-0.2.3 lib/pensio_api/responses/terminal.rb
pensio_api-0.2.2 lib/pensio_api/responses/terminal.rb