Class: Magica::Toolchain

Inherits:
Object show all
Includes:
Rake::DSL
Defined in:
lib/magica/toolchain.rb

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, &block) ⇒ Toolchain

Returns a new instance of Toolchain.



9
10
11
12
13
# File 'lib/magica/toolchain.rb', line 9

def initialize(name, &block)
  @name, @initializer = name.to_s, block
  Toolchain.toolchains ||= {}
  Toolchain.toolchains[@name] = self
end

Class Attribute Details

.toolchainsObject

Returns the value of attribute toolchains.



6
7
8
# File 'lib/magica/toolchain.rb', line 6

def toolchains
  @toolchains
end

Class Method Details

.loadObject



19
20
21
22
23
24
# File 'lib/magica/toolchain.rb', line 19

def self.load
  builtin_path = File.join(File.dirname(__FILE__), "toolchains")
  Dir.glob("#{builtin_path}/*.rake").each do |file|
    Kernel.load file
  end
end

Instance Method Details

#setup(builder, options = {}) ⇒ Object



15
16
17
# File 'lib/magica/toolchain.rb', line 15

def setup(builder, options = {})
  builder.instance_exec(builder, options, &@initializer)
end