Class | RSS::BaseListener |
In: |
lib/rss/parser.rb
|
Parent: | Object |
return the tag_names for setters associated with uri
# File lib/rss/parser.rb, line 196 196: def available_tags(uri) 197: (@@accessor_bases[uri] || {}).keys 198: end
retrieve class_name for the supplied uri and tag_name If it doesn‘t exist, capitalize the tag_name
# File lib/rss/parser.rb, line 219 219: def class_name(uri, tag_name) 220: name = (@@class_names[uri] || {})[tag_name] 221: return name if name 222: 223: tag_name = tag_name.gsub(/[_\-]([a-z]?)/) do 224: $1.upcase 225: end 226: tag_name[0, 1].upcase + tag_name[1..-1] 227: end
# File lib/rss/parser.rb, line 191 191: def getter(uri, tag_name) 192: (@@accessor_bases[uri] || {})[tag_name] 193: end
record class_name for the supplied uri and tag_name
# File lib/rss/parser.rb, line 212 212: def install_class_name(uri, tag_name, class_name) 213: @@class_names[uri] ||= {} 214: @@class_names[uri][tag_name] = class_name 215: end
# File lib/rss/parser.rb, line 229 229: def install_get_text_element(uri, name, accessor_base) 230: install_accessor_base(uri, name, accessor_base) 231: def_get_text_element(uri, name, *get_file_and_line_from_caller(1)) 232: end
register uri against this name.
# File lib/rss/parser.rb, line 201 201: def register_uri(uri, name) 202: @@registered_uris[name] ||= {} 203: @@registered_uris[name][uri] = nil 204: end
test if this uri is registered against this name
# File lib/rss/parser.rb, line 207 207: def uri_registered?(uri, name) 208: @@registered_uris[name].has_key?(uri) 209: end
# File lib/rss/parser.rb, line 245 245: def def_get_text_element(uri, element_name, file, line) 246: register_uri(uri, element_name) 247: method_name = "start_#{element_name}" 248: unless private_method_defined?(method_name) 249: define_method(method_name) do |name, prefix, attrs, ns| 250: uri = _ns(ns, prefix) 251: if self.class.uri_registered?(uri, element_name) 252: start_get_text_element(name, prefix, ns, uri) 253: else 254: start_else_element(name, prefix, attrs, ns) 255: end 256: end 257: private(method_name) 258: end 259: end