class SP::Duh::JSONAPI::Parameters

Attributes

accounting_prefix[R]
accounting_schema[R]
company_id[R]
company_schema[R]
default_accounting_schema[R]
sharded_schema[R]
user_id[R]

Public Class Methods

new(parameters = {}) click to toggle source
# File lib/sp/duh/jsonapi/parameters.rb, line 7
def initialize(parameters = {})
  check_jsonapi_args(parameters)

  @user_id                   = parameters[:user_id].to_s              unless parameters[:user_id].nil?
  @company_id                = parameters[:company_id].to_s           unless parameters[:company_id].nil?
  @company_schema            = parameters[:company_schema]            unless parameters[:company_schema].nil?
  @sharded_schema            = parameters[:sharded_schema]            unless parameters[:sharded_schema].nil?
  @default_accounting_schema = parameters[:default_accounting_schema] unless parameters[:default_accounting_schema].nil?
  @accounting_schema         = parameters[:accounting_schema]         unless parameters[:accounting_schema].nil?
  @accounting_prefix         = parameters[:accounting_prefix]         unless parameters[:accounting_prefix].nil?
end

Public Instance Methods

to_json(options = {}) click to toggle source
# File lib/sp/duh/jsonapi/parameters.rb, line 19
def to_json(options = {})
  {
    user_id: self.user_id,
    company_id: self.company_id,
    company_schema: self.company_schema,
    sharded_schema: self.sharded_schema,
    default_accounting_schema: self.default_accounting_schema,
    accounting_schema: self.accounting_schema,
    accounting_prefix: self.accounting_prefix
  }.to_json
end

Private Instance Methods

check_jsonapi_args(parameters) click to toggle source
# File lib/sp/duh/jsonapi/parameters.rb, line 32
def check_jsonapi_args(parameters)
  if parameters.keys.any? && !(parameters.keys - valid_keys).empty?
    raise SP::Duh::JSONAPI::Exceptions::InvalidJSONAPIKeyError.new(key: (parameters.keys - valid_keys).join(', '))
  end
end
valid_keys() click to toggle source
# File lib/sp/duh/jsonapi/parameters.rb, line 38
def valid_keys
  [ :user_id, :company_id, :company_schema, :sharded_schema, :default_accounting_schema, :accounting_schema, :accounting_prefix ]
end