module Gearhead::Settings
Public Class Methods
included(klass)
click to toggle source
# File lib/gearhead/gear.rb, line 3 def self.included(klass) klass.extend ClassMethods klass.class_attribute :settings, default: {} end
Public Instance Methods
define_gear_setting(name, default = nil)
click to toggle source
# File lib/gearhead/gear.rb, line 8 def define_gear_setting(name, default = nil) instance_variable_set("@_gear_#{name}", default.dup) ivar = "@_gear_#{name}" self.class.define_method :"_gear_#{name}" do return instance_variable_get(ivar) if instance_variable_defined?(ivar) instance_variable_get("@_gear_#{name}") end self.class.define_method :"_gear_#{name}=" do |value| instance_variable_set("@_gear_#{name}", value.dup) end end