class ProcessOut::GatewayConfiguration

Attributes

created_at[R]
default_currency[R]
enabled[R]
enabled_at[R]
gateway[R]
gateway_id[R]
id[R]
name[R]
project[R]
project_id[R]
public_keys[R]

Public Class Methods

new(client, data = {}) click to toggle source

Initializes the GatewayConfiguration object Params:

client

ProcessOut client instance

data

data that can be used to fill the object

# File lib/processout/gateway_configuration.rb, line 97
def initialize(client, data = {})
  @client = client

  self.id = data.fetch(:id, nil)
  self.project = data.fetch(:project, nil)
  self.project_id = data.fetch(:project_id, nil)
  self.gateway = data.fetch(:gateway, nil)
  self.gateway_id = data.fetch(:gateway_id, nil)
  self.name = data.fetch(:name, nil)
  self.default_currency = data.fetch(:default_currency, nil)
  self.enabled = data.fetch(:enabled, nil)
  self.public_keys = data.fetch(:public_keys, nil)
  self.created_at = data.fetch(:created_at, nil)
  self.enabled_at = data.fetch(:enabled_at, nil)
  
end

Public Instance Methods

all(options = {}) click to toggle source

Get all the gateway configurations. Params:

options

Hash of options

# File lib/processout/gateway_configuration.rb, line 205
def all(options = {})
  self.prefill(options)

  request = Request.new(@client)
  path    = "/gateway-configurations"
  data    = {
    "expand_merchant_accounts" => options.fetch(:expand_merchant_accounts, nil)
  }

  response = Response.new(request.get(path, data, options))
  return_values = Array.new
  
  a    = Array.new
  body = response.body
  for v in body['gateway_configurations']
    tmp = GatewayConfiguration.new(@client)
    tmp.fill_with_data(v)
    a.push(tmp)
  end

  return_values.push(a)
  

  
  return_values[0]
end
create(gateway_name, options = {}) click to toggle source

Create a new gateway configuration. Params:

gateway_name

Name of the gateway

options

Hash of options

# File lib/processout/gateway_configuration.rb, line 316
def create(gateway_name, options = {})
  self.prefill(options)

  request = Request.new(@client)
  path    = "/gateways/" + CGI.escape(gateway_name) + "/gateway-configurations"
  data    = {
    "id" => @id, 
    "name" => @name, 
    "enabled" => @enabled, 
    "default_currency" => @default_currency, 
    "settings" => options.fetch(:settings, nil), 
    "sub_accounts_enabled" => options.fetch(:sub_accounts_enabled, nil)
  }

  response = Response.new(request.post(path, data, options))
  return_values = Array.new
  
  body = response.body
  body = body["gateway_configuration"]
  
  
  return_values.push(self.fill_with_data(body))
  

  
  return_values[0]
end
created_at=(val) click to toggle source
# File lib/processout/gateway_configuration.rb, line 84
def created_at=(val)
  @created_at = val
end
default_currency=(val) click to toggle source
# File lib/processout/gateway_configuration.rb, line 72
def default_currency=(val)
  @default_currency = val
end
delete(options = {}) click to toggle source

Delete the gateway configuration. Params:

options

Hash of options

# File lib/processout/gateway_configuration.rb, line 294
def delete(options = {})
  self.prefill(options)

  request = Request.new(@client)
  path    = "/gateway-configurations/" + CGI.escape(@id) + ""
  data    = {

  }

  response = Response.new(request.delete(path, data, options))
  return_values = Array.new
  
  return_values.push(response.success)

  
  return_values[0]
end
enabled=(val) click to toggle source
# File lib/processout/gateway_configuration.rb, line 76
def enabled=(val)
  @enabled = val
end
enabled_at=(val) click to toggle source
# File lib/processout/gateway_configuration.rb, line 88
def enabled_at=(val)
  @enabled_at = val
end
fill_with_data(data) click to toggle source

Fills the object with data coming from the API Params:

data

Hash of data coming from the API

# File lib/processout/gateway_configuration.rb, line 139
def fill_with_data(data)
  if data.nil?
    return self
  end
  if data.include? "id"
    self.id = data["id"]
  end
  if data.include? "project"
    self.project = data["project"]
  end
  if data.include? "project_id"
    self.project_id = data["project_id"]
  end
  if data.include? "gateway"
    self.gateway = data["gateway"]
  end
  if data.include? "gateway_id"
    self.gateway_id = data["gateway_id"]
  end
  if data.include? "name"
    self.name = data["name"]
  end
  if data.include? "default_currency"
    self.default_currency = data["default_currency"]
  end
  if data.include? "enabled"
    self.enabled = data["enabled"]
  end
  if data.include? "public_keys"
    self.public_keys = data["public_keys"]
  end
  if data.include? "created_at"
    self.created_at = data["created_at"]
  end
  if data.include? "enabled_at"
    self.enabled_at = data["enabled_at"]
  end
  
  self
