html2rss 0.3.3 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +18 -11
- data/.travis.yml +3 -3
- data/.yardopts +6 -0
- data/Gemfile.lock +23 -5
- data/README.md +2 -1
- data/docs/Html2rss.html +353 -0
- data/docs/Html2rss/AttributePostProcessors.html +203 -0
- data/docs/Html2rss/AttributePostProcessors/ParseTime.html +332 -0
- data/docs/Html2rss/AttributePostProcessors/ParseUri.html +314 -0
- data/docs/Html2rss/AttributePostProcessors/SanitizeHtml.html +346 -0
- data/docs/Html2rss/AttributePostProcessors/Substring.html +321 -0
- data/docs/Html2rss/AttributePostProcessors/Template.html +336 -0
- data/docs/Html2rss/Config.html +795 -0
- data/docs/Html2rss/FeedBuilder.html +295 -0
- data/docs/Html2rss/Item.html +654 -0
- data/docs/Html2rss/ItemExtractors.html +297 -0
- data/docs/Html2rss/ItemExtractors/Attribute.html +317 -0
- data/docs/Html2rss/ItemExtractors/CurrentTime.html +297 -0
- data/docs/Html2rss/ItemExtractors/Href.html +319 -0
- data/docs/Html2rss/ItemExtractors/Html.html +314 -0
- data/docs/Html2rss/ItemExtractors/Static.html +301 -0
- data/docs/Html2rss/ItemExtractors/Text.html +312 -0
- data/docs/Html2rss/Utils.html +115 -0
- data/docs/Html2rss/Utils/IndifferentAccessHash.html +142 -0
- data/docs/_index.html +300 -0
- data/docs/class_list.html +51 -0
- data/docs/css/common.css +1 -0
- data/docs/css/full_list.css +58 -0
- data/docs/css/style.css +496 -0
- data/docs/file.README.html +135 -0
- data/docs/file_list.html +56 -0
- data/docs/frames.html +17 -0
- data/docs/index.html +135 -0
- data/docs/js/app.js +303 -0
- data/docs/js/full_list.js +216 -0
- data/docs/js/jquery.js +4 -0
- data/docs/method_list.html +435 -0
- data/docs/top-level-namespace.html +110 -0
- data/html2rss.gemspec +3 -0
- data/lib/html2rss.rb +19 -4
- data/lib/html2rss/attribute_post_processors.rb +5 -3
- data/lib/html2rss/attribute_post_processors/parse_time.rb +29 -3
- data/lib/html2rss/attribute_post_processors/parse_uri.rb +20 -1
- data/lib/html2rss/attribute_post_processors/sanitize_html.rb +65 -3
- data/lib/html2rss/attribute_post_processors/substring.rb +24 -3
- data/lib/html2rss/attribute_post_processors/template.rb +37 -10
- data/lib/html2rss/config.rb +11 -12
- data/lib/html2rss/feed_builder.rb +8 -6
- data/lib/html2rss/item.rb +28 -19
- data/lib/html2rss/item_extractors.rb +29 -0
- data/lib/html2rss/item_extractors/attribute.rb +37 -0
- data/lib/html2rss/item_extractors/current_time.rb +21 -0
- data/lib/html2rss/item_extractors/href.rb +36 -0
- data/lib/html2rss/item_extractors/html.rb +34 -0
- data/lib/html2rss/item_extractors/static.rb +28 -0
- data/lib/html2rss/item_extractors/text.rb +32 -0
- data/lib/html2rss/utils.rb +25 -0
- data/lib/html2rss/version.rb +1 -1
- metadata +88 -4
- data/lib/html2rss/item_extractor.rb +0 -37
@@ -1,37 +0,0 @@
|
|
1
|
-
module Html2rss
|
2
|
-
module ItemExtractor
|
3
|
-
TEXT = proc { |xml, options|
|
4
|
-
element(xml, options)&.text&.strip&.split&.join(' ')
|
5
|
-
}
|
6
|
-
|
7
|
-
ATTRIBUTE = proc { |xml, options|
|
8
|
-
element(xml, options).attr(options['attribute']).to_s
|
9
|
-
}
|
10
|
-
|
11
|
-
HREF = proc { |xml, options|
|
12
|
-
href = element(xml, options).attr('href').to_s
|
13
|
-
path, query = href.split('?')
|
14
|
-
|
15
|
-
if href.start_with?('http')
|
16
|
-
uri = URI(href)
|
17
|
-
else
|
18
|
-
uri = URI(options['channel']['url'])
|
19
|
-
uri.path = path.to_s.start_with?('/') ? path : "/#{path}"
|
20
|
-
uri.query = query
|
21
|
-
end
|
22
|
-
|
23
|
-
uri
|
24
|
-
}
|
25
|
-
|
26
|
-
HTML = proc { |xml, options|
|
27
|
-
element(xml, options).to_s
|
28
|
-
}
|
29
|
-
|
30
|
-
STATIC = proc { |_xml, options| options['static'] }
|
31
|
-
CURRENT_TIME = proc { |_xml, _options| Time.new }
|
32
|
-
|
33
|
-
def self.element(xml, options)
|
34
|
-
options['selector'] ? xml.css(options['selector']) : xml
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|