network_profile 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/Gemfile.lock +8 -3
- data/lib/network_profile.rb +6 -6
- data/lib/network_profile/extractors/default_profile.rb +9 -1
- data/lib/network_profile/version.rb +1 -1
- data/network_profile.gemspec +1 -0
- data/sig/network_profile.rbs +26 -0
- data/sig/network_profile_extractor.rbs +25 -0
- metadata +19 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e68f15ab6289719cc178f3c5ed19929ee1aeb9c4696df0e81d4796eaff5df54a
|
4
|
+
data.tar.gz: a7fe6b19cf46bbf92a926cb2209e207e27c79f39fee3b528fac6e4fcc60b5078
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd35d91176939e964ff5f0c4cc674dd92c0110952885af131283f301721f92eef1b82e4e9b749223b2dc7d9cc93fb22481cc97342981fba45579a71b44116a4a
|
7
|
+
data.tar.gz: c9c815db05afaf507dbb46a46c52088214f087c83b962899a06a185e0e4abccf0e232e3c93db7b06fedc81f1605e9d1f72150eea7f7ff7c262da500b4505d634
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,16 +1,17 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
network_profile (0.
|
4
|
+
network_profile (0.3.0)
|
5
5
|
activesupport (>= 5.0.0)
|
6
6
|
nokogiri
|
7
7
|
rdf-microdata
|
8
|
+
rexml
|
8
9
|
typhoeus
|
9
10
|
|
10
11
|
GEM
|
11
12
|
remote: https://rubygems.org/
|
12
13
|
specs:
|
13
|
-
activesupport (6.0.3.
|
14
|
+
activesupport (6.0.3.4)
|
14
15
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
15
16
|
i18n (>= 0.7, < 2)
|
16
17
|
minitest (~> 5.1)
|
@@ -42,6 +43,7 @@ GEM
|
|
42
43
|
method_source (~> 1.0)
|
43
44
|
public_suffix (4.0.6)
|
44
45
|
rake (12.3.3)
|
46
|
+
rbs (0.14.0)
|
45
47
|
rdf (3.1.6)
|
46
48
|
hamster (~> 3.0)
|
47
49
|
link_header (~> 0.0, >= 0.0.8)
|
@@ -52,6 +54,7 @@ GEM
|
|
52
54
|
rdf-xsd (~> 3.1)
|
53
55
|
rdf-xsd (3.1.0)
|
54
56
|
rdf (~> 3.1)
|
57
|
+
rexml (3.2.4)
|
55
58
|
rspec (3.9.0)
|
56
59
|
rspec-core (~> 3.9.0)
|
57
60
|
rspec-expectations (~> 3.9.0)
|
@@ -75,7 +78,7 @@ GEM
|
|
75
78
|
addressable (>= 2.3.6)
|
76
79
|
crack (>= 0.3.2)
|
77
80
|
hashdiff (>= 0.4.0, < 2.0.0)
|
78
|
-
zeitwerk (2.4.
|
81
|
+
zeitwerk (2.4.1)
|
79
82
|
|
80
83
|
PLATFORMS
|
81
84
|
ruby
|
@@ -84,6 +87,8 @@ DEPENDENCIES
|
|
84
87
|
network_profile!
|
85
88
|
pry
|
86
89
|
rake (~> 12.0)
|
90
|
+
rbs
|
91
|
+
rexml (~> 3.2)
|
87
92
|
rspec (>= 3.5)
|
88
93
|
vcr
|
89
94
|
webmock
|
data/lib/network_profile.rb
CHANGED
@@ -6,14 +6,14 @@ require 'active_support/core_ext/module/attribute_accessors'
|
|
6
6
|
module NetworkProfile
|
7
7
|
class Error < StandardError; end
|
8
8
|
|
9
|
-
mattr_accessor :headers, :github_api_key
|
9
|
+
mattr_accessor :headers, :github_api_key, :proxy, :proxy_user_pass
|
10
10
|
|
11
11
|
self.headers = {
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
"Accept"=>"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
|
13
|
+
"Accept-Language"=>"de",
|
14
|
+
"User-Agent"=>"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36",
|
15
|
+
"Referer" => "https://www.google.com",
|
16
|
+
"Cache-Control"=>"max-age=0"
|
17
17
|
}
|
18
18
|
self.github_api_key = nil
|
19
19
|
|
@@ -77,7 +77,15 @@ module NetworkProfile
|
|
77
77
|
private
|
78
78
|
|
79
79
|
def response
|
80
|
-
|
80
|
+
options = {
|
81
|
+
headers: NetworkProfile.headers,
|
82
|
+
followlocation: true
|
83
|
+
}
|
84
|
+
if NetworkProfile.proxy
|
85
|
+
options[:proxy] = NetworkProfile.proxy
|
86
|
+
options[:proxyuserpwd] = NetworkProfile.proxy_user_pass if NetworkProfile.proxy_user_pass.present?
|
87
|
+
end
|
88
|
+
@response ||= Typhoeus.get(@link, options)
|
81
89
|
end
|
82
90
|
|
83
91
|
def doc
|
data/network_profile.gemspec
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
|
2
|
+
type parse_response = { site_icon: string?, link: string, title: string?, text: string?, image: string?, :type => string? }
|
3
|
+
|
4
|
+
module NetworkProfile
|
5
|
+
def self.github_api_key: () -> string?
|
6
|
+
|
7
|
+
def self.github_api_key=: (string obj) -> string
|
8
|
+
|
9
|
+
def self.headers: () -> untyped
|
10
|
+
|
11
|
+
def self.headers=: (untyped obj) -> untyped
|
12
|
+
|
13
|
+
def self.parse: (string link, ?include_fallback_custom: bool) -> parse_response?
|
14
|
+
|
15
|
+
public
|
16
|
+
|
17
|
+
def github_api_key: () -> string
|
18
|
+
|
19
|
+
def github_api_key=: (string obj) -> string
|
20
|
+
|
21
|
+
def headers: () -> untyped
|
22
|
+
|
23
|
+
def headers=: (untyped obj) -> untyped
|
24
|
+
end
|
25
|
+
|
26
|
+
NetworkProfile::VERSION: String
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class NetworkProfile::Extractor
|
2
|
+
def self.call: (string string) -> Array[parse_response]
|
3
|
+
|
4
|
+
public
|
5
|
+
|
6
|
+
def extracted_links!: () -> Array[parse_response]
|
7
|
+
|
8
|
+
def links: () -> Array[string]
|
9
|
+
|
10
|
+
def mapped_string: () -> Array[string]
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def initialize: (string string) -> untyped
|
15
|
+
end
|
16
|
+
|
17
|
+
NetworkProfile::Extractor::AUTO_LINK_RE: Regexp
|
18
|
+
|
19
|
+
NetworkProfile::Extractor::BRACKETS: Hash
|
20
|
+
|
21
|
+
NetworkProfile::Extractor::HOST_PART: Regexp
|
22
|
+
|
23
|
+
NetworkProfile::Extractor::TLD: Regexp
|
24
|
+
|
25
|
+
NetworkProfile::Extractor::WORD_PATTERN: String
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: network_profile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stefan Wienert
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: typhoeus
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rexml
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
description: Extract profile metadata from various social-media-profiles, such as
|
70
84
|
Twitter, XING, Github, Stackoverflow or generic og-metatags.
|
71
85
|
email:
|
@@ -103,6 +117,8 @@ files:
|
|
103
117
|
- lib/network_profile/extractors/xing_profile.rb
|
104
118
|
- lib/network_profile/version.rb
|
105
119
|
- network_profile.gemspec
|
120
|
+
- sig/network_profile.rbs
|
121
|
+
- sig/network_profile_extractor.rbs
|
106
122
|
homepage: https://github.com/pludoni/network_profile
|
107
123
|
licenses:
|
108
124
|
- MIT
|
@@ -124,8 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
124
140
|
- !ruby/object:Gem::Version
|
125
141
|
version: '0'
|
126
142
|
requirements: []
|
127
|
-
|
128
|
-
rubygems_version: 2.7.6
|
143
|
+
rubygems_version: 3.2.0.rc.1
|
129
144
|
signing_key:
|
130
145
|
specification_version: 4
|
131
146
|
summary: Extract profile metadata from various social-media-profiles
|