class Glabssms::Configuration

Constants

READABLE_ATTRIBUTES
WRITABLE_ATTRIBUTES

Public Class Methods

_default_logger() click to toggle source
# File lib/glabssms/configuration.rb, line 56
def self._default_logger
  logger = Logger.new(STDOUT)
  logger.level = Logger::INFO
  logger
end
client() click to toggle source
# File lib/glabssms/configuration.rb, line 33
def self.client
  Glabssms::Client.new(instantiate)
end
expectant_reader(*attributes) click to toggle source
# File lib/glabssms/configuration.rb, line 13
def self.expectant_reader(*attributes)
  attributes.each do |attribute|
    (
      class << self
        self
      end
    )
      .send(:define_method, attribute) do
      attribute_value = instance_variable_get("@#{attribute}")
      if attribute_value.nil? || attribute_value.to_s.empty?
        raise ConfigurationError.new(
          "Glabssms::Configuration.#{attribute} needs to be set"
        )
      end
      attribute_value
    end
  end
end
instantiate() click to toggle source
# File lib/glabssms/configuration.rb, line 37
def self.instantiate
  config = new
end
logger() click to toggle source
# File lib/glabssms/configuration.rb, line 41
def self.logger
  @logger ||= _default_logger
end
new(options = {}) click to toggle source
# File lib/glabssms/configuration.rb, line 45
def initialize(options = {})
  WRITABLE_ATTRIBUTES.each do |attr|
    instance_variable_set "@#{attr}",
      options[attr] || Glabssms.configuration.send(attr)
  end
end

Public Instance Methods

assert_has_keys() click to toggle source
# File lib/glabssms/configuration.rb, line 66
def assert_has_keys
  if app_id.nil? || app_secret.nil? || cross_telco_short_code.nil? || short_code.nil?
    raise ConfigurationError.new(
      'Glabssms::Configuration app_id, app_secret, cross_telco_short_code, short_code and are required.'
    )
  end
end
inspect() click to toggle source
Calls superclass method
# File lib/glabssms/configuration.rb, line 62
def inspect
  super.gsub(/@app_secret=\".*\"/, '@app_secret="[FILTERED]"')
end
logger() click to toggle source
# File lib/glabssms/configuration.rb, line 52
def logger
  @logger ||= self.class._default_logger
end