Sha256: 6a9bd6acb44a36f0338c939ca5b29744b2062e656b15fc854d317530501e9d63

Contents?: true

Size: 1.13 KB

Versions: 10

Compression:

Stored size: 1.13 KB

Contents

module Amfetamine
  class Config
    class << self

      attr_reader :memcached_instance, :rest_client, :base_uri, :resource_suffix, :logger

      def configure
        yield(self)
        @base_uri ||= ""
      end

      def memcached_instance=(value, options={})
        raise ConfigurationInvalid, 'Invalid value for memcached_instance' if !value.is_a?(String)
        @memcached_instance ||= Dalli::Client.new(value, options)
      end

      def rest_client=(value)
        raise ConfigurationInvalid, 'Invalid value for rest_client' if ![:get,:put,:delete,:post].all? { |m| value.respond_to?(m) }
        @rest_client ||= value
      end

      # Shouldn't be needed as our favourite rest clients are based on httparty, still, added it for opensource reasons
      def base_uri=(value)
        raise ConfigurationInvalid, "Invalid value for base uri, should be a string" if !value.is_a?(String)
        @base_uri ||= value
      end

      def resource_suffix=(value)
        raise ConfigurationInvalid, "Invalid value for resource suffix, should be a string" if !value.is_a?(String)
        @resource_suffix ||= value
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
amfetamine-0.2.11 lib/amfetamine/config.rb
amfetamine-0.2.9 lib/amfetamine/config.rb
amfetamine-0.2.7 lib/amfetamine/config.rb
amfetamine-0.2.6 lib/amfetamine/config.rb
amfetamine-0.2.5 lib/amfetamine/config.rb
amfetamine-0.2.4 lib/amfetamine/config.rb
amfetamine-0.2.3 lib/amfetamine/config.rb
amfetamine-0.2.1 lib/amfetamine/config.rb
amfetamine-0.2.0 lib/amfetamine/config.rb
amfetamine-0.1.5 lib/amfetamine/config.rb