class DbSpiderWriterNode
Public Class Methods
new(reader_node)
click to toggle source
# File lib/db_facet/db_spider_writer_node.rb, line 3 def initialize reader_node @r_node = reader_node end
Public Instance Methods
data()
click to toggle source
# File lib/db_facet/db_spider_writer_node.rb, line 37 def data @r_node[:data] end
id()
click to toggle source
# File lib/db_facet/db_spider_writer_node.rb, line 11 def id data[pk] end
id=(v)
click to toggle source
# File lib/db_facet/db_spider_writer_node.rb, line 7 def id=(v) data[pk] = v end
insert_data()
click to toggle source
# File lib/db_facet/db_spider_writer_node.rb, line 41 def insert_data data.slice *model.column_names end
model()
click to toggle source
# File lib/db_facet/db_spider_writer_node.rb, line 15 def model @model ||= @r_node[:class_name].constantize end
pk()
click to toggle source
# File lib/db_facet/db_spider_writer_node.rb, line 19 def pk model.primary_key end
reflection_nodes()
click to toggle source
# File lib/db_facet/db_spider_writer_node.rb, line 27 def reflection_nodes rn = {} reflections.each_pair do |ref_name, reader_nodes| rn[model.reflections[ref_name]] = reader_nodes.map{|reader_node| DbSpiderWriterNode.new reader_node } end rn end
reflections()
click to toggle source
# File lib/db_facet/db_spider_writer_node.rb, line 23 def reflections @r_node[:reflections] end
t_cols()
click to toggle source
# File lib/db_facet/db_spider_writer_node.rb, line 60 def t_cols @t_cols ||= model.translated_attribute_names.map &:to_s end
t_data()
click to toggle source
# File lib/db_facet/db_spider_writer_node.rb, line 45 def t_data data.slice(*t_cols).merge( locale: 'pt-BR', t_fk => id ) end
t_fk()
click to toggle source
# File lib/db_facet/db_spider_writer_node.rb, line 52 def t_fk @t_fk ||= t_model.reflections[:globalized_model].foreign_key end
t_model()
click to toggle source
# File lib/db_facet/db_spider_writer_node.rb, line 56 def t_model @t_model ||= model.translation_class end
update_columns(atts)
click to toggle source
# File lib/db_facet/db_spider_writer_node.rb, line 64 def update_columns atts raise "Trying to update record without primary key: #{model} #{atts}" if id.blank? model.where(id: id).update_columns atts end