Module: AttributeExtras
- Defined in:
- lib/attribute_extras.rb,
lib/attribute_extras/version.rb
Overview
Extra macros for auto attribute manipulation.
Defined Under Namespace
Classes: AttributeExtra
Constant Summary collapse
- VERSION =
'1.0.1'
Class Method Summary collapse
Class Method Details
.define_extra(name, &perform) ⇒ Object
32 33 34 35 36 37 38 39 40 |
# File 'lib/attribute_extras.rb', line 32 def self.define_extra(name, &perform) extra = Class.new(AttributeExtra) extra_name = name.to_s.gsub(/(?:\A|_)([a-z])/i) { $1.upcase }.to_sym AttributeExtras.const_set(extra_name, extra) ActiveRecord::Base.define_singleton_method(name) do |*attributes| include extra.new(name, attributes, perform) end end |