tsql_parser 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ddacc151a5ff2930d1bf0e7501a53711503811c123fdcc1fa74a5e3926435c94
4
- data.tar.gz: 3ac0fa643de5be751c55544bb2b226c8e8e5b062f56d8910db01f853c5400597
3
+ metadata.gz: 261c5aa051e63968deb877640c812121e3898cccdd71a60aebed350f7cbc2cd2
4
+ data.tar.gz: e15cae8c9e0616deafc9d0ccefd5e4414c2653e673722d1995d7b27c24ad114c
5
5
  SHA512:
6
- metadata.gz: eb1cd578f4346f3ed104d5a177ee1f7a3d67f5030fa748df64a85156a364ad38e0efe0e9fc48770d5f216d5a0857c2d65250caee3e28974392fd864a47873227
7
- data.tar.gz: ace5d1a98579b17d3b48447691c61c3a0d346a090ba5462b54c6fa44c5ea7da1093825b71a6fb9b28e51f5e93785915f8e358e895011c236bf7ca3121865a84e
6
+ metadata.gz: 508119aff4af84168665d355bbc154232a4a98d713728adcd18495435fdc39fdb8868cde5cbccb2e570fc7c587f92e295d137f04b3c765aa99945974723c516f
7
+ data.tar.gz: 3888919f8554c94e596f567ac085ecde9316b32244781b30600a1c6d1a4d0bd47cc6e824bbbf110b084fe4ed392fdf552d2f587f9075938a1881bc2ea623a049
@@ -48,7 +48,7 @@ module TSqlParser::Parsing
48
48
  new_lines << ""
49
49
  next
50
50
  end
51
- if %w[IF RETURN INSERT DELETE WHILE].include? first or first.start_with? "/*"
51
+ if Parser.is_newline_required? first or first.start_with? "/*"
52
52
  new_lines << ""
53
53
  end
54
54
  new_lines << line
@@ -64,7 +64,7 @@ module TSqlParser::Parsing
64
64
  end
65
65
  sub_one = false
66
66
  work_lines = work_lines.flatten
67
- last = ''
67
+ last = ""
68
68
  work_lines.each_with_index do |line, index|
69
69
  first = line.strip.split(" ").first
70
70
 
@@ -74,7 +74,7 @@ module TSqlParser::Parsing
74
74
  elsif %w[END GO FROM].include? first and last != "DELETE"
75
75
  tab_count -= 1 if tab_count > 0
76
76
  indented_lines << "#{tab * tab_count}#{line}"
77
- elsif %w[IF].include? first
77
+ elsif %w[IF].include? first
78
78
  indented_lines << "#{tab * tab_count}#{line}"
79
79
  next_line = work_lines[index + 1] unless index + 1 > work_lines.size
80
80
  sub_one = true unless next_line.start_with? "BEGIN"
@@ -25,7 +25,7 @@ module TSqlParser::Parsing
25
25
 
26
26
  def self.get_new_node_keywords
27
27
  %w[CREATE ALTER DROP RENAME SELECT INSERT UPDATE DELETE WHILE IF ELSE DECLARE SET WITH BEGIN FROM WHERE INNER LEFT JOIN END GO GROUP ORDER CASE PRINT RETURN] \
28
- - %w[WHERE SET]
28
+ - %w[WHERE SET WITH]
29
29
  end
30
30
 
31
31
  def self.get_begin_keyword
@@ -45,7 +45,7 @@ module TSqlParser::Parsing
45
45
  end
46
46
 
47
47
  def self.get_newline_keywords
48
- %w[INSERT UPDATE DELETE SELECT SET DECLARE CREATE FROM INNER FULL OUTER LEFT RIGHT CROSS JOIN IF BEGIN END RETURN WHERE PRINT GROUP ORDER WHILE]
48
+ %w[INSERT UPDATE DELETE SELECT CREATE IF RETURN PRINT WHILE]
49
49
  end
50
50
 
51
51
  def self.get_reserved_keywords
@@ -34,7 +34,7 @@ module TSqlParser::Parsing
34
34
  parts = line.strip.split(" SET ")
35
35
  tab_count = self.get_tab_count(line, tab)
36
36
  formatted << "#{tab * tab_count}#{parts[0]}\n"
37
- parts[1..].each {|p| formatted << "#{tab * tab_count}SET #{p}" }
37
+ parts[1..].each { |p| formatted << "#{tab * tab_count}SET #{p}" }
38
38
  else
39
39
  formatted << line
40
40
  end
@@ -157,28 +157,30 @@ module TSqlParser::Parsing
157
157
  private
158
158
 
159
159
  def self.format_set(s, tab_count = 0, tab = " ")
160
+ return s if s.nil?
160
161
  parts = []
161
- builder = ''
162
+ builder = ""
162
163
  parenthesis = 0
163
- s.split('').each do |c|
164
- parenthesis += 1 if c == '('
165
- parenthesis -= 1 if c == ')'
166
- if c == ','
164
+ s.split("").each do |c|
165
+ parenthesis += 1 if c == "("
166
+ parenthesis -= 1 if c == ")"
167
+ if c == ","
167
168
  if parenthesis > 0
168
169
  builder << c
169
170
  else
170
171
  parts << builder
171
- builder = ''
172
+ builder = ""
172
173
  end
173
174
  else
174
175
  builder << c
175
176
  end
176
177
  end
177
178
  parts << builder unless builder.empty?
178
- "\n#{parts.map {|p| "#{tab * (tab_count + 1)}#{p.strip}"}.join(",\n")}"
179
+ "\n#{parts.map { |p| "#{tab * (tab_count + 1)}#{p.strip}" }.join(",\n")}"
179
180
  end
180
181
 
181
182
  def self.format_update(s, tab_count = 0, tab = " ")
183
+ return s if s.nil?
182
184
  formatted = []
183
185
  parts = s.split(" SET ")
184
186
  table = parts[0]
@@ -190,6 +192,7 @@ module TSqlParser::Parsing
190
192
  end
191
193
 
192
194
  def self.format_insert(s, tab_count = 0, tab = " ")
195
+ return s if s.nil?
193
196
  formatted = []
194
197
  if s.include? ") VALUES ("
195
198
  tokens = s.split(") VALUES (")
@@ -205,11 +208,14 @@ module TSqlParser::Parsing
205
208
  end
206
209
 
207
210
  def self.format_select(s, tab_count = 0, tab = " ")
211
+ return s if s.nil?
212
+
208
213
  tokens = s.split(", ")
209
214
  "\n#{tokens.map { |t| "#{tab * (tab_count + 1)}#{t}" }.join(",\n")}"
210
215
  end
211
216
 
212
217
  def self.format_predicate(s, tab_count = 0, tab = " ")
218
+ return s if s.nil?
213
219
  indented = []
214
220
  formatted = []
215
221
  builder = []
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tsql_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Stauffer