Class: Coyodlee::RequestFacade

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Facades
Defined in:
lib/coyodlee/connection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(http:, request_builder:) ⇒ RequestFacade

Returns a new instance of RequestFacade.



70
71
72
73
74
75
76
77
78
79
# File 'lib/coyodlee/connection.rb', line 70

def initialize(http:, request_builder:)
  @http = http
  @request_builder = request_builder
  @user_facade = UserFacade.new(self)
  @cobrand_facade = CobrandFacade.new(self)
  @accounts_facade = AccountsFacade.new(self)
  @transactions_facade = TransactionsFacade.new(self)
  @holdings_facade = HoldingsFacade.new(self)
  @provider_accounts_facade = ProviderAccountsFacade.new(self)
end

Instance Attribute Details

#httpObject (readonly)

Returns the value of attribute http.



64
65
66
# File 'lib/coyodlee/connection.rb', line 64

def http
  @http
end

#request_builderObject (readonly)

Returns the value of attribute request_builder.



65
66
67
# File 'lib/coyodlee/connection.rb', line 65

def request_builder
  @request_builder
end

Instance Method Details

#execute(req) ⇒ Object



185
186
187
# File 'lib/coyodlee/connection.rb', line 185

def execute(req)
  http.request(req)
end

#extract_events(event_name:, from_date:, to_date:) ⇒ Object



163
164
165
166
167
168
169
170
171
172
# File 'lib/coyodlee/connection.rb', line 163

def extract_events(event_name:, from_date:, to_date:)
  params = {
    'eventName' => event_name,
    'fromDate' => fromDate,
    'toDate' => toDate
  }
  headers = { 'Accept' => 'application/json' }
  req = @request_builder.build(:get, 'dataExtracts/events', headers: headers, params: params)
  execute(req)
end

#holding_summary(params = {}) ⇒ Object



151
152
153
154
155
# File 'lib/coyodlee/connection.rb', line 151

def holding_summary(params={})
  headers = { 'Accept' => 'application/json' }
  req = @request_builder.build(:get, 'derived/holdingSummary', headers: headers, params: params)
  execute(req)
end

#networth_summary(params = {}) ⇒ Object



157
158
159
160
161
# File 'lib/coyodlee/connection.rb', line 157

def networth_summary(params={})
  headers = { 'Accept' => 'application/json' }
  req = @request_builder.build(:get, 'derived/networth', headers: headers, params: params)
  execute(req)
end

#provider_details(provider_id:, provider_account_id:) ⇒ Object



131
132
133
134
135
136
# File 'lib/coyodlee/connection.rb', line 131

def provider_details(provider_id:, provider_account_id:)
  headers = { 'Accept' => 'application/json' }
  params = { 'providerAccountId' =>  }
  req = @request_builder.build(:get, "providers/#{provider_id}", headers: headers, params: params)
  execute(req)
end

#providers(params = {}) ⇒ Object



125
126
127
128
129
# File 'lib/coyodlee/connection.rb', line 125

def providers(params={})
  headers = { 'Accept' => 'application/json' }
  req = @request_builder.build(:get, "providers", headers: headers, params: params)
  execute(req)
end

#statements(params = {}) ⇒ Object



138
139
140
141
142
# File 'lib/coyodlee/connection.rb', line 138

def statements(params={})
  headers = { 'Accept' => 'application/json' }
  req = @request_builder.build(:get, 'statements', headers: headers, params: params)
  execute(req)
end

#transaction_summary(group_by:, params: {}) ⇒ Object



144
145
146
147
148
149
# File 'lib/coyodlee/connection.rb', line 144

def transaction_summary(group_by:, params: {})
  params['groupBy'] = group_by
  headers = { 'Accept' => 'application/json' }
  req = @request_builder.build(:get, 'derived/transactionSummary', headers: headers, params: params)
  execute(req)
end

#user_data(login_name:, from_date:, to_date:) ⇒ Object



174
175
176
177
178
179
180
181
182
183
# File 'lib/coyodlee/connection.rb', line 174

def user_data(login_name:, from_date:, to_date:)
  params = {
    'loginName' => ,
    'fromDate' => fromDate,
    'toDate' => toDate
  }
  headers = { 'Accept' => 'application/json' }
  req = @request_builder.build(:get, 'dataExtracts/userData', headers: headers, params: params)
  execute(req)
end