Sha256: 333761f05460c503cbe05e3c328a43222baff0d3ecd1fb84a02d8fef646ad50a

Contents?: true

Size: 1.41 KB

Versions: 21

Compression:

Stored size: 1.41 KB

Contents

desc "Project seed commands"
namespace :seed do

  desc "Create a new project from a seed repository"

  option '-g=', '--git-url=', 'Git repository for project'
  option '-s=', '--seed=', 'Seed name or URL to use'

  task :plant, [ :name ] do |t, args|
    name = args[:name]

    Hobo.project_path = File.join(Dir.pwd, name)

    raise Hobo::UserError.new "Name must match sprint zero guidelines" unless name.match /[a-z0-9\-]+/
    raise Hobo::UserError.new "#{Hobo.project_path} already exists!" if File.exists? Hobo.project_path

    config = {
      :name => name,
      :project_path => Hobo.project_path,
      :git_url => t.opts[:'git-url'] || Hobo.ui.ask("Repository URL", default: "git@github.com:inviqa/#{name}")
    }

    seed_name = t.opts[:seed] || Hobo.ui.ask("Project seed", default: "default")

    config[:seed] = {
      :name => File.basename(seed_name),
      :url => Hobo::Lib::Seed::Seed.name_to_url(seed_name)
    }

    seed = Hobo::Lib::Seed::Seed.new(
      File.join(Hobo.seed_cache_path, config[:seed][:name]),
      config[:seed][:url]
    )

    config[:vm_ip] = seed.vm_ip

    Hobo::Lib::Seed::Project.new().setup(seed, config)

    Hobo.ui.separator
    Hobo.ui.success "Your new project is available in #{Hobo.project_path}."
    Hobo.ui.success "You will need to review the initial commit and if all is well, push the repository to github using `git push origin --all`."
    Hobo.ui.separator
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
hobo-inviqa-0.0.14 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.13 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.11 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.10 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.10.pre.rc11 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.10.pre.rc10 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.10.pre.rc9 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.10.pre.rc8 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.10.pre.rc7 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.10.pre.rc6 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.10.pre.rc4 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.10.pre.rc2 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.9 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.9.pre.rc2 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.9.pre.rc1 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.9.pre.alpha lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.8 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.7.pre.rc3 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.7.pre.rc2 lib/hobo/tasks/seed.rb
hobo-inviqa-0.0.7.pre.rc1 lib/hobo/tasks/seed.rb