Sha256: 479a7590d27cc76ffc3e55cc33b88b9a484db472be413839ff343c5a839b08e9
Contents?: true
Size: 969 Bytes
Versions: 2
Compression:
Stored size: 969 Bytes
Contents
module Spreeference class Configuration include Spreeference::Preferable def configure yield(self) if block_given? end def preferences Spreeference::ScopedStore.new(self.class.name.underscore) end def reset preferences.each do |name, value| set_preference name, preference_default(name) end end alias :[] :get_preference alias :[]= :set_preference alias :get :get_preference def set(*args) options = args.extract_options! options.each do |name, value| set_preference name, value end if args.size == 2 set_preference args[0], args[1] end end def method_missing(method, *args) name = method.to_s.gsub('=', '') if has_preference? name if method.to_s =~ /=$/ set_preference(name, args.first) else get_preference name end else super end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
spreeference-0.1.1 | lib/spreeference/configuration.rb |
spreeference-0.1.0 | lib/spreeference/configuration.rb |