class GoodData::Command::Scaffold
Constants
- TEMPLATES_PATH
Public Class Methods
brick(name)
click to toggle source
Scaffolds new brick TODO: Add option for custom output dir
# File lib/gooddata/commands/scaffold.rb, line 47 def brick(name) fail ArgumentError, 'No name specified' if name.nil? FileUtils.mkdir(name) FileUtils.cd(name) do input = File.read(TEMPLATES_PATH + 'bricks/brick.rb.erb') erb = ERB.new(input) File.open('brick.rb', 'w') do |f| f.write(erb.result) end input = File.read(TEMPLATES_PATH + 'bricks/main.rb.erb') erb = ERB.new(input) File.open('main.rb', 'w') do |f| f.write(erb.result) end end end
project(name)
click to toggle source
Scaffolds new project TODO: Add option for custom output dir
# File lib/gooddata/commands/scaffold.rb, line 19 def project(name) fail ArgumentError, 'No name specified' if name.nil? FileUtils.mkdir(name) FileUtils.cd(name) do FileUtils.mkdir('model') FileUtils.cd('model') do input = File.read(TEMPLATES_PATH + 'project/model/model.rb.erb') erb = ERB.new(input) File.open('model.rb', 'w') do |f| f.write(erb.result_with_hash(:name => name)) end end FileUtils.mkdir('data') FileUtils.cd('data') do FileUtils.cp(Dir.glob(TEMPLATES_PATH + 'project/data/*.csv'), '.') end input = File.read(TEMPLATES_PATH + 'project/Goodfile.erb') erb = ERB.new(input) File.open('Goodfile', 'w') do |f| f.write(erb.result) end end end