Module: Sequel::SetOverrides
- Defined in:
- lib/sequel/extensions/set_overrides.rb
Instance Method Summary collapse
-
#insert_sql(*values) ⇒ Object
Set overrides/defaults for insert hashes.
-
#set_defaults(hash) ⇒ Object
Set the default values for insert and update statements.
-
#set_overrides(hash) ⇒ Object
Set values that override hash arguments given to insert and update statements.
-
#update_sql(values = {}) ⇒ Object
Set overrides/defaults for update hashes.
Instance Method Details
#insert_sql(*values) ⇒ Object
Set overrides/defaults for insert hashes
27 28 29 30 31 32 33 |
# File 'lib/sequel/extensions/set_overrides.rb', line 27 def insert_sql(*values) if values.size == 1 && (vals = values.first).is_a?(Hash) super(merge_defaults_overrides(vals)) else super end end |
#set_defaults(hash) ⇒ Object
Set the default values for insert and update statements. The values hash passed to insert or update are merged into this hash, so any values in the hash passed to insert or update will override values passed to this method.
DB[:items].set_defaults(:a=>'a', :c=>'c').insert(:a=>'d', :b=>'b')
# INSERT INTO items (a, c, b) VALUES ('d', 'c', 'b')
41 42 43 |
# File 'lib/sequel/extensions/set_overrides.rb', line 41 def set_defaults(hash) clone(:defaults=>(@opts[:defaults]||{}).merge(hash)) end |
#set_overrides(hash) ⇒ Object
Set values that override hash arguments given to insert and update statements. This hash is merged into the hash provided to insert or update, so values will override any values given in the insert/update hashes.
DB[:items].set_overrides(:a=>'a', :c=>'c').insert(:a=>'d', :b=>'b')
# INSERT INTO items (a, c, b) VALUES ('a', 'c', 'b')
51 52 53 |
# File 'lib/sequel/extensions/set_overrides.rb', line 51 def set_overrides(hash) clone(:overrides=>hash.merge(@opts[:overrides]||{})) end |
#update_sql(values = {}) ⇒ Object
Set overrides/defaults for update hashes
56 57 58 59 60 61 62 |
# File 'lib/sequel/extensions/set_overrides.rb', line 56 def update_sql(values = {}) if values.is_a?(Hash) super(merge_defaults_overrides(values)) else super end end |