Sha256: 31f3cc31638f42f863e44cf59280735f899db8c402043709e5f33c9fb859dc45

Contents?: true

Size: 1.49 KB

Versions: 7

Compression:

Stored size: 1.49 KB

Contents

module Xcake
  # This class repesents configurations
  # in a xcode project. This is an abstraction
  # of Schemes and Build Configurations.
  #
  # This forms part of the DSL and is usally
  # stored in files named `Cakefile`.
  #
  # It holds the build settings and defines
  # how many schemes are created for each
  # target.
  #
  class Configuration

    include Visitable

    # @return [String>] the name of the configuration
    #
    attr_accessor :name

    # the settings for the configuration
    # this is what is used for the build settings
    # for the build configuration.
    #
    # @return [Hash<String, String>] the settings for the configuration
    #
    attr_accessor :settings

    # @return [String] the name of the xcconfig file to use for
    #         the build configuration.
    #
    #         This is resolved to a PBXFileReference.
    #
    attr_accessor :configuration_file

    # @param    [String] name
    #           the name of the configuration.
    #           This is used for the build configuration name.
    #
    # @param    [Proc] block
    #           an optional block that configures the
    #           configuration through the DSL.
    #
    # @example  Creating a Configuration.
    #
    #           Configuration.new :debug do |c|
    #             c.settings["INFO_PLIST"] = "./myapp/info.plist"
    #           end
    #
    def initialize(name, &block)
      self.name = name.to_s
      self.settings = {}

      block.call(self) if block_given?
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
xcake-0.6.10 lib/xcake/configuration.rb
xcake-0.6.9 lib/xcake/configuration.rb
xcake-0.6.8 lib/xcake/configuration.rb
xcake-0.6.7 lib/xcake/configuration.rb
xcake-0.6.6 lib/xcake/configuration.rb
xcake-0.6.5 lib/xcake/configuration.rb
xcake-0.6.4 lib/xcake/configuration.rb