class TestClass
Public Class Methods
custom_lens(type)
click to toggle source
# File lib/test_class.rb, line 6 def self.custom_lens(type) Lens[ get: lambda do |doc| if node = doc.at_css("relationship[type=#{type}]") node.content else "" end end, put: lambda do |doc, value| # TODO: create missing nodes # doc.at_css(selector).content = value; doc doc << Nokogiri::XML::Node.new("relationships", doc) if doc.root.nil? root = doc.root relationship = root.at_css("relationship[type=#{type}]") if relationship.nil? relationship = Nokogiri::XML::Node.new("relationship", doc) relationship.set_attribute("type", type) root << relationship end relationship.content = value doc end, create: lambda do |value| Nokogiri::XML("<relationships> <relationship type=\"#{type}\">#{value}</relationship> </relationships>") end ] end