class StructCore::SpecFileDSL30X
Attributes
project_base_dir[RW]
spec_file[RW]
Public Class Methods
new()
click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_file_dsl_30X.rb, line 8 def initialize @spec_file = nil @project_base_dir = nil @current_scope = nil end
Public Instance Methods
__spec_configuration(name = nil, &block)
click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_file_dsl_30X.rb, line 21 def __spec_configuration(name = nil, &block) return unless name.is_a?(String) && !name.empty? dsl = StructCore::SpecConfigurationDSL30X.new dsl.configuration = StructCore::Specfile::Configuration.new(name, [], {}, nil, nil) unless block.nil? @current_scope = dsl block.call @current_scope = nil end dsl.configuration.profiles = %w(general:release ios:release) dsl.configuration.profiles = %w(general:debug ios:debug) if dsl.configuration.type == 'debug' @spec_file.configurations << dsl.configuration end
__spec_scheme(name = nil, &block)
click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_file_dsl_30X.rb, line 66 def __spec_scheme(name = nil, &block) return unless name.is_a?(String) && !name.empty? && !block.nil? dsl = StructCore::SpecSchemeDSL30X.new dsl.scheme = StructCore::Specfile::Scheme.new name dsl.project = @spec_file @current_scope = dsl block.call @current_scope = nil @spec_file.schemes << dsl.scheme end
__spec_target(name, &block)
click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_file_dsl_30X.rb, line 37 def __spec_target(name, &block) return unless name.is_a?(String) && !name.empty? && !block.nil? dsl = StructCore::SpecTargetDSL30X.new dsl.project_configurations = @spec_file.configurations dsl.project_base_dir = @project_base_dir dsl.project = @spec_file dsl.target = StructCore::Specfile::Target.new(name, nil, [], [], [], [], [], [], [], []) @current_scope = dsl block.call @current_scope = nil @spec_file.targets << dsl.target end
__spec_variant(name = nil, abstract = false, &block)
click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_file_dsl_30X.rb, line 51 def __spec_variant(name = nil, abstract = false, &block) return unless name.is_a?(String) && !name.empty? && [true, false].include?(abstract) && !block.nil? dsl = StructCore::SpecVariantDSL30X.new dsl.project_configurations = @spec_file.configurations dsl.project_base_dir = @project_base_dir dsl.project_target_names = @spec_file.targets.map(&:name) dsl.project = @spec_file dsl.variant = StructCore::Specfile::Variant.new(name, [], abstract) @current_scope = dsl block.call @current_scope = nil @spec_file.variants << dsl.variant end
method_missing(method, *args, &block)
click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_file_dsl_30X.rb, line 91 def method_missing(method, *args, &block) if @current_scope.nil? && method == :configuration send('__spec_configuration', *args, &block) elsif @current_scope.nil? && method == :target send('__spec_target', *args, &block) elsif @current_scope.nil? && method == :variant send('__spec_variant', *args, &block) elsif @current_scope.nil? && method == :scheme send('__spec_scheme', *args, &block) else @current_scope.send(method, *args, &block) end end
post_generate(&block)
click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_file_dsl_30X.rb, line 83 def post_generate(&block) @spec_file.post_generate_script = StructCore::Specfile::HookBlockScript.new block end
pre_generate(&block)
click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_file_dsl_30X.rb, line 79 def pre_generate(&block) @spec_file.pre_generate_script = StructCore::Specfile::HookBlockScript.new block end
respond_to_missing?(_, _)
click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_file_dsl_30X.rb, line 87 def respond_to_missing?(_, _) true end
supports_version(version)
click to toggle source
# File lib/spec/builder/spec_builder_30X/spec_file_dsl_30X.rb, line 14 def supports_version(version) version.major == 3 end