Class: RbbCode::TagNode
Instance Attribute Summary collapse
-
#tag_name ⇒ Object
readonly
Returns the value of attribute tag_name.
-
#value ⇒ Object
readonly
Returns the value of attribute value.
Attributes inherited from Node
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(parent, tag_name, value = nil) ⇒ TagNode
constructor
A new instance of TagNode.
- #inner_bb_code ⇒ Object
- #to_bb_code ⇒ Object
Methods inherited from Node
Constructor Details
#initialize(parent, tag_name, value = nil) ⇒ TagNode
Returns a new instance of TagNode.
69 70 71 72 73 |
# File 'lib/rbbcode/tree_maker.rb', line 69 def initialize(parent, tag_name, value = nil) super(parent) @tag_name = tag_name @value = value end |
Instance Attribute Details
#tag_name ⇒ Object (readonly)
Returns the value of attribute tag_name.
90 91 92 |
# File 'lib/rbbcode/tree_maker.rb', line 90 def tag_name @tag_name end |
#value ⇒ Object (readonly)
Returns the value of attribute value.
92 93 94 |
# File 'lib/rbbcode/tree_maker.rb', line 92 def value @value end |
Class Method Details
.from_opening_bb_code(parent, bb_code) ⇒ Object
58 59 60 61 62 63 64 65 66 67 |
# File 'lib/rbbcode/tree_maker.rb', line 58 def self.from_opening_bb_code(parent, bb_code) if equal_index = bb_code.index('=') tag_name = bb_code[1, equal_index - 1] value = bb_code[(equal_index + 1)..-2] else tag_name = bb_code[1..-2] value = nil end new(parent, tag_name, value) end |
Instance Method Details
#inner_bb_code ⇒ Object
75 76 77 78 79 |
# File 'lib/rbbcode/tree_maker.rb', line 75 def inner_bb_code @children.inject('') do |output, child| output << child.to_bb_code end end |
#to_bb_code ⇒ Object
81 82 83 84 85 86 87 88 |
# File 'lib/rbbcode/tree_maker.rb', line 81 def to_bb_code if @value.nil? output = "[#{@tag_name}]" else output = "[#{@tag_name}=#{@value}]" end output << inner_bb_code << "[/#{@tag_name}]" end |