Sha256: 9330a638bd635c56e77b1d469b7a3896c0154f31b582588ce3ae4269139ca1ec

Contents?: true

Size: 1.25 KB

Versions: 5

Compression:

Stored size: 1.25 KB

Contents

#
# Author:: Anicheev Serghei (<sanicheev@tacitknowledge.com>)
# Copyright:: Copyright (c) 2016 Tacit Knowledge.
#

require 'mixlib/cli'
require 'mixlib/config'
require 'cookbook_creator/config_loader'
require 'cookbook_creator/cli'
require 'cookbook_creator/helpers'
require 'cookbook_creator/generator'
require 'cookbook_creator/runner'
require 'cookbook_creator/config'

module CookbookCreator
  class Main

    attr_reader :params

    def initialize(argv=[])
      @cookbook_name = argv[0]
      @params = argv
    end  

    def run
      config_location = ConfigLoader.new(nil, nil).config_location
      CookbookCreator::MCLI.use_separate_default_options true
      cli = CookbookCreator::MCLI.new
      cli.run(@params)
      generator_config = Helpers::load_config_file(cli.default_config, cli.config)
      Config.from_file(generator_config)
      sym_hash = Config.configuration.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
      Helpers.merge_configs(cli.default_config, cli.config, sym_hash)
      run_list = ["recipe[code_generator::cookbook]"]
      cookbook_root =  Generator::Context.cookbook_root
      runner = Runner.new(cli.config[:generator_cookbook], run_list)  
      Generator.setup_context(cli.config)
      runner.converge
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
cookbook_creator-0.0.6 lib/cookbook_creator/main.rb
cookbook_creator-0.0.5 lib/cookbook_creator/main.rb
cookbook_creator-0.0.4 lib/cookbook_creator/main.rb
cookbook_creator-0.0.3 lib/cookbook_creator/main.rb
cookbook_creator-0.0.2 lib/cookbook_creator/main.rb