foobara-files-generator 0.1.1 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '09f94cd2799b90f2f8245ae5cf09a672b725c58a3825e4b3e7685e56499bad41'
4
- data.tar.gz: b03626c4181ac77057a7514464418d72071b789332b52b7417d4d9462329491c
3
+ metadata.gz: d8902970378e5b5c475b3783d81dde67390547e9bbbff283c1a3e13910058f79
4
+ data.tar.gz: 0371ac6c3da3430e86e429bc978c0026f2291706592cbe4f1714e7ca4eee6533
5
5
  SHA512:
6
- metadata.gz: c61c9f1cb3e925a5b93467b99ba55a12d249a75268619dc0b56cc99b3f63bfc0214081780bb3ade66645e0153bfffe1c198005f401588173c320c227d2d89a90
7
- data.tar.gz: 16de00ddcc3f18bdcd1308c2646f04611807f89442a124f3e685ba14e0d9c4195865f52956a76c53da398fde5856c29d2ec710f78041389ebf0d035ef266f35d
6
+ metadata.gz: 49cc08590b93036f34993378578bf366e5e8e0bd77ec67f9ffbb4e05e979ed84c9a15c7d335d7511f59f82f48064cfa0d9fa2993e6a2d9b3d5b54dba423b24d8
7
+ data.tar.gz: dd2cf8a5a1e96d22ddbb765d0f2469383bec94a636198bed897330198b5a4d2774a7cea1ecbad4766130a6809eb507faef9991d1e3930a56fd6c18c2a85ebb32
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.1.2] - 2026-02-02
2
+
3
+ - Fix bug where fileutils might not have been required yet
4
+
1
5
  ## [0.1.1] - 2025-10-17
2
6
 
3
7
  - Do not fail if a previously-generated file has been deleted
data/README.md CHANGED
@@ -1,15 +1,6 @@
1
1
  # Foobara::FilesGenerator
2
2
 
3
- Contains common-code useful in different code generators.
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
 
@@ -6,9 +6,9 @@ module Foobara
6
6
 
7
7
  class << self
8
8
  def manifest_to_generator_classes(_manifest)
9
- # :nocov:
9
+ # simplecov:disable
10
10
  raise "subclass responsibility"
11
- # :nocov:
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
- # :nocov:
43
+ # simplecov:disable
44
44
  raise "expected a .erb extension. Maybe override #target_path"
45
- # :nocov:
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
- # :nocov:
58
+ # simplecov:disable
59
59
  self.class.generators_for(...)
60
- # :nocov:
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
- # :nocov:
89
+ # simplecov:disable
90
90
  raise "Subclass responsibility"
91
- # :nocov:
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
- # :nocov:
105
+ # simplecov:disable
106
106
  "#{Dir.pwd}/templates"
107
- # :nocov:
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
- # :nocov:
131
+ # simplecov:disable
132
132
  super
133
- # :nocov:
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
- # :nocov:
12
+ # simplecov:disable
13
13
  raise "subclass responsibility"
14
- # :nocov:
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)
@@ -1,3 +1,4 @@
1
+ require "fileutils"
1
2
  require "open3"
2
3
 
3
4
  module Foobara
@@ -29,18 +30,20 @@ module Foobara
29
30
  file_list_file = "#{output_directory}/#{generated_files_json_filename}"
30
31
 
31
32
  if File.exist?(file_list_file)
32
- # :nocov:
33
+ # simplecov:disable
33
34
  file_list = JSON.parse(File.read(file_list_file))
34
35
 
35
36
  file_list.map do |file|
36
37
  Thread.new { FileUtils.rm_f("#{output_directory}/#{file}") }
37
38
  end.each(&:join)
38
- # :nocov:
39
+ # simplecov:enable
39
40
  end
40
41
  end
41
42
 
42
43
  def write_all_files_to_disk
44
+ # simplecov:disable
43
45
  if paths_to_source_code.key?(generated_files_json_filename)
46
+ # simplecov:enable
44
47
  write_file_to_disk(generated_files_json_filename, paths_to_source_code[generated_files_json_filename])
45
48
  end
46
49
 
@@ -60,9 +63,9 @@ module Foobara
60
63
 
61
64
  if key
62
65
  # TODO: test this path
63
- # :nocov:
66
+ # simplecov:disable
64
67
  "#{key}-generator.json"
65
- # :nocov:
68
+ # simplecov:enable
66
69
  else
67
70
  "foobara-generated.json"
68
71
  end
@@ -81,14 +84,14 @@ module Foobara
81
84
  exit_status = wait_thr.value
82
85
 
83
86
  unless exit_status.success?
84
- # :nocov:
87
+ # simplecov:disable
85
88
  message = "Could not #{cmd}\n#{stderr.read}"
86
89
  if raise_if_fails
87
90
  raise CouldNotExecuteError, message
88
91
  else
89
92
  warn "WARNING: #{message}"
90
93
  end
91
- # :nocov:
94
+ # simplecov:enable
92
95
  end
93
96
 
94
97
  exit_status
@@ -106,7 +109,7 @@ module Foobara
106
109
  end
107
110
 
108
111
  def run_cmd_and_return_output(cmd)
109
- retval = ""
112
+ retval = +""
110
113
 
111
114
  Open3.popen3(cmd) do |_stdin, stdout, stderr, wait_thr|
112
115
  loop do
@@ -118,10 +121,10 @@ module Foobara
118
121
 
119
122
  exit_status = wait_thr.value
120
123
  unless exit_status.success?
121
- # :nocov:
124
+ # simplecov:disable
122
125
  raise CouldNotExecuteError, "could not #{cmd}\n#{stderr.read}"
123
126
  end
124
- # :nocov:
127
+ # simplecov:enable
125
128
  end
126
129
  rescue Errno::ENOENT
127
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.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: 3.6.9
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: []