class TheSchemaIs::UnknownColumn
Constants
- MSG
Private Instance Methods
extra_columns()
click to toggle source
# File lib/the_schema_is/cops.rb, line 199 def extra_columns model_columns.reject { |name,| schema_columns.keys.include?(name) } end
register_offense(_node)
click to toggle source
# File lib/the_schema_is/cops.rb, line 183 def register_offense(_node) return if model.schema.nil? || schema.nil? extra_columns.each do |_, col| add_offense(col.source, message: MSG % col.name) do |corrector| src_range = col.source.loc.expression end_pos = col.source.next_sibling.then { |n| n ? n.loc.expression.begin_pos - 2 : col.source.find_parent(:block).loc.end.begin_pos } range = ::Parser::Source::Range.new(src_range.source_buffer, src_range.begin_pos - 2, end_pos) corrector.remove(range) end end end