reading_group.rb
837 Bytes
class ReadingGroup < KalibroClient::Entities::Configurations::ReadingGroup
include KalibroRecord
attr_writer :attributes
def self.public_or_owned_by_user(user=nil)
reading_group_attributes = ReadingGroupAttributes.where(public: true)
reading_group_attributes += ReadingGroupAttributes.where(user_id: user.id, public: false) if user
reading_group_attributes.map { |reading_group_attribute|
begin
self.find(reading_group_attribute.reading_group_id)
rescue KalibroClient::Errors::RecordNotFound
nil
end
}.compact
end
def self.public
self.public_or_owned_by_user
end
def attributes
@attributes ||= ReadingGroupAttributes.find_by(reading_group_id: self.id)
end
def destroy
attributes.destroy unless attributes.nil?
@attributes = nil
super
end
end