Class: RSS::BaseListener

Inherits:
Object show all
Extended by:
Utils
Defined in:
lib/rss/parser.rb

Constant Summary

@@accessor_bases =
{}
@@registered_uris =
{}
@@class_names =
{}

Class Method Summary (collapse)

Methods included from Utils

element_initialize_arguments?, get_file_and_line_from_caller, html_escape, new_with_value_if_need, to_class_name

Class Method Details

+ (Object) available_tags(uri)

return the tag_names for setters associated with uri



196
197
198
# File 'lib/rss/parser.rb', line 196

def available_tags(uri)
  (@@accessor_bases[uri] || {}).keys
end

+ (Object) class_name(uri, tag_name)

retrieve class_name for the supplied uri and tag_name If it doesn't exist, capitalize the tag_name



219
220
221
222
223
224
225
# File 'lib/rss/parser.rb', line 219

def class_name(uri, tag_name)
  name = (@@class_names[uri] || {})[tag_name]
  return name if name

  tag_name = tag_name.gsub(/[_\-]([a-z]?)/) {$1.upcase}
  tag_name[0, 1].upcase + tag_name[1..-1]
end

+ (Object) getter(uri, tag_name)



191
192
193
# File 'lib/rss/parser.rb', line 191

def getter(uri, tag_name)
  (@@accessor_bases[uri] || {})[tag_name]
end

+ (Object) install_class_name(uri, tag_name, class_name)

record class_name for the supplied uri and tag_name



212
213
214
215
# File 'lib/rss/parser.rb', line 212

def install_class_name(uri, tag_name, class_name)
  @@class_names[uri] ||= {}
  @@class_names[uri][tag_name] = class_name
end

+ (Object) install_get_text_element(uri, name, accessor_base)



227
228
229
230
# File 'lib/rss/parser.rb', line 227

def install_get_text_element(uri, name, accessor_base)
  install_accessor_base(uri, name, accessor_base)
  def_get_text_element(uri, name, *get_file_and_line_from_caller(1))
end

+ (Boolean) raise_for_undefined_entity?

Returns:

  • (Boolean)


232
233
234
# File 'lib/rss/parser.rb', line 232

def raise_for_undefined_entity?
  true
end

+ (Object) register_uri(uri, name)

register uri against this name.



201
202
203
204
# File 'lib/rss/parser.rb', line 201

def register_uri(uri, name)
  @@registered_uris[name] ||= {}
  @@registered_uris[name][uri] = nil
end

+ (Object) setter(uri, tag_name)

return the setter for the uri, tag_name pair, or nil.



182
183
184
185
186
187
188
189
# File 'lib/rss/parser.rb', line 182

def setter(uri, tag_name)
  _getter = getter(uri, tag_name)
  if _getter
    "#{_getter}="
  else
    nil
  end
end

+ (Boolean) uri_registered?(uri, name)

test if this uri is registered against this name

Returns:

  • (Boolean)


207
208
209
# File 'lib/rss/parser.rb', line 207

def uri_registered?(uri, name)
  @@registered_uris[name].has_key?(uri)
end