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