class Cany::Specification::DSL

Public Class Methods

delegate(*methods) click to toggle source
# File lib/cany/specification/dsl.rb, line 12
      def self.delegate(*methods)
        methods.each do |method|
          module_eval(<<-EOS, __FILE__, __LINE__)
            def #{method}(*args, &block)
              @specification.send :'#{method}=', *args, &block
            end
            EOS
        end
      end
new(specification) click to toggle source
# File lib/cany/specification/dsl.rb, line 4
def initialize(specification)
  @specification = specification
end

Public Instance Methods

binary(&block) click to toggle source
# File lib/cany/specification/dsl.rb, line 53
def binary(&block)
  @specification.binary = block
end
build(&block) click to toggle source
# File lib/cany/specification/dsl.rb, line 49
def build(&block)
  @specification.build = block
end
clean(&block) click to toggle source
# File lib/cany/specification/dsl.rb, line 45
def clean(&block)
  @specification.clean = block
end
depend(*args) click to toggle source
# File lib/cany/specification/dsl.rb, line 62
def depend(*args)
  @specification.dependencies << create_dep(*args)
end
exec(&block) click to toggle source
# File lib/cany/specification/dsl.rb, line 8
def exec(&block)
  instance_eval(&block)
end
prepare(&block) click to toggle source
# File lib/cany/specification/dsl.rb, line 41
def prepare(&block)
  @specification.prepare = block
end
require_cany(version) click to toggle source

This directive ensures that Cany is used in a specific version. It will pass if the version match or raise an exception if it is an unsupported version. @param version [String] The version constrain the must be satisfied by Cany. @raise Cany::UnsupportedVersion on version mismatch

# File lib/cany/specification/dsl.rb, line 28
def require_cany(version)
  unless Gem::Requirement.create(version).satisfied_by? Gem::Version.new(Cany::VERSION.to_s)
    raise UnsupportedVersion.new version
  end
  @specification.cany_version_constraint = version
end
use(name, &block) click to toggle source

This include the given recipe into the build process. @param [Symbol] name The name of the recipe as symbol.

# File lib/cany/specification/dsl.rb, line 37
def use(name, &block)
  @specification.recipes << Cany::Recipe.from_name(name).new(@specification, &block)
end