module DataAttributes::Model

Public Instance Methods

__data_attributes() click to toggle source
# File lib/data_attributes/model.rb, line 29
def __data_attributes
  []
end
data_attribute(*attributes) click to toggle source
# File lib/data_attributes/model.rb, line 9
def data_attribute(*attributes)
  attributes = (__data_attributes + attributes).flatten.map(&:to_sym).uniq
  class_eval(%Q{
    class << self
      private

      def __data_attributes
        #{attributes.inspect}
      end
    end
  })
end
data_attributes() click to toggle source
# File lib/data_attributes/model.rb, line 22
def data_attributes
  super_attributes = superclass && superclass.respond_to?(:__data_attributes, true) ? superclass.send(:__data_attributes) : []
  (super_attributes + __data_attributes).uniq.sort
end