class StructCore::SpecSchemeDSL20X

Attributes

current_scope[RW]
project[RW]
scheme[RW]

Public Class Methods

new() click to toggle source
# File lib/spec/builder/spec_builder_20X/spec_scheme_dsl_20X.rb, line 10
def initialize
        @scheme = nil
        @current_scope = nil
        @project = nil
end

Public Instance Methods

analyze(opts = {}) click to toggle source
# File lib/spec/builder/spec_builder_20X/spec_scheme_dsl_20X.rb, line 31
def analyze(opts = {})
        return unless @project.version.minor >= 2
        build_configuration = nil
        build_configuration = opts[:build_configuration] if opts.key? :build_configuration

        @scheme.analyze_action = StructCore::Specfile::Scheme::AnalyzeAction.new build_configuration
end
archive(opts = {}) click to toggle source
# File lib/spec/builder/spec_builder_20X/spec_scheme_dsl_20X.rb, line 16
def archive(opts = {})
        return unless opts.key?(:name) && opts.key?(:reveal)
        return unless opts[:name].is_a?(String) && !opts[:name].empty?

        reveal = true
        reveal = opts[:reveal] if opts.key? :reveal

        build_configuration = nil
        if @project.version.major == 2 && @project.version.minor >= 1
                build_configuration = opts[:build_configuration] if opts.key? :build_configuration
        end

        @scheme.archive_action = StructCore::Specfile::Scheme::ArchiveAction.new opts[:name], reveal, build_configuration
end
build(&block) click to toggle source
# File lib/spec/builder/spec_builder_20X/spec_scheme_dsl_20X.rb, line 39
def build(&block)
        return if block.nil?
        dsl = StructCore::SpecSchemeBuildDSL20X.new

        @current_scope = dsl
        dsl.build_action = StructCore::Specfile::Scheme::BuildAction.new
        block.call
        @current_scope = nil

        @scheme.build_action = dsl.build_action
end
launch(target_name = nil, &block) click to toggle source
# File lib/spec/builder/spec_builder_20X/spec_scheme_dsl_20X.rb, line 51
def launch(target_name = nil, &block)
        return unless target_name.is_a?(String) && !target_name.empty? && !block.nil?
        dsl = StructCore::SpecSchemeLaunchDSL20X.new

        @current_scope = dsl
        dsl.launch_action = StructCore::Specfile::Scheme::LaunchAction.new target_name
        dsl.project = @project
        block.call
        @current_scope = nil

        @scheme.launch_action = dsl.launch_action
end
method_missing(method, *args, &block) click to toggle source
# File lib/spec/builder/spec_builder_20X/spec_scheme_dsl_20X.rb, line 94
def method_missing(method, *args, &block)
        return if @current_scope.nil?
        @current_scope.send(method, *args, &block)
end
profile(target_name = nil, &block) click to toggle source
# File lib/spec/builder/spec_builder_20X/spec_scheme_dsl_20X.rb, line 64
def profile(target_name = nil, &block)
        return unless target_name.is_a?(String) && !target_name.empty? && !block.nil?
        dsl = StructCore::SpecSchemeProfileDSL20X.new

        @current_scope = dsl
        dsl.profile_action = StructCore::Specfile::Scheme::ProfileAction.new target_name
        dsl.project = @project
        block.call
        @current_scope = nil

        @scheme.profile_action = dsl.profile_action
end
respond_to_missing?(_, _) click to toggle source
# File lib/spec/builder/spec_builder_20X/spec_scheme_dsl_20X.rb, line 90
def respond_to_missing?(_, _)
        true
end
tests(build_configuration = nil, &block) click to toggle source
# File lib/spec/builder/spec_builder_20X/spec_scheme_dsl_20X.rb, line 77
def tests(build_configuration = nil, &block)
        return unless build_configuration.is_a?(String) && !build_configuration.empty? && !block.nil?
        dsl = StructCore::SpecSchemeTestDSL20X.new

        @current_scope = dsl
        dsl.test_action = StructCore::Specfile::Scheme::TestAction.new build_configuration
        dsl.project = @project
        block.call
        @current_scope = nil

        @scheme.test_action = dsl.test_action
end