Class Journalist
In: app/models/journalist.rb
Parent: User

Clase para los usuarios de tipo "Periodista". Es subclase de User, por lo que su tabla es users

Methods

Attributes

normas_de_uso  [RW] 

Public Class methods

Genera un password aleatorio snippets.dzone.com/posts/show/2137

[Source]

    # File app/models/journalist.rb, line 35
35:   def self.random_password(size = 5)
36:     chars = (('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a) - %w(i o 0 1 l 0 I O)
37:     (1..size).collect{|a| chars[rand(chars.size)] }.join
38:   end

Public Instance methods

Vacia los campos irrelevantes para este tipo de usuario Se llama desde before_save

[Source]

    # File app/models/journalist.rb, line 16
16:   def empty_unnecessary_fields
17:     self.department_id = nil
18:   end

[Source]

    # File app/models/journalist.rb, line 28
28:   def enable_event_alerts
29:     self.has_event_alerts = true
30:     self.alerts_locale = I18n.locale if  self.alerts_locale.nil?
31:   end

Devuelve un array con los departamentos y organismos a los que está suscrito

[Source]

    # File app/models/journalist.rb, line 41
41:   def organization_ids
42:     o_ids = []
43:     self.departments.each do |dept|
44:       o_ids = o_ids + [dept.id]+dept.organization_ids
45:     end
46:     o_ids
47:   end

Los periodistas quedan en estado de "pendientes de aprobación" cuando se dan de alta. Se llama desde before_create

[Source]

    # File app/models/journalist.rb, line 23
23:   def set_pending_status
24:     self.status = "pendiente"
25:   end

[Validate]