Sha256: 1cf3f88d269a6cc8d062c1fefd9f7b076f6c16a118b4cfcd99c99d77f5f567ed
Contents?: true
Size: 996 Bytes
Versions: 11
Compression:
Stored size: 996 Bytes
Contents
module LinkedIn module Configuration module ClassConfiguration def config @config ||= reset end def reset @config = OpenStruct.new default_config end end module InstanceConfiguration def config @config ||= reset end def reset @config = self.class.config.dup end end module BaseConfiguration def configure(config={}, &block) self.config.marshal_load self.config.marshal_dump.merge(config) yield self.config if block_given? self.config end def load(file_path='linkedin.yml') config = YAML::load(File.open(file_path)).symbolize_keys configure config end def config(*keys) config.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
11 entries across 11 versions & 1 rubygems