Module: Sufia::User

Extended by:
ActiveSupport::Concern
Defined in:
app/models/concerns/sufia/user.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#abilityObject



62
63
64
# File 'app/models/concerns/sufia/user.rb', line 62

def ability
  @ability ||= ::Ability.new(self)
end

#as_json(opts = nil) ⇒ Object

Format the json for select2 which requires just an id and a field called text. If we need an alternate format we should probably look at a json template gem



28
29
30
# File 'app/models/concerns/sufia/user.rb', line 28

def as_json(opts = nil)
  {id: user_key, text: display_name ? "#{display_name} (#{user_key})" : user_key}
end

#email_addressObject



32
33
34
# File 'app/models/concerns/sufia/user.rb', line 32

def email_address
  return self.email
end

#groupsObject

The basic groups method, override or will fallback to Sufia::Ldap::User



58
59
60
# File 'app/models/concerns/sufia/user.rb', line 58

def groups
  @groups ||= self.group_list ? self.group_list.split(";?;") : []
end

#mailboxer_email(obj = nil) ⇒ Object

method needed for messaging



53
54
55
# File 'app/models/concerns/sufia/user.rb', line 53

def mailboxer_email(obj=nil)
  return nil
end

#nameObject



36
37
38
# File 'app/models/concerns/sufia/user.rb', line 36

def name
  return self.display_name.titleize || self.user_key rescue self.user_key
end

#to_paramObject

Redefine this for more intuitive keys in Redis



41
42
43
44
# File 'app/models/concerns/sufia/user.rb', line 41

def to_param
  # hack because rails doesn't like periods in urls.
  user_key.gsub(/\./, '-dot-')
end

#trophy_filesObject



46
47
48
49
50
# File 'app/models/concerns/sufia/user.rb', line 46

def trophy_files
  trophies.map do |t|
    GenericFile.load_instance_from_solr(Sufia::Noid.namespaceize(t.generic_file_id))
  end
end