web_stat 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/lib/web_stat.rb +6 -1
- data/lib/web_stat/fetch.rb +18 -3
- data/lib/web_stat/fetch/fetch_as_web.rb +2 -11
- data/lib/web_stat/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d0d937e282be9703078c9d3020ae5234109fd313d85bfeae2238d46cf77d0cb
|
4
|
+
data.tar.gz: fa312d255074eaf53e4af3c16400d783a390e73ebe2e35d545891a2e40010f66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e54007687bf53813bd08e11bec1e14812abda574f3129d0123676c5e7729eca943fddf7e5995342c179c6ca2c135bcbbaffa0657952c52d1c57d52c368f3b9af
|
7
|
+
data.tar.gz: a69e0fc7e9a1b0c1b7b0360514ac96f9dd8d02ddef37ef9d2ea9a7cd8e05e7543b6cb0c36f62eef705f13c9d6812d9933e812a466f03925f9fc379110a60eeb0
|
data/.gitignore
CHANGED
data/lib/web_stat.rb
CHANGED
@@ -11,10 +11,15 @@ require "web_stat/fetch/fetch_as_web"
|
|
11
11
|
module WebStat
|
12
12
|
class << self
|
13
13
|
# Get web page's stat by url
|
14
|
-
def
|
14
|
+
def stat_by_web(url)
|
15
15
|
web_stat = WebStat::FetchAsWeb.new(url)
|
16
16
|
web_stat.stat
|
17
17
|
end
|
18
|
+
|
19
|
+
# Get web page's stat by url
|
20
|
+
def stat_by_url(url)
|
21
|
+
stat_by_web(url)
|
22
|
+
end
|
18
23
|
|
19
24
|
# Get web page's stat by html
|
20
25
|
def stat_by_html(html)
|
data/lib/web_stat/fetch.rb
CHANGED
@@ -2,6 +2,7 @@ require 'uri'
|
|
2
2
|
require 'digest'
|
3
3
|
require 'sanitize'
|
4
4
|
require 'nokogiri'
|
5
|
+
require 'open-uri'
|
5
6
|
require 'ruby-readability'
|
6
7
|
require 'final_redirect_url'
|
7
8
|
module WebStat
|
@@ -61,8 +62,10 @@ module WebStat
|
|
61
62
|
def save_local_path(url)
|
62
63
|
return nil if url.nil? || !url.match(/^http/)
|
63
64
|
tmp_file = "/tmp/#{Digest::SHA1.hexdigest(url)}"
|
64
|
-
|
65
|
-
|
65
|
+
open(original_url(url)) do |remote_file|
|
66
|
+
File.open(tmp_file, "w+b") do |_file|
|
67
|
+
_file.puts(remote_file.read)
|
68
|
+
end
|
66
69
|
end
|
67
70
|
tmp_file
|
68
71
|
end
|
@@ -83,10 +86,22 @@ module WebStat
|
|
83
86
|
title: title,
|
84
87
|
site_name: site_name,
|
85
88
|
content: content,
|
86
|
-
url:
|
89
|
+
url: @url,
|
87
90
|
eyecatch_image_path: save_local_path(eyecatch_image_path),
|
88
91
|
tags: tag.nouns
|
89
92
|
}
|
90
93
|
end
|
94
|
+
|
95
|
+
private
|
96
|
+
|
97
|
+
# Get original url
|
98
|
+
# @param [String] url
|
99
|
+
def original_url(url)
|
100
|
+
if url.match(/^http/)
|
101
|
+
FinalRedirectUrl.final_redirect_url(url)
|
102
|
+
else
|
103
|
+
url
|
104
|
+
end
|
105
|
+
end
|
91
106
|
end
|
92
107
|
end
|
@@ -6,18 +6,9 @@ module WebStat
|
|
6
6
|
# initialize class
|
7
7
|
# @param [String] url
|
8
8
|
def initialize(url)
|
9
|
-
@url = url
|
10
|
-
@html = get_url(url)
|
9
|
+
@url = original_url(url)
|
10
|
+
@html = get_url(url)
|
11
11
|
@nokogiri = ::Nokogiri::HTML(@html)
|
12
12
|
end
|
13
|
-
|
14
|
-
# Get original url
|
15
|
-
def original_url
|
16
|
-
if @url.match(/^http/)
|
17
|
-
FinalRedirectUrl.final_redirect_url(@url)
|
18
|
-
else
|
19
|
-
@url
|
20
|
-
end
|
21
|
-
end
|
22
13
|
end
|
23
14
|
end
|
data/lib/web_stat/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: web_stat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- yusuke abe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|