lib/ravelry/configuration.rb in ravelry-0.0.9 vs lib/ravelry/configuration.rb in ravelry-0.1.0

- old
+ new

@@ -1,11 +1,78 @@ module Ravelry + + # Adds global configuration settings to the gem, including: + # + # * `config.access_key` - your Ravelry access key + # * `config.secret_key` - your Ravelry secret key + # * `config.personal_key` - your Ravelry personal key; primarily used for OAuth + # * `config.callback_url` - for OAuth, the callback url for your authentication requests + # + # To request API keys for Ravelry, sign up for a free Ravelry account and visit this page for instructions: + # http://www.ravelry.com/discuss/ravelry-api/topics/1979523#1 + # + # # Required fields + # + # The following fields are *required* to use the gem: + # + # - Access key + # - Secret key + # - Personal key + # + # The gem will raise a `Errors::Configuration` if you fail to provide these keys. + # + # # Configuring your gem + # + # ``` + # Ravelry.configure do |config| + # config.access_key = '' + # config.secret_key = '' + # config.personal_key = '' + # config.callback_url = '' + # end + # ``` + # + # # Accessing configuration settings + # + # All settings are available on the `Ravelry.configuration` object: + # + # ``` + # Ravelry.configuration.access_key + # Ravelry.configuration.secret_key + # Ravelry.configuration.personal_key + # Ravelry.configuration.callback_url + # ``` + # # Resetting configuration + # + # To reset, simply call `Ravelry.reset`. + # class Configuration - attr_accessor :access_key, :secret_key, :personal_key + attr_writer :access_key, :secret_key, :personal_key, :callback_url def initialize @access_key = nil @secret_key = nil @personal_key = nil + @callback_url = nil + end + + def access_key + raise Errors::Configuration, "Ravelry access key missing! See the documentation for configuration settings." unless @access_key + @access_key + end + + def secret_key + raise Errors::Configuration, "Ravelry secret key missing! See the documentation for configuration settings." unless @secret_key + @secret_key + end + + def personal_key + raise Errors::Configuration, "Ravelry personal key missing! See the documentation for configuration settings." unless @personal_key + @personal_key + end + + def callback_url + raise Errors::Configuration, "Oauth callback url missing! See the documentation for configuration settings." unless @callback_url + @callback_url end end end \ No newline at end of file