Class Article
In: app/models/article.rb
Parent: Document

Artículos de la Escucha activa

Methods

Included Modules

DraftUtils::InstanceMethods

Public Instance methods

Cambios en las fuentes existentes.

[Source]

    # File app/models/article.rb, line 32
32:   def existing_source_attributes=(source_attributes)
33:     self.sources.reject(&:new_record?).each do |opt|
34:       attributes = source_attributes[opt.id.to_s]
35:       if attributes
36:         opt.attributes = attributes
37:       else
38:         sources.delete(opt)
39:       end
40:     end
41:   end

Nuevas fuentes para el artículo.

[Source]

    # File app/models/article.rb, line 21
21:   def new_source_attributes=(source_attributes)
22:     source_attributes.each do |attributes|
23:       sources.build(attributes)
24:       opt = sources.last
25:       if opt.position.to_i.eql?(0)
26:         opt.position = sources.blank? ? 1: sources.map {|opt| opt.position.to_i}.sort.last + 1
27:       end
28:     end
29:   end

Protected Instance methods

No todas las columnas de la tabla documents se utilizan en los artículos, por lo que nos aseguramos de que están vacías las que no se usan. Se llama desde before_save

[Source]

    # File app/models/article.rb, line 55
55:   def disable_unnecessary_fields
56:     self.starts_at = nil
57:     self.ends_at = nil
58:     self.place = nil
59:     self.lat = nil
60:     self.lng = nil
61:     self.location_for_gmaps = nil
62:     self.stream_flow_id = nil
63:     self.journalist_alert_version = 0
64:     self.staff_alert_version = 0
65:     self.speaker = nil
66:   end

Guardar los cambios en las fuentes que corresponden al artículo.

[Source]

    # File app/models/article.rb, line 69
69:   def save_sources
70:     self.sources.each do |src|
71:       src.save(false)
72:     end
73:   end

Los artículos de Escucha activa salen sólo en la web de OpenIrekia.

[Source]

    # File app/models/article.rb, line 46
46:   def set_article_default_values
47:     self.show_in_irekia = true
48:     self.show_in_agencia = false
49:     true
50:   end

[Validate]