Sha256: 42a39f1d056882182722d11a98d6ec29ffb4fbafd79d0a705368f5fd713bd984
Contents?: true
Size: 1.38 KB
Versions: 2
Compression:
Stored size: 1.38 KB
Contents
require 'smspartner/helpers/boolean' module Smspartner class Configuration ALLOWED_RANGE_VALUES = %i[premium low_cost].freeze # @param api_key [String] the API key # @param range_value [:premium, :low_cost] # @param sandbox [Boolean] true to enable sandbox mode, disabled by default # @param sender [String] SMS sender's name def initialize(api_key:, range_value:, sandbox: false, sender: nil) self.api_key = api_key self.range_value = range_value self.sandbox = sandbox self.sender = sender end # @return [Hash] attributes as a hash def to_h { api_key: api_key, range_value: range_value, sandbox: sandbox, sender: sender } end attr_reader :api_key private attr_writer :api_key attr_accessor :sender attr_reader :range_value def range_value=(value) unless ALLOWED_RANGE_VALUES.include?(value) raise ArgumentError.new( "#{value.inspect} is not a valid range_value, " \ "valid values are #{ALLOWED_RANGE_VALUES.inspect}" ) end @range_value = value end attr_reader :sandbox def sandbox=(bool) unless Helpers::Boolean.valid?(bool) raise ArgumentError.new( "#{bool.inspect} should be a boolean" ) end @sandbox = bool end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
smspartner-0.1.1 | lib/smspartner/configuration.rb |
smspartner-0.1.0 | lib/smspartner/configuration.rb |