workato-connector-builder 0.0.2.pre → 0.0.3.pre

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: da4d5d3c95d265014f7035a8fbd759176752951085f57f40340693ca88fa0e9c
4
- data.tar.gz: d502762b950f72047a5fdde9f95d60a92fddcabdec0c5edcb2c57e307c9afe3c
3
+ metadata.gz: ad98e3fee089b4a600c5e43aae83113a445637615c6261566c5b3392f2fa725a
4
+ data.tar.gz: 565c3b987ff926937764163a84c845758ac9dfa3b5a0d0e5aa808785dd13dc67
5
5
  SHA512:
6
- metadata.gz: 972df2b68f5ed84ada3941075ddad7ab56bf1ada4cb7360af7343d1188e76d30c182be4d8967516401e82a4919807c3c9dacb3c0aaacb29a590b9f3fa8926b28
7
- data.tar.gz: 9ec5eb59d24f1a2573ee0fed0be99ce8c746f68721b2797fde5746002107d6f86c5e0f6cb44a574a9dbe910f4145591536268194781296e26fba8ee0afe4a976
6
+ metadata.gz: 926fe2b7b524e3deff9e2571fb6e2254701e14d0f32304320180de9cee74333325527a443529b1224e007e496e2385fd58f148ac0f188b5d783517ca3e5f39ca
7
+ data.tar.gz: 42b295808593cb5ba5ec2bd8dffc3760c2e284773f832643765dfe32f58767ccfb4643d301a79607eede5ccb8876a045baa8f3a4cda013ae264890f347362aaf
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
7
7
  spec.description = 'A tool for building Workato Connectors from multiple hash files'
8
8
  spec.summary = spec.description
9
9
  spec.authors = [ 'Steven Laroche', ]
10
- spec.version = '0.0.2.pre'
10
+ spec.version = '0.0.3.pre'
11
11
  spec.license = 'MIT'
12
12
 
13
13
  spec.files = Dir['bin/*', 'lib/**/*.rb', 'workato-connector-builder.gemspec', 'LICENSE']
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workato-connector-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2.pre
4
+ version: 0.0.3.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Laroche
@@ -75,7 +75,6 @@ extra_rdoc_files: []
75
75
  files:
76
76
  - LICENSE
77
77
  - bin/workato-connector-builder
78
- - lib/test.rb
79
78
  - lib/workato_connector_builder/ast_generator.rb
80
79
  - lib/workato_connector_builder/cli/build_command.rb
81
80
  - lib/workato_connector_builder/cli/cli.rb
