Module: Typus::Orm::ActiveRecord::User::InstanceMethods

Defined in:
lib/typus/orm/active_record/user/instance_methods.rb

Instance Method Summary collapse

Instance Method Details

#active?Boolean



50
51
52
# File 'lib/typus/orm/active_record/user/instance_methods.rb', line 50

def active?
  status && Typus::Configuration.roles.has_key?(role)
end

#application(name) ⇒ Object



23
24
25
# File 'lib/typus/orm/active_record/user/instance_methods.rb', line 23

def application(name)
  Typus.application(name).delete_if { |r| !resources.keys.include?(r) }
end

#applicationsObject



19
20
21
# File 'lib/typus/orm/active_record/user/instance_methods.rb', line 19

def applications
  Typus.applications.delete_if { |a| application(a).empty? }
end

#can?(action, resource, options = {}) ⇒ Boolean



27
28
29
30
31
32
33
34
35
36
# File 'lib/typus/orm/active_record/user/instance_methods.rb', line 27

def can?(action, resource, options = {})
  resource = resource.model_name if resource.is_a?(Class)

  return false if !resources.include?(resource)
  return true if resources[resource].include?("all")

  action = options[:special] ? action : action.acl_action_mapper

  resources[resource].extract_settings.include?(action)
end

#cannot?(*args) ⇒ Boolean



38
39
40
# File 'lib/typus/orm/active_record/user/instance_methods.rb', line 38

def cannot?(*args)
  !can?(*args)
end

#is_not_root?Boolean



46
47
48
# File 'lib/typus/orm/active_record/user/instance_methods.rb', line 46

def is_not_root?
  !is_root?
end

#is_root?Boolean



42
43
44
# File 'lib/typus/orm/active_record/user/instance_methods.rb', line 42

def is_root?
  role == Typus.master_role
end

#localeObject



54
55
56
# File 'lib/typus/orm/active_record/user/instance_methods.rb', line 54

def locale
  (preferences && preferences[:locale]) ? preferences[:locale] : ::I18n.default_locale
end

#locale=(locale) ⇒ Object



58
59
60
61
# File 'lib/typus/orm/active_record/user/instance_methods.rb', line 58

def locale=(locale)
  self.preferences ||= {}
  self.preferences[:locale] = locale
end

#modelsObject



15
16
17
# File 'lib/typus/orm/active_record/user/instance_methods.rb', line 15

def models
  Typus.models.delete_if { |m| cannot?('read', m) }
end

#owns?(resource) ⇒ Boolean



63
64
65
# File 'lib/typus/orm/active_record/user/instance_methods.rb', line 63

def owns?(resource)
  id == resource.send(Typus.user_foreign_key)
end

#resourcesObject



11
12
13
# File 'lib/typus/orm/active_record/user/instance_methods.rb', line 11

def resources
  Typus::Configuration.roles[role.to_s].compact
end

#to_labelObject



7
8
9
# File 'lib/typus/orm/active_record/user/instance_methods.rb', line 7

def to_label
  email
end