Class: ChurchCommunityBuilder::Transaction

Inherits:
ApiObject
  • Object
show all
Defined in:
lib/api/transaction.rb

Instance Attribute Summary

Attributes inherited from ApiObject

#error_messages, #marked_for_destruction

Instance Method Summary collapse

Methods inherited from ApiObject

__ccb_attributes, ccb_attr_accessor, #initialize_from_json_object, #is_deleted?, #set_attributes, #to_attributes

Constructor Details

#initialize(json_data = nil, options = {}) ⇒ Transaction

Returns a new instance of Transaction.



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/api/transaction.rb', line 22

def initialize(json_data = nil, options = {})
  initialize_from_json_object(json_data) unless json_data.nil?

  if json_data["transaction"].nil?
    transaction_json = json_data
  else
    transaction_json = json_data["transaction"]
  end
  
  initialize_from_json_object(transaction_json) unless transaction_json.nil?
end

Instance Method Details

#amountObject



82
83
84
85
86
87
88
89
# File 'lib/api/transaction.rb', line 82

def amount
  return nil if self.transaction_details.nil?
  if multiple_transactions?
    self.transaction_details["transaction_detail"].collect{ |trans| trans["amount"] }     
  else
    self.transaction_details["transaction_detail"]["amount"]      
  end
end

#as_splitsObject



92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/api/transaction.rb', line 92

def as_splits
  return nil if self.transaction_details.nil?
  vals = []
  if multiple_transactions?
    self.transaction_details["transaction_detail"].each_with_index do |trans, indx| 
      vals << {:transaction_detail_id => trans['id'],
               :fund_id => trans["coa"]["id"],
               :fund_name => trans["coa"]["content"],
               :amount => self.transaction_details["transaction_detail"][indx]["amount"]}
    end
  else 
    vals << {:transaction_detail_id => self.transaction_details["transaction_detail"]["id"],
             :fund_id => self.transaction_details["transaction_detail"]["coa"]["id"],
             :fund_name => self.transaction_details["transaction_detail"]["coa"]["content"],
             :amount => self.transaction_details["transaction_detail"]["amount"]}
  end
  return vals
end

#campus_idObject



34
35
36
# File 'lib/api/transaction.rb', line 34

def campus_id
  self.campus["id"]
end

#campus_nameObject



38
39
40
# File 'lib/api/transaction.rb', line 38

def campus_name
  self.campus["content"]
end

#fund_idObject



64
65
66
67
68
69
70
71
# File 'lib/api/transaction.rb', line 64

def fund_id
  return nil if self.transaction_details.nil?
  if multiple_transactions?
    self.transaction_details["transaction_detail"].each{ |trans| trans["coa"]["id"] }
  else
    self.transaction_details["transaction_detail"]["coa"]["id"]
  end
end

#fund_nameObject



73
74
75
76
77
78
79
80
# File 'lib/api/transaction.rb', line 73

def fund_name
  return nil if self.transaction_details.nil?
  if multiple_transactions?
    self.transaction_details["transaction_detail"].collect{ |trans| trans["coa"]["content"] }
  else
    self.transaction_details["transaction_detail"]["coa"]["content"]
  end
end

#individual_idObject



42
43
44
# File 'lib/api/transaction.rb', line 42

def individual_id
  self.individual["id"]
end

#individual_nameObject



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

def individual_name
  self.individual["content"]
end

#multiple_transactions?Boolean

Returns:

  • (Boolean)


50
51
52
53
# File 'lib/api/transaction.rb', line 50

def multiple_transactions?
  return false if self.transaction_details.nil?
  self.transaction_details["transaction_detail"].is_a?(Array)
end

#transaction_detail_idObject



55
56
57
58
59
60
61
62
# File 'lib/api/transaction.rb', line 55

def transaction_detail_id
  return nil if self.transaction_details.nil?
  if multiple_transactions?
    self.transaction_details["transaction_detail"].each{ |trans| trans["id"] }
  else
    self.transaction_details["transaction_detail"]["id"]
  end
end