Sha256: d893c254e6410437cdbd312e5e8bc739137f4e579045962428b32ce7d70a82f4

Contents?: true

Size: 1.23 KB

Versions: 10

Compression:

Stored size: 1.23 KB

Contents

module ChurchCommunityBuilder

  class TransactionList

    include Enumerable

    attr_reader :transaction_array #for debugging
                


    def initialize(json_data)
      
      # if @json_data['transaction'] is a single item, it will be returned
      # as a Hash, rather than a single element Array, containing the Hash.
      #
      if json_data["transaction"].is_a?(Array)
        @transaction_array = json_data["transaction"]
      
      elsif json_data["transaction"].is_a?(Hash)
        @transaction_array = []
        @transaction_array << json_data["transaction"] #array of each transaction
      end

    end

    def all_names
      return [] unless @transaction_array
      @transaction_array.collect { |transaction| transaction['individual']['content'] }
    end

    def ids
      (@transaction_array.collect { |transaction| transaction['id'] }).uniq
    end

    def [](index)
      Transaction.new( @transaction_array[index] ) if @transaction_array and @transaction_array[index]
    end


    # This method is needed for Enumerable.
    def each &block
      @transaction_array.each{ |transaction| yield( Transaction.new(transaction) )}
    end


    def empty?
      @transaction_array.size == 0 ? true : false
    end

  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
church-community-builder-0.2.2 lib/api/transaction_list.rb
church-community-builder-0.2.1 lib/api/transaction_list.rb
church-community-builder-0.2.0 lib/api/transaction_list.rb
church-community-builder-0.1.6 lib/api/transaction_list.rb
church-community-builder-0.1.5 lib/api/transaction_list.rb
church-community-builder-0.1.4 lib/api/transaction_list.rb
church-community-builder-0.1.3 lib/api/transaction_list.rb
church-community-builder-0.1.2 lib/api/transaction_list.rb
church-community-builder-0.1.1 lib/api/transaction_list.rb
church-community-builder-0.1.0 lib/api/transaction_list.rb