Module: SqlLogic::HashExtend
- Defined in:
- lib/sql_logic/hash_extend.rb
Instance Method Summary collapse
Instance Method Details
#+(h) ⇒ Object
4 5 6 |
# File 'lib/sql_logic/hash_extend.rb', line 4 def +(h) return SQLArray.new([self, "AND", h]) end |
#-(h) ⇒ Object
8 9 10 |
# File 'lib/sql_logic/hash_extend.rb', line 8 def -(h) return SQLArray.new([self, "OR", h]) end |
#delete_blank! ⇒ Object
12 13 14 |
# File 'lib/sql_logic/hash_extend.rb', line 12 def delete_blank! self.delete_if { |key, value| value.blank? } end |
#to_s ⇒ Object
16 17 18 |
# File 'lib/sql_logic/hash_extend.rb', line 16 def to_s return self.inspect end |
#to_sql(record = nil) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/sql_logic/hash_extend.rb', line 20 def to_sql(record=nil) sql_with_params = [] self.each do |key, value| if record sql_p = record.get_sql_by_key_value(key, value) sql_with_params << sql_p if sql_p else sql_with_params << ["#{key} = #{value}", {}] end end sql_array = SQLArrayParam.new sql_with_params.each do |sp| sql_array.add(sp) end if sql_with_params.size>1 sql = ["(", sql_array.sql, ")"].join else sql = sql_array.sql end return [sql, sql_array.sql_params] end |