module Zen::Query::Attributes::ClassMethods

Public Instance Methods

attribute_methods() click to toggle source
# File lib/zen/query/attributes.rb, line 14
def attribute_methods
  const_get(:AttributeMethods)
end
attributes(*attrs) click to toggle source
# File lib/zen/query/attributes.rb, line 18
def attributes(*attrs)
  attributes_list.concat(attrs)

  attrs.each do |name|
    attribute_methods.send(:define_method, name) { @attributes[name] }
  end
end
attributes_list() click to toggle source
# File lib/zen/query/attributes.rb, line 26
def attributes_list
  @attributes_list ||= []
end
inherited(query_class) click to toggle source
Calls superclass method
# File lib/zen/query/attributes.rb, line 7
def inherited(query_class)
  query_class.const_set(:AttributeMethods, Module.new)
  query_class.send(:include, query_class::AttributeMethods)
  query_class.attributes_list.replace(attributes_list.dup)
  super
end