tsql_parser 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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