Module: Html2rss::Utils
- Defined in:
- lib/html2rss/utils.rb
Overview
The collecting tank for utility methods.
Class Method Summary collapse
- .build_absolute_url_from_relative(url, base_url) ⇒ Object
- .get_class_from_name(snake_cased_name, module_name) ⇒ Object
- .object_to_xml(object) ⇒ Object
- .sanitize_url(url) ⇒ Object
Class Method Details
.build_absolute_url_from_relative(url, base_url) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/html2rss/utils.rb', line 11 def self.build_absolute_url_from_relative(url, base_url) url = URI(url) if url.is_a?(String) return url if url.absolute? URI(base_url).tap do |uri| uri.path = url.path.to_s.start_with?('/') ? url.path : "/#{url.path}" uri.query = url.query uri.fragment = url.fragment if url.fragment end end |
.get_class_from_name(snake_cased_name, module_name) ⇒ Object
27 28 29 30 31 |
# File 'lib/html2rss/utils.rb', line 27 def self.get_class_from_name(snake_cased_name, module_name) camel_cased_name = snake_cased_name.split('_').map(&:capitalize).join class_name = ['Html2rss', module_name, camel_cased_name].join('::') Object.const_get(class_name) end |
.object_to_xml(object) ⇒ Object
23 24 25 |
# File 'lib/html2rss/utils.rb', line 23 def self.object_to_xml(object) object.to_xml(skip_instruct: true, skip_types: true) end |
.sanitize_url(url) ⇒ Object
33 34 35 36 37 38 |
# File 'lib/html2rss/utils.rb', line 33 def self.sanitize_url(url) squished_url = url.to_s.split(' ').join return if squished_url.to_s == '' Addressable::URI.parse(squished_url).normalize.to_s end |