Class: Concordion::Writer

Inherits:
Object
  • Object
show all
Defined in:
lib/concordion/writer.rb

Constant Summary collapse

@@DEFAULT =
"."

Instance Method Summary collapse

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

Returns:

  • (Boolean)


25
26
27
# File 'lib/concordion/writer.rb', line 25

def exists?(filename)
  File.exists?(filename)
end

#output_file_exists?(filename) ⇒ Boolean

Returns:

  • (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