data/lib/test.rb DELETED
@@ -1,262 +0,0 @@
1
- require 'parser/current'
2
-
3
- # Emitter
4
- #
5
- #
6
- #
7
- # # level 2 will get us the hash keys we care about in the files like :action, etc
8
- # def look_for_type(ast, type, value_to_match, levels_to_traverse = 2)
9
- # return unless Parser::AST::Node === ast
10
- #
11
- # if ast.type == type # when we found block
12
- # ast.children[0] == value_to_match
13
- # else
14
- # if levels_to_traverse >= 0
15
- # match =
16
- # ast.children.select do |child|
17
- # # otherwise let's look for blocks
18
- # # fail early, we don't want to traverse the whole tree
19
- # match = look_for_type(child, type, value_to_match, levels_to_traverse - 1)
20
- # if match
21
- # break
22
- # end
23
- # end
24
- # return match
25
- # else
26
- # return false
27
- # end
28
- # end
29
- # end
30
- #
31
- # def get_children_for_match(ast, type, value_to_match, levels_to_traverse = 2)
32
- #
33
- # #
34
- # # if ast.children.any? {|child| child.type == type && child.children[0] == value_to_match}# when we found block
35
- # # ast.children
36
- # # else
37
- # # if levels_to_traverse > 0
38
- # # match = ast.children.select do |child|
39
- # # # otherwise let's look for blocks
40
- # # # fail early, we don't want to traverse the whole tree
41
- # # match = get_children_for_match(child, type, value_to_match, levels_to_traverse - 1)
42
- # # if match
43
- # # break
44
- # # end
45
- # # end
46
- # # return match
47
- # # else
48
- # # return []
49
- # # end
50
- # # end
51
- # end
52
- #
53
- # # combine the asts that are the same
54
- # $workato_hash_roots = {
55
- # :title => [],
56
- # :connection => [],
57
- # :actions => [],
58
- # :methods => [],
59
- # :object_definitions => [],
60
- # :pick_lists => [],
61
- # :test => [],
62
- # :triggers => [],
63
- # }
64
-
65
- require_relative 'workato_connector_builder/ast_generator'
66
- require_relative 'workato_connector_builder/hash_combiner'
67
- require 'rubocop-ast'
68
- include WorkatoConnectorBuilder
69
-
70
- # combine the source files
71
- builder = RuboCop::AST::Builder.new
72
- parser = Parser::CurrentRuby.new builder
73
-
74
- buffer1 = Parser::Source::Buffer.new('test1')
75
- buffer1.raw_source = %{{
76
- :test => 1,
77
- :collision => 1,
78
- 'dup' => {
79
- a: 1,
80
- b: 2
81
- }
82
- }}
83
- buffer2 = Parser::Source::Buffer.new('test2')
84
- # buffer2.raw_source = '{ :otherfield => 2, :collision => 2, dup: { # some comment \n c: 3}}'
85
- buffer2.raw_source = %{{
86
- :otherfield => 2,
87
- :collision => 2,
88
- dup: {
89
- # some comment
90
- a: 2,
91
- c: 3 # another_comment
92
- }
93
- }}
94
-
95
- require 'thor'
96
- combine_hashes = WorkatoConnectorBuilder::Utils::HashCombiner.new Thor::Shell::Color.new
97
-
98
- treeRewriter = Parser::Source::TreeRewriter.new buffer1
99
-
100
- node1 = parser.parse(buffer1)
101
- parser = Parser::CurrentRuby.new builder
102
- parser.reset
103
- node2 = parser.parse(buffer2)
104
-
105
- # class MyRule < Parser::AST::Processor
106
- # include RuboCop::AST::Traversal
107
- #
108
- # def on_sym(node)
109
- # puts "I found a symbol! #{node.value}"
110
- # end
111
- # end
112
- #
113
- #
114
-
115
- combine_hashes.combine node1, node2, treeRewriter
116
- #
117
- # source = RuboCop::ProcessedSource.new(Unparser.unparse(node3), 2.7)
118
- # rule = MyRule.new
119
- # source.ast.each_node { |n| rule.process(n) }
120
-
121
- File.write('./output.rb', treeRewriter.process, mode: 'w+')
122
-
123
- # puts "Correcting output file"
124
- # Loutput = %x(rubocop --auto-correct -x ./output.rb)
125
- # asts = walk("../", %w[bin output test])
126
- #
127
- #
128
- #
129
- # split_asts =
130
- # asts.map { |ast|
131
- # ast.children.map { |child|
132
- # children = child.children
133
- # # first element is going to be the symbol for the hash, contained in this nested structure
134
- # symbol = children[0].children[0]
135
- # WORKATO_HASH_ROOTS[symbol].append children[1]
136
- # }
137
- # }
138
- #
139
- # def unparse(node, comment_array = [])
140
- # return '' if node.nil?
141
- #
142
- # Unparser::Buffer.new.tap do |buffer|
143
- # Emitter.new(
144
- # buffer,
145
- # node,
146
- # Unparser::Comments.new(comment_array)
147
- # ).write_to_buffer
148
- # end.content
149
- # end
150
- #
151
- # combined_asts =
152
- # WORKATO_HASH_ROOTS.map { |symbol, matching_sets|
153
- # combined_hashes = matching_sets[0]
154
- # matching_sets.drop(1).each { |set|
155
- # combined_hashes = combined_hashes.concat set
156
- # }
157
- #
158
- # s = Unparser.unparse(combined_hashes)
159
- #
160
- # hash = "{#{symbol}: #{s}}"
161
- # Unparser.parse(hash)
162
- # }
163
- #
164
- # final_ast = Unparser.parse('{}')
165
- # combined_asts.each { |node|
166
- # final_ast = final_ast.concat node
167
- # }
168
- # OUTPUT_PATH = 'output/core_connector.rb'
169
- # FULL_OUTPUT_FILE_PATH = File.join(File.dirname(__FILE__), '../', OUTPUT_PATH)
170
- #
171
- # output = Unparser.unparse(final_ast)
172
- # File.write(FULL_OUTPUT_FILE_PATH, output, nil, mode: 'w+')
173
- #
174
- # Dir.chdir('../') {
175
- # puts %x(ls -ahl)
176
- # value = %x(rubocop ./#{OUTPUT_PATH} --auto-correct -x - v)
177
- # puts value
178
- # }
179
- # # command = Thread.new do
180
- # # end
181
- # # command.join
182
- #
183
- # # result = Array (79 elements)
184
- # # [0] = :location
185
- # # [1] = :assign_properties
186
- # # [2] = :loc
187
- # # [3] = :dup
188
- # # [4] = :clone
189
- # # [5] = :to_sexp
190
- # # [6] = :updated
191
- # # [7] = :fancy_type
192
- # # [8] = :to_sexp_array
193
- # # [9] = :<<
194
- # # [10] = :to_a
195
- # # [11] = :==
196
- # # [12] = :to_s
197
- # # [13] = :children
198
- # # [14] = :eql?
199
- # # [15] = :deconstruct
200
- # # [16] = :+
201
- # # [17] = :inspect
202
- # # [18] = :append
203
- # # [19] = :hash
204
- # # [20] = :concat
205
- # # [21] = :type
206
- # # [22] = :to_ast
207
- # # [23] = :pretty_print_inspect
208
- # # [24] = :pretty_print_instance_variables
209
- # # [25] = :pretty_print
210
- # # [26] = :pretty_print_cycle
211
- # # [27] = :itself
212
- # # [28] = :yield_self
213
- # # [29] = :then
214
- # # [30] = :taint
215
- # # [31] = :tainted?
216
- # # [32] = :untaint
217
- # # [33] = :untrust
218
- # # [34] = :untrusted?
219
- # # [35] = :trust
220
- # # [36] = :frozen?
221
- # # [37] = :methods
222
- # # [38] = :singleton_methods
223
- # # [39] = :protected_methods
224
- # # [40] = :private_methods
225
- # # [41] = :public_methods
226
- # # [42] = :instance_variables
227
- # # [43] = :instance_variable_get
228
- # # [44] = :instance_variable_set
229
- # # [45] = :instance_variable_defined?
230
- # # [46] = :remove_instance_variable
231
- # # [47] = :instance_of?
232
- # # [48] = :kind_of?
233
- # # [49] = :is_a?
234
- # # [50] = :tap
235
- # # [51] = :class
236
- # # [52] = :display
237
- # # [53] = :singleton_class
238
- # # [54] = :public_send
239
- # # [55] = :method
240
- # # [56] = :public_method
241
- # # [57] = :singleton_method
242
- # # [58] = :define_singleton_method
243
- # # [59] = :extend
244
- # # [60] = :to_enum
245
- # # [61] = :enum_for
246
- # # [62] = :<=>
247
- # # [63] = :===
248
- # # [64] = :=~
249
- # # [65] = :!~
250
- # # [66] = :nil?
251
- # # [67] = :respond_to?
252
- # # [68] = :freeze
253
- # # [69] = :object_id
254
- # # [70] = :send
255
- # # [71] = :pretty_inspect
256
- # # [72] = :__send__
257
- # # [73] = :!
258
- # # [74] = :!=
259
- # # [75] = :__id__
260
- # # [76] = :equal?
261
- # # [77] = :instance_eval
262
- # # [78] = :instance_exec