Sha256: fe7205266194000af47b66ce8a284d25a0550193ebd562c2dadc8849f13cc926

Contents?: true

Size: 752 Bytes

Versions: 17

Compression:

Stored size: 752 Bytes

Contents

class Kubes::Compiler::Strategy
  class Dsl < Base
    include Kubes::Compiler::Util::Normalize

    def run
      dsl = dsl_class.new(@options) # Deployment, Service, etc
      data = dsl.run
      Result.new(@save_file, data)
    end

    def dsl_class
      if block_form?
        Kubes::Compiler::Dsl::Core::Blocks
      else
        syntax_class
      end
    end

    def syntax_class
      klass_name = normalize_kind(@filename)
      "Kubes::Compiler::Dsl::Syntax::#{klass_name}".constantize
    rescue NameError
      logger.debug "Using default resource for: #{klass_name}"
      Kubes::Compiler::Dsl::Syntax::Resource # default
    end

    def block_form?
      type = extract_type(@filename)
      type.pluralize == type
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
kubes-0.4.3 lib/kubes/compiler/strategy/dsl.rb
kubes-0.4.2 lib/kubes/compiler/strategy/dsl.rb
kubes-0.4.1 lib/kubes/compiler/strategy/dsl.rb
kubes-0.4.0 lib/kubes/compiler/strategy/dsl.rb
kubes-0.3.5 lib/kubes/compiler/strategy/dsl.rb
kubes-0.3.4 lib/kubes/compiler/strategy/dsl.rb
kubes-0.3.3 lib/kubes/compiler/strategy/dsl.rb
kubes-0.3.2 lib/kubes/compiler/strategy/dsl.rb
kubes-0.3.1 lib/kubes/compiler/strategy/dsl.rb
kubes-0.3.0 lib/kubes/compiler/strategy/dsl.rb
kubes-0.2.6 lib/kubes/compiler/strategy/dsl.rb
kubes-0.2.5 lib/kubes/compiler/strategy/dsl.rb
kubes-0.2.4 lib/kubes/compiler/strategy/dsl.rb
kubes-0.2.3 lib/kubes/compiler/strategy/dsl.rb
kubes-0.2.2 lib/kubes/compiler/strategy/dsl.rb
kubes-0.2.1 lib/kubes/compiler/strategy/dsl.rb
kubes-0.2.0 lib/kubes/compiler/strategy/dsl.rb