Sha256: c743af93c467464303540b0093c0af450b6401ab1c647522e7f76fb520e9a694

Contents?: true

Size: 599 Bytes

Versions: 16

Compression:

Stored size: 599 Bytes

Contents

require 'yaml'

class Toolchain
  attr_reader :toolchain
  def initialize(toolchain_file)
    @toolchain = YAML::load(File.open(toolchain_file))
    if @toolchain.base
      @based_on = @toolchain.base
    else
      @based_on = "base"
    end
    basechain = YAML::load(File.open(File.join(File.dirname(__FILE__),"#{@based_on}.json")))
    @toolchain = basechain.recursive_merge(@toolchain)
  end
  def method_missing(m, *args, &block)
    if @toolchain[m.to_s]
      self.class.send(:define_method, m) { @toolchain[m.to_s] }
      @toolchain[m.to_s]
    else
      return super
    end
  end

end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
cxxproject-0.6.30 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.29 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.28 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.27 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.26 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.25 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.24 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.23 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.21 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.18 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.17 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.14 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.12 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.13 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.11 lib/cxxproject/toolchain/toolchain.rb
cxxproject-0.6.10 lib/cxxproject/toolchain/toolchain.rb