Sha256: 492863c8f8e8e6d2e4bc95a77442fffe45ac11882c2ad2b165a374442c52568d

Contents?: true

Size: 585 Bytes

Versions: 9

Compression:

Stored size: 585 Bytes

Contents

module Ruby
  module Identitas
    module Configuration
      def setup
        yield self
      end

      def define_setting(name, default = nil)
       class_variable_set("@@#{name}", default)

       define_class_method "#{name}=" do |value|
       class_variable_set("@@#{name}", value)
      end

      define_class_method name do
       class_variable_get("@@#{name}")
       end
      end

      private

      def define_class_method(name, &block)
        (class << self; self; end).instance_eval do
          define_method name, &block
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ruby-identitas-api-0.8.0 lib/ruby/identitas/configuration.rb
ruby-identitas-api-0.7.1 lib/ruby/identitas/configuration.rb
ruby-identitas-api-0.7.0 lib/ruby/identitas/configuration.rb
ruby-identitas-api-0.6.0 lib/ruby/identitas/configuration.rb
ruby-identitas-api-0.5.0 lib/ruby/identitas/configuration.rb
ruby-identitas-api-0.4.0 lib/ruby/identitas/configuration.rb
ruby-identitas-api-0.3.0 lib/ruby/identitas/configuration.rb
ruby-identitas-api-0.2.0 lib/ruby/identitas/configuration.rb
ruby-identitas-api-0.1.0 lib/ruby/identitas/configuration.rb