Module: Sequel::Plugins::SplitValues::InstanceMethods
- Defined in:
- lib/sequel/plugins/split_values.rb
Instance Method Summary collapse
-
#[](k) ⇒ Object
If there isn’t an entry in the values hash, but there is a noncolumn_values hash, look in that hash for the value.
-
#remove_key!(key) ⇒ Object
Remove the key from noncolumn values if it is present there.
-
#split_noncolumn_values ⇒ Object
Check all entries in the values hash.
Instance Method Details
#[](k) ⇒ Object
If there isn’t an entry in the values hash, but there is a noncolumn_values hash, look in that hash for the value.
51 52 53 54 55 56 57 |
# File 'lib/sequel/plugins/split_values.rb', line 51 def [](k) if (res = super).nil? @noncolumn_values[k] if !@values.has_key?(k) && @noncolumn_values else res end end |
#remove_key!(key) ⇒ Object
Remove the key from noncolumn values if it is present there. If it is not present there, then use the default behavior of removing it from values.
61 62 63 64 65 66 67 |
# File 'lib/sequel/plugins/split_values.rb', line 61 def remove_key!(key) if @noncolumn_values && @noncolumn_values.key?(key) @noncolumn_values.delete(key) else super end end |
#split_noncolumn_values ⇒ Object
Check all entries in the values hash. If any of the keys are not columns, move the entry into the noncolumn_values hash.
71 72 73 74 75 76 77 78 79 |
# File 'lib/sequel/plugins/split_values.rb', line 71 def split_noncolumn_values cols = (@values.keys - columns) return self if cols.empty? nc = @noncolumn_values ||= {} vals = @values cols.each{|k| nc[k] = vals.delete(k)} self end |