Class: Kwartz::AttrInfo
- Inherits:
-
Object
- Object
- Kwartz::AttrInfo
- Defined in:
- lib/kwartz/converter.rb
Instance Attribute Summary collapse
-
#directive ⇒ Object
Returns the value of attribute directive.
-
#linenum ⇒ Object
Returns the value of attribute linenum.
-
#names ⇒ Object
readonly
Returns the value of attribute names.
-
#spaces ⇒ Object
readonly
Returns the value of attribute spaces.
-
#values ⇒ Object
readonly
Returns the value of attribute values.
Instance Method Summary collapse
- #[](name) ⇒ Object
- #[]=(name, value) ⇒ Object
- #delete(name) ⇒ Object
- #each ⇒ Object
- #empty? ⇒ Boolean
-
#initialize(attr_str) ⇒ AttrInfo
constructor
A new instance of AttrInfo.
Constructor Details
#initialize(attr_str) ⇒ AttrInfo
Returns a new instance of AttrInfo.
98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/kwartz/converter.rb', line 98 def initialize(attr_str) @names = [] @values = {} @spaces = {} attr_str.scan(/(\s+)([-:_\w]+)="([^"]*?)"/) do |space, name, value| @names << name unless @values.key?(name) @values[name] = value @spaces[name] = space end @directive = nil @linenum = nil end |
Instance Attribute Details
#directive ⇒ Object
Returns the value of attribute directive.
111 112 113 |
# File 'lib/kwartz/converter.rb', line 111 def directive @directive end |
#linenum ⇒ Object
Returns the value of attribute linenum.
111 112 113 |
# File 'lib/kwartz/converter.rb', line 111 def linenum @linenum end |
#names ⇒ Object (readonly)
Returns the value of attribute names.
110 111 112 |
# File 'lib/kwartz/converter.rb', line 110 def names @names end |
#spaces ⇒ Object (readonly)
Returns the value of attribute spaces.
110 111 112 |
# File 'lib/kwartz/converter.rb', line 110 def spaces @spaces end |
#values ⇒ Object (readonly)
Returns the value of attribute values.
110 111 112 |
# File 'lib/kwartz/converter.rb', line 110 def values @values end |
Instance Method Details
#[](name) ⇒ Object
114 115 116 |
# File 'lib/kwartz/converter.rb', line 114 def [](name) @values[name] end |
#[]=(name, value) ⇒ Object
119 120 121 122 123 |
# File 'lib/kwartz/converter.rb', line 119 def []=(name, value) @names << name unless @values.key?(name) @values[name] = value @spaces[name] = ' ' unless @spaces.key?(name) end |
#delete(name) ⇒ Object
135 136 137 138 139 140 141 |
# File 'lib/kwartz/converter.rb', line 135 def delete(name) if @values.key?(name) @names.delete(name) @values.delete(name) @spaces.delete(name) end end |
#each ⇒ Object
126 127 128 129 130 131 132 |
# File 'lib/kwartz/converter.rb', line 126 def each @names.each do |name| space = @spaces[name] value = @values[name] yield(space, name, value) end end |
#empty? ⇒ Boolean
144 145 146 |
# File 'lib/kwartz/converter.rb', line 144 def empty? return @names.empty? end |