foobara-files-generator 0.1.2 → 0.1.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 +4 -4
- data/README.md +1 -10
- data/src/files_generator.rb +12 -12
- data/src/generate.rb +4 -2
- data/src/write_generated_files_to_disk.rb +11 -9
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d8902970378e5b5c475b3783d81dde67390547e9bbbff283c1a3e13910058f79
|
|
4
|
+
data.tar.gz: 0371ac6c3da3430e86e429bc978c0026f2291706592cbe4f1714e7ca4eee6533
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 49cc08590b93036f34993378578bf366e5e8e0bd77ec67f9ffbb4e05e979ed84c9a15c7d335d7511f59f82f48064cfa0d9fa2993e6a2d9b3d5b54dba423b24d8
|
|
7
|
+
data.tar.gz: dd2cf8a5a1e96d22ddbb765d0f2469383bec94a636198bed897330198b5a4d2774a7cea1ecbad4766130a6809eb507faef9991d1e3930a56fd6c18c2a85ebb32
|
data/README.md
CHANGED
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
# Foobara::FilesGenerator
|
|
2
2
|
|
|
3
|
-
Contains common-code useful in different
|
|
4
|
-
|
|
5
|
-
## Development
|
|
6
|
-
|
|
7
|
-
For local development, for now, run the following:
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
bundle config set local.foobara ../foobara
|
|
11
|
-
bundle config set disable_local_branch_check true
|
|
12
|
-
```
|
|
3
|
+
Contains common-code useful in different Foobara generators
|
|
13
4
|
|
|
14
5
|
## Contributing
|
|
15
6
|
|
data/src/files_generator.rb
CHANGED
|
@@ -6,9 +6,9 @@ module Foobara
|
|
|
6
6
|
|
|
7
7
|
class << self
|
|
8
8
|
def manifest_to_generator_classes(_manifest)
|
|
9
|
-
# :
|
|
9
|
+
# simplecov:disable
|
|
10
10
|
raise "subclass responsibility"
|
|
11
|
-
# :
|
|
11
|
+
# simplecov:enable
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def generators_for(manifest)
|
|
@@ -40,9 +40,9 @@ module Foobara
|
|
|
40
40
|
if file.end_with?(".erb")
|
|
41
41
|
[*path, file[0..-5]]
|
|
42
42
|
else
|
|
43
|
-
# :
|
|
43
|
+
# simplecov:disable
|
|
44
44
|
raise "expected a .erb extension. Maybe override #target_path"
|
|
45
|
-
# :
|
|
45
|
+
# simplecov:enable
|
|
46
46
|
end
|
|
47
47
|
end
|
|
48
48
|
|
|
@@ -55,9 +55,9 @@ module Foobara
|
|
|
55
55
|
end
|
|
56
56
|
|
|
57
57
|
def generators_for(...)
|
|
58
|
-
# :
|
|
58
|
+
# simplecov:disable
|
|
59
59
|
self.class.generators_for(...)
|
|
60
|
-
# :
|
|
60
|
+
# simplecov:enable
|
|
61
61
|
end
|
|
62
62
|
|
|
63
63
|
def generator_for(...)
|
|
@@ -86,9 +86,9 @@ module Foobara
|
|
|
86
86
|
end
|
|
87
87
|
|
|
88
88
|
def template_path
|
|
89
|
-
# :
|
|
89
|
+
# simplecov:disable
|
|
90
90
|
raise "Subclass responsibility"
|
|
91
|
-
# :
|
|
91
|
+
# simplecov:enable
|
|
92
92
|
end
|
|
93
93
|
|
|
94
94
|
def absolute_template_path
|
|
@@ -102,9 +102,9 @@ module Foobara
|
|
|
102
102
|
end
|
|
103
103
|
|
|
104
104
|
def templates_dir
|
|
105
|
-
# :
|
|
105
|
+
# simplecov:disable
|
|
106
106
|
"#{Dir.pwd}/templates"
|
|
107
|
-
# :
|
|
107
|
+
# simplecov:enable
|
|
108
108
|
end
|
|
109
109
|
|
|
110
110
|
def template_string
|
|
@@ -128,9 +128,9 @@ module Foobara
|
|
|
128
128
|
if relevant_manifest.respond_to?(method_name)
|
|
129
129
|
relevant_manifest.send(method_name, *, &)
|
|
130
130
|
else
|
|
131
|
-
# :
|
|
131
|
+
# simplecov:disable
|
|
132
132
|
super
|
|
133
|
-
# :
|
|
133
|
+
# simplecov:enable
|
|
134
134
|
end
|
|
135
135
|
end
|
|
136
136
|
|
data/src/generate.rb
CHANGED
|
@@ -9,9 +9,9 @@ module Foobara
|
|
|
9
9
|
attr_accessor :element_to_generate
|
|
10
10
|
|
|
11
11
|
def base_generator
|
|
12
|
-
# :
|
|
12
|
+
# simplecov:disable
|
|
13
13
|
raise "subclass responsibility"
|
|
14
|
-
# :
|
|
14
|
+
# simplecov:enable
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def elements_to_generate
|
|
@@ -60,7 +60,9 @@ module Foobara
|
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
def generate_element
|
|
63
|
+
# simplecov:disable
|
|
63
64
|
return unless element_to_generate.applicable?
|
|
65
|
+
# simplecov:enable
|
|
64
66
|
|
|
65
67
|
paths_to_source_code[Util.array(element_to_generate.target_path).join("/")] =
|
|
66
68
|
element_to_generate.generate(elements_to_generate)
|
|
@@ -30,18 +30,20 @@ module Foobara
|
|
|
30
30
|
file_list_file = "#{output_directory}/#{generated_files_json_filename}"
|
|
31
31
|
|
|
32
32
|
if File.exist?(file_list_file)
|
|
33
|
-
# :
|
|
33
|
+
# simplecov:disable
|
|
34
34
|
file_list = JSON.parse(File.read(file_list_file))
|
|
35
35
|
|
|
36
36
|
file_list.map do |file|
|
|
37
37
|
Thread.new { FileUtils.rm_f("#{output_directory}/#{file}") }
|
|
38
38
|
end.each(&:join)
|
|
39
|
-
# :
|
|
39
|
+
# simplecov:enable
|
|
40
40
|
end
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
def write_all_files_to_disk
|
|
44
|
+
# simplecov:disable
|
|
44
45
|
if paths_to_source_code.key?(generated_files_json_filename)
|
|
46
|
+
# simplecov:enable
|
|
45
47
|
write_file_to_disk(generated_files_json_filename, paths_to_source_code[generated_files_json_filename])
|
|
46
48
|
end
|
|
47
49
|
|
|
@@ -61,9 +63,9 @@ module Foobara
|
|
|
61
63
|
|
|
62
64
|
if key
|
|
63
65
|
# TODO: test this path
|
|
64
|
-
# :
|
|
66
|
+
# simplecov:disable
|
|
65
67
|
"#{key}-generator.json"
|
|
66
|
-
# :
|
|
68
|
+
# simplecov:enable
|
|
67
69
|
else
|
|
68
70
|
"foobara-generated.json"
|
|
69
71
|
end
|
|
@@ -82,14 +84,14 @@ module Foobara
|
|
|
82
84
|
exit_status = wait_thr.value
|
|
83
85
|
|
|
84
86
|
unless exit_status.success?
|
|
85
|
-
# :
|
|
87
|
+
# simplecov:disable
|
|
86
88
|
message = "Could not #{cmd}\n#{stderr.read}"
|
|
87
89
|
if raise_if_fails
|
|
88
90
|
raise CouldNotExecuteError, message
|
|
89
91
|
else
|
|
90
92
|
warn "WARNING: #{message}"
|
|
91
93
|
end
|
|
92
|
-
# :
|
|
94
|
+
# simplecov:enable
|
|
93
95
|
end
|
|
94
96
|
|
|
95
97
|
exit_status
|
|
@@ -107,7 +109,7 @@ module Foobara
|
|
|
107
109
|
end
|
|
108
110
|
|
|
109
111
|
def run_cmd_and_return_output(cmd)
|
|
110
|
-
retval = ""
|
|
112
|
+
retval = +""
|
|
111
113
|
|
|
112
114
|
Open3.popen3(cmd) do |_stdin, stdout, stderr, wait_thr|
|
|
113
115
|
loop do
|
|
@@ -119,10 +121,10 @@ module Foobara
|
|
|
119
121
|
|
|
120
122
|
exit_status = wait_thr.value
|
|
121
123
|
unless exit_status.success?
|
|
122
|
-
# :
|
|
124
|
+
# simplecov:disable
|
|
123
125
|
raise CouldNotExecuteError, "could not #{cmd}\n#{stderr.read}"
|
|
124
126
|
end
|
|
125
|
-
# :
|
|
127
|
+
# simplecov:enable
|
|
126
128
|
end
|
|
127
129
|
rescue Errno::ENOENT
|
|
128
130
|
raise CouldNotExecuteError, "Could not run: #{cmd}\nMaybe it is not installed?"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: foobara-files-generator
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Miles Georgi
|
|
@@ -68,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
68
68
|
- !ruby/object:Gem::Version
|
|
69
69
|
version: '0'
|
|
70
70
|
requirements: []
|
|
71
|
-
rubygems_version:
|
|
71
|
+
rubygems_version: 4.0.20
|
|
72
72
|
specification_version: 4
|
|
73
73
|
summary: Common code reused across code generator projects
|
|
74
74
|
test_files: []
|