lib/html2rss.rb in html2rss-0.3.3 vs lib/html2rss.rb in html2rss-0.4.0

- old
+ new

@@ -1,36 +1,51 @@ require 'html2rss/config' require 'html2rss/feed_builder' require 'html2rss/version' +require 'html2rss/utils' require 'yaml' module Html2rss + ## + # 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] 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' } + global_config = yaml.reject { |key| key == 'feeds' } config = Config.new(feed_config, global_config) feed(config) end ## - # Returns the RSS object, which is generated from the provided config. + # Returns a 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( + # 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] def self.feed(config) config = Config.new(config) unless config.is_a?(Config) feed = FeedBuilder.new config feed.rss