Sha256: a39fb9ac2ae65a930eaba73184082a1f9534abc46ea3997363c0c68dc979678e

Contents?: true

Size: 1.01 KB

Versions: 15

Compression:

Stored size: 1.01 KB

Contents

class Lono::New
  attr_reader :options
  def initialize(options)
    @options = options
    @project_root = options[:project_root] || '.'
    @format = options[:format] || 'json'
  end

  def run
    puts "Setting up lono project" unless options[:quiet]
    source_root = File.expand_path("../../starter_projects/#{@format}_project", __FILE__)
    paths = Dir.glob("#{source_root}/**/*").
              select {|p| File.file?(p) }
    paths.each do |src|
      # starter_projects/yaml_project/ ->
      regexp = Regexp.new(".*starter_projects/#{@format}_project/")
      dest = src.gsub(regexp,'')
      dest = "#{@project_root}/#{dest}"

      if File.exist?(dest) and !options[:force]
        puts "already exists: #{dest}" unless options[:quiet]
      else
        puts "creating: #{dest}" unless options[:quiet]
        dirname = File.dirname(dest)
        FileUtils.mkdir_p(dirname) unless File.exist?(dirname)
        FileUtils.cp(src, dest)
      end
    end
    puts "Starter lono project created" unless options[:quiet]
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
lono-3.5.0 lib/lono/new.rb
lono-3.4.1 lib/lono/new.rb
lono-3.4.0 lib/lono/new.rb
lono-3.3.4 lib/lono/new.rb
lono-3.3.2 lib/lono/new.rb
lono-3.3.0 lib/lono/new.rb
lono-3.2.1 lib/lono/new.rb
lono-3.2.0 lib/lono/new.rb
lono-3.1.3 lib/lono/new.rb
lono-3.1.2 lib/lono/new.rb
lono-3.1.1 lib/lono/new.rb
lono-3.0.1 lib/lono/new.rb
lono-3.0.0 lib/lono/new.rb
lono-2.1.0 lib/lono/new.rb
lono-2.0.5 lib/lono/new.rb