module Observed::Configurable::ModuleMethods
Public Instance Methods
attribute(name, options={})
click to toggle source
@param [String|Symbol] name
# File lib/observed/configurable.rb, line 66 def attribute(name, options={}) @attributes ||= {} @attributes = @attributes.merge(name => options) end
attributes()
click to toggle source
# File lib/observed/configurable.rb, line 71 def attributes @attributes || fail(<<EOS #{self} includes Observed::Configurable. Though, no attributes are configured for #{self}. We don't need to include Observed::Configurable, or it might be a bug? EOS ) end
ensure_configurable(klass)
click to toggle source
# File lib/observed/configurable.rb, line 88 def ensure_configurable(klass) unless klass.include? Configurable fail "The class #{klass} must include Observed::Configurable to include #{self}" end end
included(klass)
click to toggle source
# File lib/observed/configurable.rb, line 80 def included(klass) ensure_configurable klass attributes.each do |name, options| klass.attribute name, options end end