class BitzerStore::Configure

Attributes

settings[R]

Public Class Methods

new() click to toggle source
# File lib/bitzer_store/configure.rb, line 15
def initialize
  @settings = {}
end
setting(config) { |c| ... } click to toggle source
# File lib/bitzer_store/configure.rb, line 6
def self.setting(config)
  raise ArgumentError, "block not supplied" unless block_given?
  c = Configure.new
  yield(c)
  config.cache_store = :bitzer_store, c.settings
end

Public Instance Methods

common_setting(*args) click to toggle source
# File lib/bitzer_store/configure.rb, line 31
def common_setting(*args)
  @common_options = args.extract_options!
  @common_args = args
end
method_missing(name, *args, &block) click to toggle source
# File lib/bitzer_store/configure.rb, line 27
def method_missing(name, *args, &block)
  set(name, *args)
end
set(name, *args) click to toggle source
# File lib/bitzer_store/configure.rb, line 19
def set(name, *args)
  options = common_options.merge(args.extract_options!)
  args = args.presence || common_args
  args = args + [options] if options.present?

  @settings[name] = args
end

Private Instance Methods

common_args() click to toggle source
# File lib/bitzer_store/configure.rb, line 38
def common_args
  @common_args || []
end
common_options() click to toggle source
# File lib/bitzer_store/configure.rb, line 42
def common_options
  @common_options || {}
end