| Class | Article |
| In: |
app/models/article.rb
|
| Parent: | Document |
Artículos de la Escucha activa
Cambios en las fuentes existentes.
# 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.
# 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
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
# 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.
# 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