class Spidy::Binder::Xml
Bind xml and convert to object
Public Class Methods
let(name, query = nil, &block)
click to toggle source
# File lib/spidy/binder/xml.rb, line 7 def self.let(name, query = nil, &block) @attribute_names ||= [] @attribute_names << name return define_method(name) { xml.at(query)&.text&.strip } if block.nil? define_method(name) do if query.present? instance_exec(xml.at(query), &block) else instance_exec(&block) end rescue StandardError => e fail Spidy::Binder::Error, "spidy(#{@define_name})##{name} => #{e.message}" end end