class Mundler::BuildConfig
Public Class Methods
new(config)
click to toggle source
# File lib/mundler/build_config.rb, line 3 def initialize(config) @config = config end
Public Instance Methods
gemboxes()
click to toggle source
# File lib/mundler/build_config.rb, line 13 def gemboxes @config.gemboxes.map do |gembox| "conf.gembox #{gembox.inspect}" end.join("\n") end
gems()
click to toggle source
# File lib/mundler/build_config.rb, line 19 def gems @config.gems.map do |gem| # e.g. gem = {:name=>"mruby-regexp-pcre", :path=>nil, :github=>nil, :core=>nil} args = ":mgem => #{gem[:name].inspect}" if gem[:github] args = ":github => #{gem[:github].inspect}" elsif gem[:path] args = ":path => #{gem[:path].inspect}" elsif gem[:core] args = ":core => #{gem[:core].inspect}" end "conf.gem #{args}" end.join("\n ") end
mruby_version()
click to toggle source
# File lib/mundler/build_config.rb, line 36 def mruby_version mruby_url = @config.mruby[:url] version = ( @config.mruby[:tag] || @config.mruby[:branch] || @config.mruby[:version] ) "#{mruby_url} #{version}" end
tempfile()
click to toggle source
# File lib/mundler/build_config.rb, line 7 def tempfile tempfile = Tempfile.new("build_config.rb") File.write(tempfile, contents) tempfile end
Private Instance Methods
contents()
click to toggle source
# File lib/mundler/build_config.rb, line 78 def contents contents = <<~CONTENTS # #{mruby_version} #{env_vars} MRuby::Build.new do |conf| toolchain :clang #{host_platform} #{gemboxes} #{gems} end #{non_host_platforms} CONTENTS (contents.strip + "\n").gsub("\n\n\n", "\n\n") end
env_vars()
click to toggle source
# File lib/mundler/build_config.rb, line 70 def env_vars str = "" @config.env.each do |key, value| str = str + "\nENV[\"#{key}\"] = \"#{value}\"" end str end
host_platform()
click to toggle source
# File lib/mundler/build_config.rb, line 50 def host_platform @config.platforms .select { |attributes| attributes[:name].to_s == "host" } .map { |attributes| platform(attributes) } .join("\n") end
non_host_platforms()
click to toggle source
# File lib/mundler/build_config.rb, line 57 def non_host_platforms @config.platforms .select { |attributes| attributes[:name].to_s != "host" } .map { |attributes| platform(attributes) } .join("\n") end
platform(attributes)
click to toggle source
# File lib/mundler/build_config.rb, line 64 def platform(attributes) type = @config.platform_types[attributes[:name].to_s] raise "Can't find platform: #{attributes[:name]}" unless type type.config(attributes, self) end