Module: PublicAttributes::ClassMethods

Defined in:
lib/public_attributes.rb

Instance Method Summary collapse

Instance Method Details

#public_attributes(*attr_list) ⇒ Object



31
32
33
# File 'lib/public_attributes.rb', line 31

def public_attributes(*attr_list)
  PublicAttributes.add(name, attr_list)
end

#to_publicObject



35
36
37
38
39
40
41
42
43
44
45
# File 'lib/public_attributes.rb', line 35

def to_public
  if defined?(ActiveRecord) && (self < ActiveRecord::Base)
    where(nil).map do |instance|
      instance.to_public
    end
  else
    raise Error 'This method is only available for ActiveRecord classes. '\
                'Please re-implement if you\'d like to call to_public on '\
                'a custom collection.'
  end
end