Sha256: 4fca4d4a51ba723ebc7fcfa67fc808c9e4ba5a3cb7e228e84269bf8829de803a
Contents?: true
Size: 1.74 KB
Versions: 1
Compression:
Stored size: 1.74 KB
Contents
# encoding: UTF-8 require 'erubis' require 'fileutils' module GoodData::Command class Scaffold TEMPLATES_PATH = Pathname(__FILE__) + '../../../templates' class << self # Scaffolds new project # TODO: Add option for custom output dir 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') eruby = Erubis::Eruby.new(input) File.open('model.rb', 'w') do |f| f.write(eruby.result(: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') eruby = Erubis::Eruby.new(input) File.open('Goodfile', 'w') do |f| f.write(eruby.result()) end end end # Scaffolds new brick # TODO: Add option for custom output dir 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') eruby = Erubis::Eruby.new(input) File.open('brick.rb', 'w') do |f| f.write(eruby.result()) end input = File.read(TEMPLATES_PATH + 'bricks/main.rb.erb') eruby = Erubis::Eruby.new(input) File.open('main.rb', 'w') do |f| f.write(eruby.result()) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gooddata-0.6.0 | lib/gooddata/commands/scaffold.rb |