module Html2rss
The Html2rss
namespace. Request HTML from an URL and transform it to a RSS 2.0 object.
Constants
- VERSION
Public Class Methods
feed(config)
click to toggle source
Returns a RSS object which is generated from the provided config.
`config`: can be a Hash or an instance of Html2rss::Config
.
Example:
feed = Html2rss.feed( channel: { name: 'StackOverflow: Hot Network Questions', url: 'https://stackoverflow.com' }, selectors: { items: { selector: '#hot-network-questions > ul > li' }, title: { selector: 'a' }, link: { selector: 'a', extractor: 'href' } } ) # => #<RSS::Rss:0x00007fb2f48d14a0 ...>
@return [RSS:Rss]
# File lib/html2rss.rb, line 52 def self.feed(config) config = Config.new(config) unless config.is_a?(Config) feed = FeedBuilder.new config feed.rss end
feed_from_yaml_config(file, name)
click to toggle source
Returns a RSS object which is generated from the provided file.
`file_path`: a File object of a YAML file `name`: the of the feed
Example:
feed = Html2rss.feed_from_yaml_config(File.join(['spec', 'config.test.yml']), 'nuxt-releases') # => #<RSS::Rss:0x00007fb2f6331228
@return [RSS:Rss]
# File lib/html2rss.rb, line 23 def self.feed_from_yaml_config(file, name) # rubocop:disable Security/YAMLLoad yaml = YAML.load(File.open(file)) # rubocop:enable Security/YAMLLoad feed_config = yaml['feeds'][name] global_config = yaml.reject { |key| key == 'feeds' } config = Config.new(feed_config, global_config) feed(config) end