Sha256: 6db458cf72dd05c0f81db0ddc7445a735aa9db0bf790603075b5c148fb33fdf4

Contents?: true

Size: 1.28 KB

Versions: 28

Compression:

Stored size: 1.28 KB

Contents

module Lono
  class Seed
    include Lono::Blueprint::Root
    include Lono::Conventions

    def initialize(blueprint, options={})
      @blueprint, @options = blueprint, options
      set_blueprint_root(@blueprint)
      @template, @param = template_param_convention(options)
    end

    def create
      puts "Creating starter config files for #{@blueprint}"
      configs_class = load_configs_class # ::Configs or Lono::Seed::Base
      configs = configs_class.new(@blueprint, @options)
      # The Configs class implements: variables
      configs.run # setup the instance variables
    end

  private
    def load_configs_class
      blueprint_root = find_blueprint_root(@blueprint)
      configs_path = "#{blueprint_root}/seed/configs.rb"

      begin
        loaded = load configs_path
      rescue LoadError
        loaded = false
      end

      if loaded
        if defined?(Lono::Seed::Configs)
          configs_class = Lono::Seed::Configs # blueprint specific Configs
        else
          puts <<~EOL
            Lono::Seed::Configs class not found.
            Are you sure #{configs_path} contains a Lono::Seed::Configs class?
          EOL
          exit 1
        end
      else
        configs_class = Lono::Seed::Base # Generic handling
      end

      configs_class
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
lono-6.1.11 lib/lono/seed.rb
lono-6.1.10 lib/lono/seed.rb
lono-6.1.9 lib/lono/seed.rb
lono-6.1.8 lib/lono/seed.rb
lono-6.1.7 lib/lono/seed.rb
lono-6.1.6 lib/lono/seed.rb
lono-6.1.5 lib/lono/seed.rb
lono-6.1.4 lib/lono/seed.rb
lono-6.1.3 lib/lono/seed.rb
lono-6.1.2 lib/lono/seed.rb
lono-6.1.1 lib/lono/seed.rb
lono-6.1.0 lib/lono/seed.rb
lono-6.0.1 lib/lono/seed.rb
lono-6.0.0 lib/lono/seed.rb
lono-5.3.4 lib/lono/seed.rb
lono-5.3.3 lib/lono/seed.rb
lono-5.3.2 lib/lono/seed.rb
lono-5.3.1 lib/lono/seed.rb
lono-5.3.0 lib/lono/seed.rb
lono-5.2.8 lib/lono/seed.rb