| 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