Methods
Public Instance
Attributes
get_column_conflicts | [R] |
|
set_column_conflicts | [R] |
|
Public Instance methods
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 62 def check_column_conflicts 63 mod = Sequel::Model 64 columns.find_all{|c| mod.method_defined?(c)}.each{|c| get_column_conflict!(c)} 65 columns.find_all{|c| mod.method_defined?("#{c}=")}.each{|c| set_column_conflict!(c)} 66 end
Freeze column conflict information when freezing model class.
# File lib/sequel/plugins/column_conflicts.rb 69 def freeze 70 @get_column_conflicts.freeze 71 @set_column_conflicts.freeze 72 73 super 74 end
Set the given column as one with a getter method conflict.
# File lib/sequel/plugins/column_conflicts.rb 77 def get_column_conflict!(column) 78 @get_column_conflicts[column.to_sym] = @get_column_conflicts[column.to_s] = column.to_sym 79 end
Set the given column as one with a setter method conflict.
# File lib/sequel/plugins/column_conflicts.rb 82 def set_column_conflict!(column) 83 @set_column_conflicts[:"#{column}="] = @set_column_conflicts["#{column}="] = column.to_sym 84 end