Class: SVBClient::WireHandler

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

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ WireHandler

Returns a new instance of WireHandler.



256
257
258
259
# File 'lib/svbclient.rb', line 256

def initialize(client)
  raise 'provide an API client' if client.nil?
  @client = client
end

Instance Method Details

#allObject



271
272
273
# File 'lib/svbclient.rb', line 271

def all
  find
end

#create(wire_data) ⇒ Object



261
262
263
264
# File 'lib/svbclient.rb', line 261

def create(wire_data)
  response = @client.post('/v1/wire', wire_data)
  SVBClient::Wire.new(@client, JSON.parse(response.body)["data"]["id"])
end

#find(status: nil, effective_date_start: nil, effective_date_end: nil) ⇒ Object



275
276
277
278
279
280
281
282
283
284
285
# File 'lib/svbclient.rb', line 275

def find(status: nil, effective_date_start: nil, effective_date_end: nil)
  query = []
  query << "filter%5Bstatus%5D=#{status}" unless status.nil?
  query << "filter%5Beffective_date_start%5D=#{effective_date_start}" unless effective_date_start.nil?
  query << "filter%5Beffective_date_end%5D=#{effective_date_end}" unless effective_date_end.nil?
  response = @client.get("/v1/wire", query.join('&'))
  list = JSON.parse(response.body)["data"]
  list.map do |wire|
    SVBClient::Wire.new(@client, wire["id"])
  end
end

#get(id) ⇒ Object



266
267
268
269
# File 'lib/svbclient.rb', line 266

def get(id)
  @client.get("/v1/wire/#{id}")
  SVBClient::Wire.new(@client, id)
end