Class: ChurchCommunityBuilder::MergeableTransactionList
- Inherits:
-
Object
- Object
- ChurchCommunityBuilder::MergeableTransactionList
- Includes:
- Enumerable
- Defined in:
- lib/api/mergeable_transaction_list.rb
Instance Attribute Summary collapse
-
#transaction_array ⇒ Object
readonly
for debugging.
Instance Method Summary collapse
- #[](index) ⇒ Object
-
#add(transaction_type) ⇒ Object
(also: #merge)
Adds an TransactionList, MergeableTransactionList, or Transaction to this list.
- #all_names ⇒ Object
- #count ⇒ Object
-
#each(&block) ⇒ Object
This method is needed for Enumerable.
- #empty? ⇒ Boolean
-
#ids ⇒ Object
Get all the Transaction ids in the list.
-
#initialize(transaction_list = nil) ⇒ MergeableTransactionList
constructor
A new instance of MergeableTransactionList.
Constructor Details
#initialize(transaction_list = nil) ⇒ MergeableTransactionList
Returns a new instance of MergeableTransactionList.
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/api/mergeable_transaction_list.rb', line 10 def initialize(transaction_list = nil) if transaction_list.nil? @transaction_array = [] else @transaction_array = transaction_list.transaction_array end end |
Instance Attribute Details
#transaction_array ⇒ Object (readonly)
for debugging
7 8 9 |
# File 'lib/api/mergeable_transaction_list.rb', line 7 def transaction_array @transaction_array end |
Instance Method Details
#[](index) ⇒ Object
27 28 29 |
# File 'lib/api/mergeable_transaction_list.rb', line 27 def [](index) Transaction.new( @transaction_array[index] ) if @transaction_array and @transaction_array[index] end |
#add(transaction_type) ⇒ Object Also known as: merge
Adds an TransactionList, MergeableTransactionList, or Transaction to this list.
46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/api/mergeable_transaction_list.rb', line 46 def add(transaction_type) if transaction_type.is_a?(TransactionList) @transaction_array += transaction_type.transaction_array elsif transaction_type.is_a?(MergeableTransactionList) @transaction_array += transaction_type.transaction_array elsif transaction_type.is_a?(Transaction) @transaction_array << JSON.parse( transaction_type.to_json ) end end |
#all_names ⇒ Object
22 23 24 25 |
# File 'lib/api/mergeable_transaction_list.rb', line 22 def all_names return [] unless @transaction_array @transaction_array.collect { |transaction| transaction['individual']['content'] } end |
#count ⇒ Object
63 64 65 |
# File 'lib/api/mergeable_transaction_list.rb', line 63 def count @transaction_array.size end |
#each(&block) ⇒ Object
This method is needed for Enumerable.
33 34 35 |
# File 'lib/api/mergeable_transaction_list.rb', line 33 def each &block @transaction_array.each{ |transaction| yield( Transaction.new(transaction) )} end |
#empty? ⇒ Boolean
68 69 70 |
# File 'lib/api/mergeable_transaction_list.rb', line 68 def empty? self.count == 0 ? true : false end |
#ids ⇒ Object
Get all the Transaction ids in the list.
40 41 42 |
# File 'lib/api/mergeable_transaction_list.rb', line 40 def ids (@transaction_array.collect { |transaction| transaction['id'] }).uniq end |