Class: RSS::BaseListener
Direct Known Subclasses
Constant Summary collapse
- @@accessor_bases =
{}
- @@registered_uris =
{}
- @@class_names =
{}
Class Method Summary collapse
-
.available_tags(uri) ⇒ Object
return the tag_names for setters associated with uri.
-
.class_name(uri, tag_name) ⇒ Object
retrieve class_name for the supplied uri and tag_name If it doesn’t exist, capitalize the tag_name.
- .getter(uri, tag_name) ⇒ Object
-
.install_class_name(uri, tag_name, class_name) ⇒ Object
record class_name for the supplied uri and tag_name.
- .install_get_text_element(uri, name, accessor_base) ⇒ Object
- .raise_for_undefined_entity? ⇒ Boolean
-
.register_uri(uri, name) ⇒ Object
register uri against this name.
-
.setter(uri, tag_name) ⇒ Object
return the setter for the uri, tag_name pair, or nil.
-
.uri_registered?(uri, name) ⇒ Boolean
test if this uri is registered against this name.
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
.available_tags(uri) ⇒ Object
return the tag_names for setters associated with uri
197 198 199 |
# File 'lib/rss/parser.rb', line 197 def (uri) (@@accessor_bases[uri] || {}).keys end |
.class_name(uri, tag_name) ⇒ Object
retrieve class_name for the supplied uri and tag_name If it doesn’t exist, capitalize the tag_name
220 221 222 223 224 225 226 |
# File 'lib/rss/parser.rb', line 220 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 |
.getter(uri, tag_name) ⇒ Object
192 193 194 |
# File 'lib/rss/parser.rb', line 192 def getter(uri, tag_name) (@@accessor_bases[uri] || {})[tag_name] end |
.install_class_name(uri, tag_name, class_name) ⇒ Object
record class_name for the supplied uri and tag_name
213 214 215 216 |
# File 'lib/rss/parser.rb', line 213 def install_class_name(uri, tag_name, class_name) @@class_names[uri] ||= {} @@class_names[uri][tag_name] = class_name end |
.install_get_text_element(uri, name, accessor_base) ⇒ Object
228 229 230 231 |
# File 'lib/rss/parser.rb', line 228 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 |
.raise_for_undefined_entity? ⇒ Boolean
233 234 235 |
# File 'lib/rss/parser.rb', line 233 def raise_for_undefined_entity? true end |
.register_uri(uri, name) ⇒ Object
register uri against this name.
202 203 204 205 |
# File 'lib/rss/parser.rb', line 202 def register_uri(uri, name) @@registered_uris[name] ||= {} @@registered_uris[name][uri] = nil end |
.setter(uri, tag_name) ⇒ Object
return the setter for the uri, tag_name pair, or nil.
183 184 185 186 187 188 189 190 |
# File 'lib/rss/parser.rb', line 183 def setter(uri, tag_name) _getter = getter(uri, tag_name) if _getter "#{_getter}=" else nil end end |
.uri_registered?(uri, name) ⇒ Boolean
test if this uri is registered against this name
208 209 210 |
# File 'lib/rss/parser.rb', line 208 def uri_registered?(uri, name) @@registered_uris[name].has_key?(uri) end |