module ClassWithAttributes::ClassMethods

Public Instance Methods

attribute(name, options={}) click to toggle source
# File lib/check_mobi/shared/class_with_attributes.rb, line 30
def attribute(name, options={})
  @attributes ||= []

  @attributes << ({name: name, default: options[:default]})

  send :include, InstanceMethods unless included_modules.include?(InstanceMethods)
  attr_accessor name
end
attributes(*vars) click to toggle source
# File lib/check_mobi/shared/class_with_attributes.rb, line 8
def attributes(*vars)
  @attributes ||= []

  vars.uniq.each do |var|
    @attributes << {name: var, default: nil}
  end

  send :include, InstanceMethods unless included_modules.include?(InstanceMethods)
  attr_accessor *vars
end
readonly_attribute(name, options={}) click to toggle source
# File lib/check_mobi/shared/class_with_attributes.rb, line 39
def readonly_attribute(name, options={})
  @attributes ||= []

  @attributes << ({name: name, default: options[:default]})

  send :include, InstanceMethods unless included_modules.include?(InstanceMethods)
  attr_reader name
end
readonly_attributes(*vars) click to toggle source
# File lib/check_mobi/shared/class_with_attributes.rb, line 19
def readonly_attributes(*vars)
  @attributes ||= []

  vars.uniq.each do |var|
    @attributes << {name: var, default: nil}
  end

  send :include, InstanceMethods unless included_modules.include?(InstanceMethods)
  attr_reader *vars
end