class AwesomeXmlDsl::Partial

Public Class Methods

new(file_name, context, options = {}) click to toggle source
# File lib/awesome_xml_dsl/partial.rb, line 5
def initialize(file_name, context, options = {})
  @context = context
  @file_name = file_name
  @options = options
end

Public Instance Methods

a(*args) click to toggle source
# File lib/awesome_xml_dsl/partial.rb, line 15
def a(*args)
  @context.a(*args)
end
eval() click to toggle source
# File lib/awesome_xml_dsl/partial.rb, line 19
def eval
  contents = File.read @file_name
  instance_eval contents, @file_name
end
method_missing(m, *args, &block) click to toggle source
# File lib/awesome_xml_dsl/partial.rb, line 24
def method_missing(m, *args, &block)
  return @options[:locals][m] if @options[:locals]&.key?(m)

  @context.send(m, *args, &block)
end
tag(name, options = {}, &block) click to toggle source
# File lib/awesome_xml_dsl/partial.rb, line 11
def tag(name, options = {}, &block)
  @context.tag name, options.deep_merge(@options), &block
end