Sha256: 7d3863fdff67614156d9866ae08853cd6038e9ca9e326b6233984311a0670f73
Contents?: true
Size: 1.39 KB
Versions: 3
Compression:
Stored size: 1.39 KB
Contents
module LinkedIn module Configuration module ClassConfiguration def default_config { request_format: :json, app_key: nil, app_secret: nil, access_token: nil, scope: ['r_basicprofile'], redirect_uri: 'http://localhost', logger: Logger.new('/dev/null') } end def configuration @configuration ||= OpenStruct.new default_config end def reset configuration.marshal_load default_config end end module InstanceConfiguration def configuration @configuration ||= self.class.configuration.dup end def reset @configuration.marshal_load self.class.configuration end end module BaseConfiguration def configure(config={}, &block) self.configuration.marshal_load self.configuration.marshal_dump.merge(config) yield self.configuration if block_given? self.configuration end def load(file_path = 'linkedin.yml') config = YAML::load(File.open(file_path)).symbolize_keys configure config end def config(*keys) configuration.marshal_dump.slice(*keys) end end include BaseConfiguration include InstanceConfiguration def self.included(klass) klass.extend BaseConfiguration klass.extend ClassConfiguration end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
linkedin2-0.0.19 | lib/linkedin/configuration.rb |
linkedin2-0.0.18 | lib/linkedin/configuration.rb |
linkedin2-0.0.17 | lib/linkedin/configuration.rb |