class PuppetfileResolver::Puppetfile::Parser::R10KEval::DSL

Public Class Methods

new(puppetfile_document) click to toggle source
# File lib/puppetfile-resolver/puppetfile/parser/r10k_eval/dsl.rb, line 10
def initialize(puppetfile_document)
  @document = puppetfile_document
end

Public Instance Methods

forge(location) click to toggle source

@param [String] forge

# File lib/puppetfile-resolver/puppetfile/parser/r10k_eval/dsl.rb, line 28
def forge(location)
  @document.forge_uri = location
end
method_missing(method_name, *_args) click to toggle source
# File lib/puppetfile-resolver/puppetfile/parser/r10k_eval/dsl.rb, line 36
def method_missing(method_name, *_args) # rubocop:disable Style/MethodMissingSuper, Style/MissingRespondToMissing
  raise NoMethodError, "Unknown method #{method_name}"
end
mod(name, args = nil) click to toggle source

@param [String] name @param [*Object] args

# File lib/puppetfile-resolver/puppetfile/parser/r10k_eval/dsl.rb, line 16
def mod(name, args = nil)
  # Get the module object
  mod = PuppetModule.from_puppetfile(name, args)
  # Inject the file location
  line_num = find_load_line_number
  mod.location.start_line = line_num
  mod.location.end_line = line_num
  # Append to the list of modules
  @document.add_module(mod)
end
moduledir(_location) click to toggle source

@param [String] moduledir

# File lib/puppetfile-resolver/puppetfile/parser/r10k_eval/dsl.rb, line 33
def moduledir(_location)
end

Private Instance Methods

find_load_line_number() click to toggle source
# File lib/puppetfile-resolver/puppetfile/parser/r10k_eval/dsl.rb, line 42
def find_load_line_number
  loc = Kernel.caller_locations
              .find { |call_loc| call_loc.absolute_path == ::PuppetfileResolver::Puppetfile::Parser::R10KEval::PUPPETFILE_MONIKER }
  loc.nil? ? 0 : loc.lineno - 1 # Line numbers from ruby are base 1
end