module Storytime::Concerns::StorytimeUser::ClassMethods
Public Instance Methods
storytime_user()
click to toggle source
# File lib/storytime/concerns/storytime_user.rb, line 7 def storytime_user has_many :storytime_memberships, class_name: "::Storytime::Membership", dependent: :destroy has_many :storytime_roles, through: :storytime_memberships has_many :storytime_sites, through: :storytime_memberships, source: :site has_many :storytime_posts, class_name: "Storytime::Post" has_many :storytime_pages, class_name: "Storytime::Page" has_many :storytime_media, class_name: "Storytime::Media" has_many :storytime_versions, class_name: "Storytime::Version" has_many :storytime_comments, class_name: "Storytime::Comment" accepts_nested_attributes_for :storytime_memberships, allow_destroy: true scope :non_members, ->(site) { all.reject{|user| user.storytime_user?(site)} } include Storytime::Concerns::StorytimeUser::LocalInstanceMethods class_eval <<-EOS def self.policy_class UserPolicy end EOS %w{admin editor writer}.each do |role_name| class_eval <<-EOS def storytime_#{role_name}?(site) role = storytime_role_in_site(site) role && role.name == "#{role_name}" end EOS end end