class NSConnector::Config

A 'global' config.

Being global, we are restricted to connecting to one NetSuite upstream URL per ruby process.

Constants

ArgumentError
DEFAULT

Public Class Methods

[](key) click to toggle source

Read a key stored in @@options: Config

# File lib/ns_connector/config.rb, line 15
def [](key)
        key = key.to_sym
        val = @@options[key]

        val.nil? ? DEFAULT[key] : val
end
[]=(key, value) click to toggle source

Write a key stored in @@options: Config = 1

# File lib/ns_connector/config.rb, line 23
def []=(key, value)
        @@options[key.to_sym] = value
end
check_valid!() click to toggle source

Check if the current config is valid. Returns:

true

if all required keys are supplied

Raises:

ArgumentError

if any keys are missing

# File lib/ns_connector/config.rb, line 40
def check_valid!
        unless @@options then
                raise NSConnector::Config::ArgumentError,
                        'Need a configuration set. '\
                        'See: NSConnector::Config.set_config!'
        end

        required = [
                :account_id, 
                :email,
                :password,
                :role,
                :restlet_url
        ]

        missing_keys = (required - @@options.keys)
        unless missing_keys.empty?
                raise NSConnector::Config::ArgumentError, 
                        'Missing configuration key(s): '\
                        "#{missing_keys.join(', ')}"
        end

        # All good
        return true
end
set_config!(options) click to toggle source

Overwrite the current 'global' config with options

# File lib/ns_connector/config.rb, line 28
def set_config! options
        @@options = {}
        options.each do |k,v|
                @@options[k.to_sym] = v
        end
end