lib/mushikago/configuration.rb in mushikago-sdk-0.1.3 vs lib/mushikago/configuration.rb in mushikago-sdk-0.1.4

- old
+ new

@@ -2,15 +2,15 @@ module Mushikago class Config include Singleton # @param [Hash] options optionsをロードします - # @option options [string] :api_key('環境変数:MUSHIKAGO_API_KEY') 発行されたAPIKeyを設定する - # @option options [string] :secret_key('環境変数:MUSHIKAGO_SECRET_KEY') 発行されたSecretKeyを設定する - # @option options [string] :tombo_endpoint('tombo.mushikago.org') tomboサービスのエンドポイントを設定する + # @option options [String] :api_key(ENV['MUSHIKAGO_API_KEY']) 発行されたAPIKeyを設定する + # @option options [String] :secret_key(ENV['MUSHIKAGO_SECRET_KEY']) 発行されたSecretKeyを設定する + # @option options [String] :tombo_endpoint('tombo.mushikago.org') tomboサービスのエンドポイントを設定する # @example - # Mushikago::Config.load(:api_key => 'ABCDEFG', :secret_key => 'HIJKLMN') + # Mushikago.config.load(:api_key => 'ABCDEFG', :secret_key => 'HIJKLMN') def load options={} options.each do |key, value| supplied[key.to_sym] = value end end @@ -18,23 +18,21 @@ class << self # @param [Symbol] name オプション名 # @param [Object] default_value デフォルト値 # @param [Hash] options 型情報を補足的に追加することができる # @param [Block] transform 渡された値を変換するブロック + # @option options [Symbol] :boolean 自動的にname?のエイリアスメソッドが生成されます + private def add_option name, default_value = nil, options = {}, &transform name = name.to_sym raise "The option #{name} is already defined!" if self.respond_to?(name) define_method(name) do value = supplied.has_key?(name) ? supplied[name] : default_value transform ? transform.call(value) : value end alias_class_method("#{name}?", name) if options[:boolean] - end - - def load options={} - instance.load options end end add_option :api_key, ENV['MUSHIKAGO_API_KEY'] || ENV['MUSHIKAGO_API_KEY_ID'] add_option :secret_key, ENV['MUSHIKAGO_SECRET_KEY'] || ENV['MUSHIKAGO_SECRET_ACCESS_KEY']