class BloomRemit2::Agent

Attributes

deleted[R]
deleted_at[R]
id[R]
name[R]

Public Class Methods

create(name) click to toggle source

Create a new agent under this partner @param name [String] agent name

# File lib/bloom_remit2/agent.rb, line 29
def create(name)
  agent = Client.post(path, { agent: { name: name }}).with_indifferent_access
  new(
    agent[:id],
    agent[:name]
  )
end
delete(agent_id) click to toggle source

Delete an agent belonging to this partner @param agent_id [String] agent uuid to delete

# File lib/bloom_remit2/agent.rb, line 52
def delete(agent_id)
  message = Client.delete("#{path}/#{agent_id}").with_indifferent_access
  if message[:success] == "We've successfully deleted that agent."
    new(
      agent_id,
      nil,
      deleted: true
    )
  end
end
list() click to toggle source

Show a list of agents belonging to this partner

# File lib/bloom_remit2/agent.rb, line 5
def list
  agents = Client.get(path)
  agents.map do |agent|
    agent = agent.with_indifferent_access
    new(
      agent[:id],
      agent[:name],
      agent[:deleted_at]
    )
  end
end
new( id, name, deleted_at=nil, deleted: false ) click to toggle source
# File lib/bloom_remit2/agent.rb, line 72
def initialize(
  id,
  name,
  deleted_at=nil,
  deleted: false
)
  @id = id
  @name = name
  @deleted_at = deleted_at
  @deleted = deleted
end
retrieve(id) click to toggle source

Show an agent belonging to this partner @param id [String] agent uuid to retrieve details for

# File lib/bloom_remit2/agent.rb, line 19
def retrieve(id)
  agent = Client.get("#{path}/#{id}").with_indifferent_access
  new(
    agent[:id],
    agent[:name]
  )
end

Private Class Methods

path() click to toggle source
# File lib/bloom_remit2/agent.rb, line 65
def path
  "api/v1/partners/#{BloomRemit2.configuration.api_token}/agents"
end