Hash for columns where the getter method already exists. keys are column symbols/strings that conflict with method names and should be looked up directly instead of calling a method, values are the column symbol to lookup in the values hash.
Hash for columns where the setter method already exists. keys are column symbols/strings suffixed with = that conflict with method names and should be set directly in the values hash, values are the column symbol to set in the values hash.
Compare the column names for the model with the methods defined on Sequel::Model, and automatically setup the column conflicts.
# File lib/sequel/plugins/column_conflicts.rb, line 55 def check_column_conflicts mod = Sequel::Model columns.find_all{|c| mod.method_defined?(c)}.each{|c| get_column_conflict!(c)} columns.find_all{|c| mod.method_defined?("#{c}=")}.each{|c| set_column_conflict!(c)} end
Set the given column as one with a getter method conflict.
# File lib/sequel/plugins/column_conflicts.rb, line 62 def get_column_conflict!(column) @get_column_conflicts[column.to_sym] = @get_column_conflicts[column.to_s] = column.to_sym end
Set the given column as one with a setter method conflict.
# File lib/sequel/plugins/column_conflicts.rb, line 67 def set_column_conflict!(column) @set_column_conflicts[:"#{column}="] = @set_column_conflicts["#{column}="] = column.to_sym end