Sha256: a3507cb5fb3cde21aea2ca6a1524492723fbb5645da5d7c03513375001d296a1

Contents?: true

Size: 829 Bytes

Versions: 6

Compression:

Stored size: 829 Bytes

Contents

module Nuorder
  module Configurable
    class << self
      def keys
        @keys ||= %i(
          app_name
          api_endpoint
          oauth_callback
          oauth_consumer_key
          oauth_consumer_secret
          oauth_token
          oauth_token_secret
        )
      end
    end

    attr_accessor *Nuorder::Configurable.keys

    # Set configuration options using a block
    def configure
      yield(self) if block_given?
    end

    # Reset configuration options to default values
    def reset!
      Nuorder::Configurable.keys.each do |key|
        instance_variable_set(:"@#{key}", Nuorder::Default.options[key])
      end
      self
    end
    alias_method :setup, :reset!

    def options
      Hash[Nuorder::Configurable.keys.map{|key| [key, instance_variable_get(:"@#{key}")]}]
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
nuorder-1.3.1 lib/nuorder/configurable.rb
nuorder-1.3.0 lib/nuorder/configurable.rb
nuorder-1.2.0 lib/nuorder/configurable.rb
nuorder-1.1.0 lib/nuorder/configurable.rb
nuorder-1.0.1 lib/nuorder/configurable.rb
nuorder-1.0.0 lib/nuorder/configurable.rb