Class: Kwartz::AttrInfo

Inherits:
Object
  • Object
show all
Defined in:
lib/kwartz/converter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

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

#directiveObject

Returns the value of attribute directive.



111
112
113
# File 'lib/kwartz/converter.rb', line 111

def directive
  @directive
end

#linenumObject

Returns the value of attribute linenum.



111
112
113
# File 'lib/kwartz/converter.rb', line 111

def linenum
  @linenum
end

#namesObject (readonly)

Returns the value of attribute names.



110
111
112
# File 'lib/kwartz/converter.rb', line 110

def names
  @names
end

#spacesObject (readonly)

Returns the value of attribute spaces.



110
111
112
# File 'lib/kwartz/converter.rb', line 110

def spaces
  @spaces
end

#valuesObject (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

#eachObject



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

Returns:

  • (Boolean)


144
145
146
# File 'lib/kwartz/converter.rb', line 144

def empty?
  return @names.empty?
end