Module: RestrictedAccess::Models::ClassMethods

Defined in:
lib/restricted_access/models.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#accessesObject (readonly)

Returns the value of attribute accesses.



7
8
9
# File 'lib/restricted_access/models.rb', line 7

def accesses
  @accesses
end

Instance Method Details

#access(level_name) ⇒ Object



23
24
25
# File 'lib/restricted_access/models.rb', line 23

def access(level_name)
  @accesses.find { |a| a.level == level_name }
end

#access_levels(accesses) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/restricted_access/models.rb', line 9

def access_levels(accesses)
  @accesses = accesses.map { |k, v| Access.new(k, v) }

  # define level store field
  if defined?(Mongoid::Document)
    enum :level, accesses.keys
  elsif defined?(ActiveRecord::Base)
    enum level: accesses
  else
    raise 'Your ORM is not recognized.'
  end

end