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