Class: ZodRails::Generation::FileWriter
- Inherits:
-
Object
- Object
- ZodRails::Generation::FileWriter
- Defined in:
- lib/zod_rails/generation/file_writer.rb
Instance Attribute Summary collapse
-
#output_dir ⇒ Object
readonly
Returns the value of attribute output_dir.
Instance Method Summary collapse
-
#initialize(output_dir:) ⇒ FileWriter
constructor
A new instance of FileWriter.
- #output_path_for(model_name) ⇒ Object
- #write(filename:, content:) ⇒ Object
Constructor Details
#initialize(output_dir:) ⇒ FileWriter
Returns a new instance of FileWriter.
10 11 12 |
# File 'lib/zod_rails/generation/file_writer.rb', line 10 def initialize(output_dir:) @output_dir = output_dir end |
Instance Attribute Details
#output_dir ⇒ Object (readonly)
Returns the value of attribute output_dir.
8 9 10 |
# File 'lib/zod_rails/generation/file_writer.rb', line 8 def output_dir @output_dir end |
Instance Method Details
#output_path_for(model_name) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/zod_rails/generation/file_writer.rb', line 20 def output_path_for(model_name) parts = model_name.split("::") filename = underscore(parts.pop) path_parts = parts.map { |p| underscore(p) } path_parts << "#{filename}.ts" path_parts.join("/") end |
#write(filename:, content:) ⇒ Object
14 15 16 17 18 |
# File 'lib/zod_rails/generation/file_writer.rb', line 14 def write(filename:, content:) full_path = File.join(output_dir, filename) FileUtils.mkdir_p(File.dirname(full_path)) File.write(full_path, content) end |