lib/html2rss.rb in html2rss-0.3.0 vs lib/html2rss.rb in html2rss-0.3.1

- old
+ new

@@ -3,18 +3,37 @@ require 'html2rss/version' require 'yaml' module Html2rss 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 { |k| k == 'feeds' } config = Config.new(feed_config, global_config) feed(config) end + ## + # Returns the RSS object, which is generated from the provided config. + # + # `config`: can be a Hash or an instance of Html2rss::Config. + # + # = Example with a Ruby Hash + # 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' } + # } + # ) def self.feed(config) + config = Config.new(config) unless config.is_a?(Config) + feed = FeedBuilder.new config feed.rss end end