Module: SqlLogic
- Defined in:
- lib/sql_logic.rb,
lib/sql_logic/sql_array.rb,
lib/sql_logic/conditions.rb,
lib/sql_logic/hash_extend.rb,
lib/sql_logic/associations.rb,
lib/sql_logic/sql_array_param.rb
Defined Under Namespace
Modules: Associations, Conditions, HashExtend
Classes: SQLArray, SQLArrayParam
Instance Method Summary
collapse
Instance Method Details
#get_sql(sql_array) ⇒ Object
10
11
12
13
14
15
|
# File 'lib/sql_logic.rb', line 10
def get_sql(sql_array)
sql_array = SQLArray.new(sql_array) if sql_array.is_a?(Hash)
raise ArgumentError.new("Argument Error!") unless sql_array.is_a?(SQLArray)
return sql_array.to_sql(self)
end
|
#get_sql_by_hash(sql_hash, options = {}) ⇒ Object
17
18
19
20
21
22
23
24
|
# File 'lib/sql_logic.rb', line 17
def get_sql_by_hash(sql_hash, options={})
options[:skip_blank]||=true
options[:strip]||=true
raise ArgumentError.new("Argument Error!") unless sql_hash.is_a?(Hash)
sql_hash.delete_if { |key, value| value.blank? } if options[:skip_blank]
sql_hash.each { |key, value| sql_hash[key] = value.strip if value.respond_to?(:strip) } if options[:strip]
get_sql(sql_hash)
end
|
#get_sql_by_key_value(key, value) ⇒ Object
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/sql_logic.rb', line 30
def get_sql_by_key_value(key, value)
associations = reflect_on_all_associations.collect { |assoc| assoc.name }
if key.to_s =~ /^(#{column_names.join("|")})_(#{Conditions::PRIMARY_CONDITIONS.join("|")})$/ or key.to_s =~ /^(#{associations.join("|")})_(\w+)_(#{Conditions::PRIMARY_CONDITIONS.join("|")})$/
key_method = "#{key}_to_sql".to_sym
return self.send(key_method, value)
sql = "#{self.table_name_without_schema}.#{key} = :#{key} "
return [sql, {key_method=>value}]
else
return nil
end
end
|
#table_name_without_schema ⇒ Object
26
27
28
|
# File 'lib/sql_logic.rb', line 26
def table_name_without_schema
self.table_name.include?(".") ? self.table_name.split(".").last : self.table_name
end
|