class Souschef::Template::Base
Base
class containing reusable functions
Attributes
ots[RW]
path[RW]
Public Class Methods
new(opts)
click to toggle source
# File lib/souschef/template/base.rb, line 7 def initialize(opts) @opts = opts @path = opts[:path] end
Private Instance Methods
cookbook_file_path(file)
click to toggle source
Private - Return path to the file inside cookbook directory
Return String
# File lib/souschef/template/base.rb, line 40 def cookbook_file_path(file) File.join(@path, file) end
create_spec_dir(spec_dir)
click to toggle source
Private - Creates spec/ directory if missing
Return nil
# File lib/souschef/template/base.rb, line 63 def create_spec_dir(spec_dir) info "Create #{spec_dir} directory" Dir.mkdir(spec_dir) end
datafile_path(file)
click to toggle source
Private - Return location of a custom template file if it exists, or return the default version
Return String
# File lib/souschef/template/base.rb, line 18 def datafile_path(file) local_profile = "~/.souschef/#{@opts[:profile]}/#{file}" profile = File.expand_path(local_profile, __FILE__) if File.exist?(profile) profile else p = "../../../../data/#{file}" File.expand_path(p, __FILE__) end end
info(msg)
click to toggle source
Private - Print
out message if verbose option is selected
Return nil
# File lib/souschef/template/base.rb, line 33 def info(msg) Souschef::Print.info(msg) if @opts[:verbose] end
load_erb_file(file)
click to toggle source
Private - Load ERB template
file - String file name
Returns String
# File lib/souschef/template/base.rb, line 56 def load_erb_file(file) File.read(datafile_path(file)) end
write_file(file, data)
click to toggle source
Private - Write data to the desired file
Returns nil
# File lib/souschef/template/base.rb, line 47 def write_file(file, data) File.open(file, 'w') { |fd| fd.write(data) } end