@@ -25,14 +25,14 @@ def drop_primary_triggers_sql
25
25
26
26
def create_primary_triggers_sql ( active = false )
27
27
when_stmt = "TRUE"
28
- cols = active_cols_names . select { |n | !n . nil? }
28
+ cols = active_cols_names . select { |n | !n . nil? }
29
29
if ( filter = @schema [ :filter_column ] )
30
30
when_stmt = "NEW.#{ filter } = TRUE"
31
31
cols << filter
32
32
end
33
- update_filter = String . new
33
+ update_filter = + ""
34
34
if cols . length > 0
35
- " OF #{ cols . join ( ', ' ) } "
35
+ " OF #{ cols . join ( ", " ) } "
36
36
end
37
37
38
38
<<-SQL
@@ -68,7 +68,7 @@ def create_secondary_trigger_sql(target_table, target_col, col)
68
68
end
69
69
70
70
def create_secondary_trigger_poly_sql ( target_table , target_col , col , conditions )
71
- conditions_sql = conditions . collect { |k , v | "NEW.#{ k } = '#{ v } '" } . join ( " AND " )
71
+ conditions_sql = conditions . collect { |k , v | "NEW.#{ k } = '#{ v } '" } . join ( " AND " )
72
72
<<~SQL
73
73
CREATE TRIGGER IF NOT EXISTS #{ target_table } _#{ target_col } _#{ name } _insert AFTER INSERT ON #{ target_table } WHEN #{ conditions_sql } BEGIN
74
74
#{ rebuild_sql } ;
@@ -79,10 +79,8 @@ def create_secondary_trigger_poly_sql(target_table, target_col, col, conditions)
79
79
SQL
80
80
end
81
81
82
-
83
-
84
82
def drop_secondary_triggers_sql
85
- sql = String . new
83
+ sql = + ""
86
84
@schema [ :fields ] . each do |name , field |
87
85
if field [ :trigger_sql ]
88
86
if field [ :col ]
@@ -96,7 +94,7 @@ def drop_secondary_triggers_sql
96
94
end
97
95
98
96
def create_secondary_triggers_sql
99
- sql = String . new
97
+ sql = + ""
100
98
@schema [ :fields ] . each do |name , field |
101
99
if field [ :trigger_sql ]
102
100
if field [ :col ]
@@ -129,11 +127,11 @@ def enrich_schema
129
127
target_table , target_col = field [ :source ] . split ( "." )
130
128
field [ :target_table ] = target_table . to_sym
131
129
field [ :target_col ] = target_col . to_sym
132
- field [ :conditions_sql ] = field [ :conditions ] . collect { |k , v | "#{ k } = '#{ v } '" } . join ( " AND " ) if field [ :conditions ]
130
+ field [ :conditions_sql ] = field [ :conditions ] . collect { |k , v | "#{ k } = '#{ v } '" } . join ( " AND " ) if field [ :conditions ]
133
131
field [ :sql ] = "SELECT #{ field [ :target_col ] } FROM #{ field [ :target_table ] } WHERE #{ field [ :reference ] } = NEW.id"
134
- field [ :sql ] += " AND #{ field [ :conditions_sql ] } " if field [ :conditions_sql ]
132
+ field [ :sql ] += " AND #{ field [ :conditions_sql ] } " if field [ :conditions_sql ]
135
133
field [ :sql ] = "(#{ field [ :sql ] } )"
136
- field [ :trigger_sql ] = true
134
+ field [ :trigger_sql ] = true
137
135
field [ :target_table_alias ] = "#{ field [ :target_table ] } _#{ name } "
138
136
else
139
137
field [ :col ] = name unless field [ :col ]
@@ -145,7 +143,7 @@ def enrich_schema
145
143
end
146
144
147
145
def filter_sql
148
- sql = String . new
146
+ sql = + ""
149
147
sql << " WHERE #{ @schema [ :filter_column ] } = TRUE " if @schema [ :filter_column ]
150
148
sql
151
149
end
@@ -161,27 +159,25 @@ def select_cols_sql
161
159
( !field [ :trigger_sql ] . nil? ) ? "#{ field [ :target_table_alias ] } .#{ field [ :target_col ] } " : field [ :target ]
162
160
end . join ( ", " )
163
161
end
164
-
162
+
165
163
def joins_sql
166
164
joins = [ @schema [ :table ] ]
167
165
active_fields . each do |name , field |
168
166
if field [ :trigger_sql ]
169
- join_table = String . new
167
+ join_table = + ""
170
168
join_table << "#{ field [ :target_table ] } AS #{ field [ :target_table_alias ] } ON "
171
169
if field [ :col ]
172
170
join_table << "#{ field [ :target_table_alias ] } .id = #{ @schema [ :table ] } .#{ field [ :col ] } " if field [ :col ]
173
171
elsif field [ :source ]
174
172
join_table << "#{ field [ :target_table_alias ] } .#{ field [ :reference ] } = #{ @schema [ :table ] } .id"
175
173
if field [ :conditions ]
176
174
join_table << " AND "
177
- join_table << field [ :conditions ] . collect { |k , v | "#{ field [ :target_table_alias ] } .#{ k } = '#{ v } '" } . join ( " AND " )
175
+ join_table << field [ :conditions ] . collect { |k , v | "#{ field [ :target_table_alias ] } .#{ k } = '#{ v } '" } . join ( " AND " )
178
176
end
179
177
end
180
- joins << join_table
178
+ joins << join_table
181
179
end
182
180
end
183
181
joins . join ( " LEFT JOIN " )
184
182
end
185
-
186
-
187
183
end
0 commit comments