class NewProject::Template

Attributes

contents[R]
name[R]
path[R]
project[R]

Public Class Methods

new(project, name, path) click to toggle source
# File lib/new_project/template.rb, line 5
def initialize(project, name, path)
  @project  = project.to_h
  @name     = name
  @path     = path
  @contents = raw
end

Public Instance Methods

render() click to toggle source
# File lib/new_project/template.rb, line 12
def render
  ERB.new(contents).result(binding)
end
save() click to toggle source
# File lib/new_project/template.rb, line 16
def save
  File.open("./#{project[:snake_name]}/#{path}", 'w') do |f|
    f.puts render
  end
end

Private Instance Methods

raw() click to toggle source
# File lib/new_project/template.rb, line 24
def raw
  raw_file = File.open("#{NewProject.root}/templates/#{name}.erb", 'r')
  contents = raw_file.read
  raw_file.close
  contents
end