end
find(configuration_id, options = {}) click to toggle source

Find a gateway configuration by its ID. Params:

configuration_id

ID of the gateway configuration

options

Hash of options

# File lib/processout/gateway_configuration.rb, line 236
def find(configuration_id, options = {})
  self.prefill(options)

  request = Request.new(@client)
  path    = "/gateway-configurations/" + CGI.escape(configuration_id) + ""
  data    = {

  }

  response = Response.new(request.get(path, data, options))
  return_values = Array.new
  
  body = response.body
  body = body["gateway_configuration"]
  
  
  obj = GatewayConfiguration.new(@client)
  return_values.push(obj.fill_with_data(body))
  

  
  return_values[0]
end
gateway=(val) click to toggle source
# File lib/processout/gateway_configuration.rb, line 48
def gateway=(val)
  if val.nil?
    @gateway = val
    return
  end

  if val.instance_of? Gateway
    @gateway = val
  else
    obj = Gateway.new(@client)
    obj.fill_with_data(val)
    @gateway = obj
  end
  
end
gateway_id=(val) click to toggle source
# File lib/processout/gateway_configuration.rb, line 64
def gateway_id=(val)
  @gateway_id = val
end
id=(val) click to toggle source
# File lib/processout/gateway_configuration.rb, line 24
def id=(val)
  @id = val
end
name=(val) click to toggle source
# File lib/processout/gateway_configuration.rb, line 68
def name=(val)
  @name = val
end
new(data = {}) click to toggle source

Create a new GatewayConfiguration using the current client

# File lib/processout/gateway_configuration.rb, line 115
def new(data = {})
  GatewayConfiguration.new(@client, data)
end
prefill(data) click to toggle source

Prefills the object with the data passed as parameters Params:

data

Hash of data

# File lib/processout/gateway_configuration.rb, line 183
def prefill(data)
  if data.nil?
    return self
  end
  self.id = data.fetch(:id, self.id)
  self.project = data.fetch(:project, self.project)
  self.project_id = data.fetch(:project_id, self.project_id)
  self.gateway = data.fetch(:gateway, self.gateway)
  self.gateway_id = data.fetch(:gateway_id, self.gateway_id)
  self.name = data.fetch(:name, self.name)
  self.default_currency = data.fetch(:default_currency, self.default_currency)
  self.enabled = data.fetch(:enabled, self.enabled)
  self.public_keys = data.fetch(:public_keys, self.public_keys)
  self.created_at = data.fetch(:created_at, self.created_at)
  self.enabled_at = data.fetch(:enabled_at, self.enabled_at)
  
  self
end
project=(val) click to toggle source
# File lib/processout/gateway_configuration.rb, line 28
def project=(val)
  if val.nil?
    @project = val
    return
  end

  if val.instance_of? Project
    @project = val
  else
    obj = Project.new(@client)
    obj.fill_with_data(val)
    @project = obj
  end
  
end
project_id=(val) click to toggle source
# File lib/processout/gateway_configuration.rb, line 44
def project_id=(val)
  @project_id = val
end
public_keys=(val) click to toggle source
# File lib/processout/gateway_configuration.rb, line 80
def public_keys=(val)
  @public_keys = val
end
save(options = {}) click to toggle source

Save the updated gateway configuration attributes and settings. Params:

options

Hash of options

# File lib/processout/gateway_configuration.rb, line 263
def save(options = {})
  self.prefill(options)

  request = Request.new(@client)
  path    = "/gateway-configurations/" + CGI.escape(@id) + ""
  data    = {
    "id" => @id, 
    "name" => @name, 
    "enabled" => @enabled, 
    "default_currency" => @default_currency, 
    "settings" => options.fetch(:settings, nil), 
    "sub_accounts_enabled" => options.fetch(:sub_accounts_enabled, nil)
  }

  response = Response.new(request.put(path, data, options))
  return_values = Array.new
  
  body = response.body
  body = body["gateway_configuration"]
  
  
  return_values.push(self.fill_with_data(body))
  

  
  return_values[0]
end
to_json(options) click to toggle source

Overrides the JSON marshaller to only send the fields we want

# File lib/processout/gateway_configuration.rb, line 120
def to_json(options)
  {
      "id": self.id,
      "project": self.project,
      "project_id": self.project_id,
      "gateway": self.gateway,
      "gateway_id": self.gateway_id,
      "name": self.name,
      "default_currency": self.default_currency,
      "enabled": self.enabled,
      "public_keys": self.public_keys,
      "created_at": self.created_at,
      "enabled_at": self.enabled_at,
  }.to_json
end