Class: Concordion::Writer
- Inherits:
-
Object
- Object
- Concordion::Writer
- Defined in:
- lib/concordion/writer.rb
Constant Summary collapse
- @@DEFAULT =
"."
Instance Method Summary collapse
- #base_filename(filename) ⇒ Object
- #calculate_filename_and_overwrite(data, filename) ⇒ Object
- #create_outputs_directories_for(filename) ⇒ Object
- #delete_if_exists(filename) ⇒ Object
- #exists?(filename) ⇒ Boolean
-
#initialize(output_dir = @@DEFAULT) ⇒ Writer
constructor
A new instance of Writer.
- #output_file_exists?(filename) ⇒ Boolean
- #output_filename_for(name) ⇒ Object
- #write(data, filename) ⇒ Object
Constructor Details
#initialize(output_dir = @@DEFAULT) ⇒ Writer
Returns a new instance of Writer.
4 5 6 |
# File 'lib/concordion/writer.rb', line 4 def initialize(output_dir = @@DEFAULT) @output_dir = output_dir.nil? ? @@DEFAULT : output_dir end |
Instance Method Details
#base_filename(filename) ⇒ Object
44 45 46 |
# File 'lib/concordion/writer.rb', line 44 def base_filename(filename) File.join(@output_dir, filename) end |
#calculate_filename_and_overwrite(data, filename) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/concordion/writer.rb', line 36 def calculate_filename_and_overwrite(data, filename) outfile = output_filename_for(filename) delete_if_exists(outfile) write(data, outfile) outfile end |
#create_outputs_directories_for(filename) ⇒ Object
16 17 18 19 |
# File 'lib/concordion/writer.rb', line 16 def create_outputs_directories_for filename directory = File.dirname filename FileUtils.mkdir_p directory end |
#delete_if_exists(filename) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/concordion/writer.rb', line 29 def delete_if_exists(filename) if exists?(filename) File.delete(filename) end end |
#exists?(filename) ⇒ Boolean
25 26 27 |
# File 'lib/concordion/writer.rb', line 25 def exists?(filename) File.exists?(filename) end |
#output_file_exists?(filename) ⇒ Boolean
21 22 23 |
# File 'lib/concordion/writer.rb', line 21 def output_file_exists?(filename) exists?(base_filename(filename)) end |
#output_filename_for(name) ⇒ Object
48 49 50 |
# File 'lib/concordion/writer.rb', line 48 def output_filename_for(name) base_filename(name.sub(".html", "_test_output.html")) end |
#write(data, filename) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/concordion/writer.rb', line 8 def write(data, filename) create_outputs_directories_for filename f = File.new(filename, "w") f.puts data f.close end |