Sha256: 5473cfcc9ae9030e29d8f54f2aebdec36547fb3a695b0dd71fde5e955fcb7181
Contents?: true
Size: 1.49 KB
Versions: 3
Compression:
Stored size: 1.49 KB
Contents
require 'hashie' module Html2rss class Config attr_reader :feed_config, :channel_config, :global_config class IndifferentAccessHash < Hash include Hashie::Extensions::MergeInitializer include Hashie::Extensions::IndifferentAccess end def initialize(feed_config, global_config = {}) @global_config = IndifferentAccessHash.new global_config @feed_config = IndifferentAccessHash.new feed_config @channel_config = IndifferentAccessHash.new @feed_config.fetch('channel', {}) end def author channel_config.fetch 'author', 'html2rss' end def ttl channel_config.fetch 'ttl', 3600 end def title channel_config.fetch 'title', 'html2rss generated title' end def language channel_config.fetch 'language', 'en' end def description channel_config.fetch 'description', 'A description of my html2rss feed.' end def url channel_config.dig 'url' end alias link url def headers global_config.fetch('headers', {}) end def options(name) feed_config.dig('selectors').fetch(name, {}).merge('channel' => channel_config) end def categories feed_config.dig('selectors').fetch('categories', []) end def selector(name) feed_config.dig('selectors', name, 'selector') end def attribute_names attribute_names = feed_config.fetch('selectors', {}).keys.map(&:to_s) attribute_names.delete('items') attribute_names end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
html2rss-0.3.3 | lib/html2rss/config.rb |
html2rss-0.3.2 | lib/html2rss/config.rb |
html2rss-0.3.1 | lib/html2rss/config.rb |