class StructCore::SpecVariantDSL30X

Attributes

project[RW]
project_base_dir[RW]
project_configurations[RW]
project_target_names[RW]
variant[RW]

Public Class Methods

new() click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_variant_dsl_30X.rb, line 5
def initialize
        @variant = nil
        @project_configurations = []
        @project_base_dir = nil
        @project_target_names = []
        @project = nil
        @current_scope = nil
end

Public Instance Methods

abstract() click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_variant_dsl_30X.rb, line 20
def abstract
        @variant.abstract = true
end
method_missing(method, *args, &block) click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_variant_dsl_30X.rb, line 42
def method_missing(method, *args, &block)
        return if @current_scope.nil?
        @current_scope.send(method, *args, &block)
end
respond_to_missing?(_, _) click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_variant_dsl_30X.rb, line 38
def respond_to_missing?(_, _)
        true
end
target(name = nil, &block) click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_variant_dsl_30X.rb, line 24
def target(name = nil, &block)
        return unless name.is_a?(String) && !name.empty? && !block.nil? && @project_target_names.include?(name)
        dsl = StructCore::SpecTargetDSL30X.new
        dsl.project_configurations = @project_configurations
        dsl.project_base_dir = @project_base_dir
        dsl.target = StructCore::Specfile::Target.new(name, nil, [], [], [], [], [], [], [], [])
        dsl.project = @project
        @current_scope = dsl
        block.call
        @current_scope = nil

        @variant.targets << dsl.target
end