Module Sequel::SetOverrides
In: lib/sequel/extensions/set_overrides.rb

Methods

Public Instance methods

Set overrides/defaults for insert hashes

[Source]

    # File lib/sequel/extensions/set_overrides.rb, line 28
28:     def insert_sql(*values)
29:       if values.size == 1 && (vals = values.first).is_a?(Hash)
30:         super(merge_defaults_overrides(vals))
31:       else
32:         super
33:       end
34:     end

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')

[Source]

    # File lib/sequel/extensions/set_overrides.rb, line 42
42:     def set_defaults(hash)
43:       clone(:defaults=>(@opts[:defaults]||{}).merge(hash))
44:     end

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')

[Source]

    # File lib/sequel/extensions/set_overrides.rb, line 52
52:     def set_overrides(hash)
53:       clone(:overrides=>hash.merge(@opts[:overrides]||{}))
54:     end

Set overrides/defaults for update hashes

[Source]

    # File lib/sequel/extensions/set_overrides.rb, line 57
57:     def update_sql(values = {})
58:       if values.is_a?(Hash)
59:         super(merge_defaults_overrides(values))
60:       else
61:         super
62:       end
63:     end

[Validate]