Class: ChurchCommunityBuilder::TransactionList

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/api/transaction_list.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(json_data) ⇒ TransactionList

Returns a new instance of TransactionList.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/api/transaction_list.rb', line 11

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

Instance Attribute Details

#transaction_arrayObject (readonly)

for debugging



7
8
9
# File 'lib/api/transaction_list.rb', line 7

def transaction_array
  @transaction_array
end

Instance Method Details

#[](index) ⇒ Object



35
36
37
# File 'lib/api/transaction_list.rb', line 35

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

#all_namesObject



26
27
28
29
# File 'lib/api/transaction_list.rb', line 26

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

#each(&block) ⇒ Object

This method is needed for Enumerable.



41
42
43
# File 'lib/api/transaction_list.rb', line 41

def each &block
  @transaction_array.each{ |transaction| yield( Transaction.new(transaction) )}
end

#empty?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/api/transaction_list.rb', line 46

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

#idsObject



31
32
33
# File 'lib/api/transaction_list.rb', line 31

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