Class: Dwolla::Transactions

Inherits:
Object
  • Object
show all
Defined in:
lib/dwolla/transactions.rb

Class Method Summary collapse

Class Method Details

.create(params = {}, token = nil) ⇒ Object Also known as: send



24
25
26
27
28
29
30
31
# File 'lib/dwolla/transactions.rb', line 24

def self.create(params={}, token=nil)
    raise MissingParameterError.new('No Destination ID Provided.') unless params[:destinationId]
    raise MissingParameterError.new('No Amount Provided.') unless params[:amount]

    url = transactions_url + 'send'

    Dwolla.request(:post, url, params, {}, token)
end

.delete_all_scheduled(params = {}, token = nil) ⇒ Object



91
92
93
94
95
96
97
# File 'lib/dwolla/transactions.rb', line 91

def self.delete_all_scheduled(params={}, token=nil)
    raise MissingParameterError.new('No PIN Provided.') unless params[:pin]

    url = transactions_url + 'scheduled' 

    Dwolla.request(:delete, url, params, {}, token)
end

.delete_scheduled_by_id(id, params = {}, token = nil) ⇒ Object



81
82
83
84
85
86
87
88
89
# File 'lib/dwolla/transactions.rb', line 81

def self.delete_scheduled_by_id(id, params={}, token=nil)
    raise MissingParameterError.new('No PIN Provided.') unless params[:pin]
    raise MissingParameterError.new('No Scheduled Transaction ID Provided.') unless id

    url = transactions_url + 'scheduled/'
    url += id.to_s unless id.nil?

    Dwolla.request(:delete, url, params, {}, token)
end

.edit_scheduled(id, params = {}, token = nil) ⇒ Object



71
72
73
74
75
76
77
78
79
# File 'lib/dwolla/transactions.rb', line 71

def self.edit_scheduled(id, params={}, token=nil)
    raise MissingParameterError.new('No PIN Provided.') unless params[:pin]
    raise MissingParameterError.new('No Scheduled Transaction ID Provided.') unless id

    url = transactions_url + 'scheduled/' 
    url += id.to_s unless id.nil?

    Dwolla.request(:put, url, params, {}, token)
end

.get(id = nil, filters = {}, token = nil) ⇒ Object Also known as: listing



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/dwolla/transactions.rb', line 3

def self.get(id=nil, filters={}, token=nil)
    url = transactions_url

    if id.is_a?(Hash)
        filters = id
        id = nil
    else
        filters = {}
    end

    url += id.to_s unless id.nil?

    Dwolla.request(:get, url, filters, {}, token)
end

.refund(params = {}, token = nil) ⇒ Object



33
34
35
36
37
38
39
40
41
42
# File 'lib/dwolla/transactions.rb', line 33

def self.refund(params={}, token=nil)
    raise MissingParameterError.new('No PIN Provided.') unless params[:pin]
    raise MissingParameterError.new('No Funding Source Provided.') unless params[:fundsSource]
    raise MissingParameterError.new('No Transaction ID Provided.') unless params[:transactionId]
    raise MissingParameterError.new('No Amount Provided.') unless params[:amount]

    url = transactions_url + 'refund'

    Dwolla.request(:post, url, params, {}, token)
end

.schedule(params = {}, token = nil) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
# File 'lib/dwolla/transactions.rb', line 44

def self.schedule(params={}, token=nil)
    raise MissingParameterError.new('No PIN Provided.') unless params[:pin]
    raise MissingParameterError.new('No Destination ID Provided.') unless params[:destinationId]
    raise MissingParameterError.new('No Amount Provided.') unless params[:amount]
    raise MissingParameterError.new('No Scheduled Date Provided') unless params[:scheduleDate]
    raise MissingParameterError.new('No Funds Source Provided.') unless params[:fundsSource]

    url = transactions_url + 'scheduled'

    Dwolla.request(:post, url, params, {}, token)
end

.scheduled(filters = {}, token = nil) ⇒ Object



56
57
58
59
60
# File 'lib/dwolla/transactions.rb', line 56

def self.scheduled(filters={}, token=nil)
    url = transactions_url + 'scheduled'

    Dwolla.request(:get, url, filters, {}, token)
end

.scheduled_by_id(id, token = nil) ⇒ Object



62
63
64
65
66
67
68
69
# File 'lib/dwolla/transactions.rb', line 62

def self.scheduled_by_id(id, token=nil)
    raise MissingParameterError.new('No Scheduled Transaction ID Provided.') unless id

    url = transactions_url + 'scheduled/' 
    url += id.to_s unless id.nil?

    Dwolla.request(:get, url, {}, {}, token)
end

.stats(filters = {}, token = nil) ⇒ Object



18
19
20
21
22
# File 'lib/dwolla/transactions.rb', line 18

def self.stats(filters={}, token=nil)
    url = transactions_url + 'stats'

    Dwolla.request(:get, url, filters, {}, token)
end