class Belvo::Resource
Represents a consumable REST resource from Belvo
API
Attributes
Resource
API endpoint @return [String] the API endpoint
Public Class Methods
@param session [APISession] current Belvo
API session
# File lib/belvo/resources.rb, line 15 def initialize(session) @session = session end
Public Instance Methods
Remove nil values from a request body @param body [Hash] request body @return [Hash] body without nil values
# File lib/belvo/resources.rb, line 22 def clean(body:) body.delete_if { |_key, value| value.nil? } end
Delete existing resource @param id [String] Resource
UUID @return [Boolean] true if resource is successfully deleted else false
# File lib/belvo/resources.rb, line 47 def delete(id:) @session.delete(@endpoint, id) end
Show specific resource details @param id [String] Resource
UUID @return [Hash] @raise [RequestError] If response code is different than 2XX
# File lib/belvo/resources.rb, line 40 def detail(id:) @session.detail(@endpoint, id) end
List all results @param params [Hash] Extra parameters sent as query strings. @return [Array] @raise [RequestError] If response code is different than 2XX
# File lib/belvo/resources.rb, line 30 def list(params: nil) results = [] @session.list(@endpoint, params: params) { |item| results.push item } results end
Resume data extraction session. Use this method after you have received a
HTTP 428 response.
@param session_id [String] Session UUID included in the 428 response @param link [String, nil] Link
UUID @raise [RequestError] If response code is different than 2XX
# File lib/belvo/resources.rb, line 56 def resume(session_id:, token:, link: nil) data = { session: session_id, token: token, link: link } @session.patch(@endpoint, data) end