Class: Mundler::BuildConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/mundler/build_config.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ BuildConfig

Returns a new instance of BuildConfig.



3
4
5
# File 'lib/mundler/build_config.rb', line 3

def initialize(config)
  @config = config
end

Instance Method Details

#gemboxesObject



13
14
15
16
17
# File 'lib/mundler/build_config.rb', line 13

def gemboxes
  @config.gemboxes.map do |gembox|
    "conf.gembox #{gembox.inspect}"
  end.join("\n")
end

#gems(platform_name) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/mundler/build_config.rb', line 19

def gems(platform_name)
  @config.gems.map do |gem|
    if !gem[:platforms].empty? && !gem[:platforms].include?(platform_name.to_sym)
      next
    end

    # 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_versionObject



40
41
42
43
44
45
46
47
48
49
50
# File 'lib/mundler/build_config.rb', line 40

def mruby_version
  mruby_url = @config.mruby[:url]

  version = (
    @config.mruby[:tag] ||
    @config.mruby[:branch] ||
    @config.mruby[:version]
  )

  "#{mruby_url} #{version}"
end

#tempfileObject



7
8
9
10
11
# File 'lib/mundler/build_config.rb', line 7

def tempfile
  tempfile = Tempfile.new("build_config.rb")
  File.write(tempfile, contents)
  tempfile
end