class Mundler::DSL

Attributes

config[R]

Public Class Methods

new(path) click to toggle source
# File lib/mundler/dsl.rb, line 3
def initialize(path)
  @config = Config.new
  @path = path
end

Public Instance Methods

evaluate!() click to toggle source
# File lib/mundler/dsl.rb, line 8
def evaluate!
  platforms = Dir.glob(File.join(__dir__, "platforms", "*.rb"))
  platforms.each do |platform|
    instance_eval(File.read(platform))
  end
  begin
    instance_eval(File.read(@path), @path)
  rescue Errno::ENOENT
    raise MundlefileNotFound
  end
end

Private Instance Methods

define_platform(name, platform_class) click to toggle source
# File lib/mundler/dsl.rb, line 35
def define_platform(name, platform_class)
  config.platform_types[name.to_s] = platform_class
end
env(name, value) click to toggle source
# File lib/mundler/dsl.rb, line 52
def env(name, value)
  config.env[name] = value
end
gem(name, core: nil, path: nil, github: nil) click to toggle source
# File lib/mundler/dsl.rb, line 43
def gem(name, core: nil, path: nil, github: nil)
  if path && !path.start_with?("/")
    app_path = Pathname.new(@path).dirname.to_s
    path = File.expand_path(File.join(app_path, path))
  end

  config.gems << { name: name, path: path, github: github, core: core }
end
gembox(name) click to toggle source
# File lib/mundler/dsl.rb, line 31
def gembox(name)
  config.gemboxes << name.to_s
end
mruby(url: nil, tag: nil, branch: nil) click to toggle source
# File lib/mundler/dsl.rb, line 24
def mruby(url: nil, tag: nil, branch: nil)
  branch = "stable" if tag.nil? && branch.nil?
  config.mruby[:url] = url if url
  config.mruby[:branch] = branch if branch
  config.mruby[:tag] = tag if tag
end
platform(name, options = {}) click to toggle source
# File lib/mundler/dsl.rb, line 39
def platform(name, options = {})
  config.platforms << { name: name.to_s, options: options }
end