Class: Weblet
- Inherits:
-
Object
- Object
- Weblet
- Defined in:
- lib/weblet.rb
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
-
#initialize(raws, marker: nil, debug: false) ⇒ Weblet
constructor
A new instance of Weblet.
- #render(rawkey, bindingx = nil) ⇒ Object
- #to_h ⇒ Object
-
#to_kvp ⇒ Object
key-value pair.
- #to_outline ⇒ Object
- #to_xml ⇒ Object
Constructor Details
#initialize(raws, marker: nil, debug: false) ⇒ Weblet
Returns a new instance of Weblet.
85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/weblet.rb', line 85 def initialize(raws, marker: nil, debug: false) @debug = debug s, _ = RXFReader.read(raws.strip) obj = s[0] == '<' ? s : WebletBuilder.new(s, marker: marker, \ debug: debug).to_a puts 'obj: ' + obj.inspect if @debug @doc = Rexle.new(obj) @h = scan @doc.root @kvp = scan2keypair(@h).to_h end |
Instance Method Details
#[](key) ⇒ Object
100 101 102 |
# File 'lib/weblet.rb', line 100 def [](key) @kvp[key.to_s] end |
#[]=(key, value) ⇒ Object
104 105 106 |
# File 'lib/weblet.rb', line 104 def []=(key, value) @kvp[key.to_s] = value end |
#render(rawkey, bindingx = nil) ⇒ Object
125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/weblet.rb', line 125 def render(rawkey, bindingx=nil) key = rawkey.to_s return unless @kvp.has_key?(key) # check for interpolated substitution tags e.g/ <:card/svg/link> r = @kvp[key].gsub(/<:([^>]+)>/) {|x| self.render($1) } eval('%Q(' + r + ')', bindingx) end |
#to_h ⇒ Object
108 109 110 |
# File 'lib/weblet.rb', line 108 def to_h() @h end |
#to_kvp ⇒ Object
key-value pair
113 114 115 |
# File 'lib/weblet.rb', line 113 def to_kvp() @kvp end |
#to_outline ⇒ Object
117 118 119 |
# File 'lib/weblet.rb', line 117 def to_outline() treeize(scan_h(@h)) end |
#to_xml ⇒ Object
121 122 123 |
# File 'lib/weblet.rb', line 121 def to_xml() @doc.root.xml pretty: true end |