Class: Svnx::Base::Entry

Inherits:
Object
  • Object
show all
Includes:
Logue::Loggable
Defined in:
lib/svnx/base/entry.rb

Instance Method Summary collapse

Constructor Details

#initialize(xmlelement) ⇒ Entry

Returns a new instance of Entry.



16
17
18
# File 'lib/svnx/base/entry.rb', line 16

def initialize xmlelement
  set_from_element xmlelement
end

Instance Method Details

#attribute_value(xmlelement, attrname) ⇒ Object



58
59
60
# File 'lib/svnx/base/entry.rb', line 58

def attribute_value xmlelement, attrname
  xmlelement[attrname.to_s]
end

#element_text(xmlelement, elmtname) ⇒ Object



62
63
64
65
# File 'lib/svnx/base/entry.rb', line 62

def element_text xmlelement, elmtname
  elmt = xmlelement.at_xpath elmtname.to_s
  elmt && elmt.text || ""
end

#set_attr_var(xmlelement, varname, attrname = varname, convert: nil) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/svnx/base/entry.rb', line 24

def set_attr_var xmlelement, varname, attrname = varname, convert: nil
  value = if xmlelement
            val = attribute_value xmlelement, attrname
            if convert
              val = val.send convert
            end
            val
          else
            nil
          end
  
  set_var varname, value
end

#set_attr_vars(xmlelement, *varnames) ⇒ Object



38
39
40
41
42
# File 'lib/svnx/base/entry.rb', line 38

def set_attr_vars xmlelement, *varnames
  varnames.each do |varname|
    set_attr_var xmlelement, varname
  end
end

#set_elmt_var(xmlelement, varname) ⇒ Object



44
45
46
# File 'lib/svnx/base/entry.rb', line 44

def set_elmt_var xmlelement, varname
  set_var varname, xmlelement && element_text(xmlelement, varname)
end

#set_elmt_vars(xmlelement, *varnames) ⇒ Object



48
49
50
51
52
# File 'lib/svnx/base/entry.rb', line 48

def set_elmt_vars xmlelement, *varnames
  varnames.each do |varname|
    set_elmt_var xmlelement, varname
  end
end

#set_from_element(elmt) ⇒ Object



20
21
22
# File 'lib/svnx/base/entry.rb', line 20

def set_from_element elmt
  raise "must be implemented"
end

#set_var(varname, value) ⇒ Object



54
55
56
# File 'lib/svnx/base/entry.rb', line 54

def set_var varname, value
  instance_variable_set '@' + varname.to_s, value
end