module Sprinkle::Attributes::ClassMethods

Public Instance Methods

attributes(*list) click to toggle source
# File lib/sprinkle/extensions/attributes.rb, line 34
def attributes(*list)
  list.each do |a|
    define_method a do |*val|
      val=nil if val.empty?
      val ? @options[a] = val.first : @options[a] || read_from_package(a)
    end
  end
end
multi_attributes(*list) click to toggle source
# File lib/sprinkle/extensions/attributes.rb, line 43
def multi_attributes(*list)
  list.each do |a|
    define_method a do |*val|
      val = val.try(:first)
      return @options[a] unless val
      @options[a]||=[]
      val.is_a?(Array) ? @options[a] += val : @options[a] << val
    end
  end
end