class Muxml::Base::Relation::One
Public Class Methods
new(obj, relation, options = {})
click to toggle source
# File lib/muxml/relation.rb, line 6 def initialize(obj, relation, options = {}) @obj = obj @relation = relation @tag = options.delete(:tag) @class_name = options.delete(:class_name) @query = options.delete(:select) @options = options raise ArgumentError, "#{obj.class.to_s} :class_name is nil" if @class_name.nil? raise ArgumentError, "#{obj.class.to_s} :tag is nil" if @tag.nil? unless @query.nil? attributes = @query.map{|k,v| "@#{k}='#{v}'"}.join @find_query = "#{@tag}[#{attributes}]" else @find_query = "#{@tag}" end @element = Object.const_get(@class_name).new(obj.xml.elements[@find_query]) end
Public Instance Methods
method_missing(sym, *args, &block)
click to toggle source
# File lib/muxml/relation.rb, line 26 def method_missing(sym, *args, &block) @element.send(sym, *args, &block) end