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