octospy 0.0.6 → 0.0.7
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/lib/octospy/extensions/string.rb +2 -9
- data/lib/octospy/url.rb +46 -0
- data/lib/octospy/version.rb +1 -1
- data/octospy.gemspec +1 -2
- metadata +5 -19
- data/lib/octospy/shortener.rb +0 -48
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 252859e967552eb8ea1fa9e917e5e8f5917f19c6
|
4
|
+
data.tar.gz: f52b4c00cae4a5a79857c53d6e6d560be9faccd7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf172d1c87dcf0ae4281c3ddc2b37e7835891d8b911cbea18e011254ffcd76dd13b7a95ab962d114dd931f0be0447f55d459820b5345d579d3506ae939818faa
|
7
|
+
data.tar.gz: 59bb2fd573cbf88ae892920be2cfd9607c8a699783659211e1c7d80b99b303d37401ecf01369e33906a37da36ea128accceb85ed5204d57278ddfda7b061ef76
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'string-irc'
|
2
|
-
require 'octospy/
|
2
|
+
require 'octospy/url'
|
3
3
|
|
4
4
|
module Octospy
|
5
5
|
module Extensions
|
@@ -22,14 +22,7 @@ module Octospy
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def shorten_url
|
25
|
-
|
26
|
-
when self =~ /https?:\/\/(\w+\.)?github\.com/
|
27
|
-
Octospy::Shortener.shorten_by_github self
|
28
|
-
when self =~ /https?:\/\/.+/
|
29
|
-
Octospy::Shortener.shorten_by_google self
|
30
|
-
else
|
31
|
-
self
|
32
|
-
end
|
25
|
+
Octospy::Url.shorten self
|
33
26
|
end
|
34
27
|
alias_method :shorten, :shorten_url
|
35
28
|
end
|
data/lib/octospy/url.rb
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'sawyer'
|
2
|
+
|
3
|
+
module Octospy
|
4
|
+
module Url
|
5
|
+
class << self
|
6
|
+
def shorten(url)
|
7
|
+
case
|
8
|
+
when url =~ /https?:\/\/(\w+\.)?github\.com/
|
9
|
+
self.shorten_by_github url
|
10
|
+
when url =~ /https?:\/\/.+/
|
11
|
+
self.shorten_by_google url
|
12
|
+
else
|
13
|
+
url
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def github_shortener_endpoint
|
18
|
+
'http://git.io/'
|
19
|
+
end
|
20
|
+
|
21
|
+
def shorten_by_github(url)
|
22
|
+
agent = Sawyer::Agent.new(self.github_shortener_endpoint)
|
23
|
+
response = agent.call(:post, '', "url=#{url}")
|
24
|
+
response.headers[:location]
|
25
|
+
rescue => e
|
26
|
+
puts e.message
|
27
|
+
url
|
28
|
+
end
|
29
|
+
|
30
|
+
def google_shortener_endpoint
|
31
|
+
'https://www.googleapis.com/urlshortener/v1/'
|
32
|
+
end
|
33
|
+
|
34
|
+
def shorten_by_google(url)
|
35
|
+
agent = Sawyer::Agent.new(self.google_shortener_endpoint) do |http|
|
36
|
+
http.headers['Content-Type'] = 'application/json'
|
37
|
+
end
|
38
|
+
response = agent.call(:post, 'url', longUrl: url)
|
39
|
+
response.data.attrs[:id]
|
40
|
+
rescue => e
|
41
|
+
puts e.message
|
42
|
+
url
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
data/lib/octospy/version.rb
CHANGED
data/octospy.gemspec
CHANGED
@@ -24,7 +24,6 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_dependency 'cinch', '~> 2.0'
|
25
25
|
spec.add_dependency 'octokit', '~> 2.7'
|
26
26
|
spec.add_dependency 'string-irc', '~> 0.3'
|
27
|
-
spec.add_dependency '
|
28
|
-
spec.add_dependency 'faraday_middleware', '~> 0.9'
|
27
|
+
spec.add_dependency 'sawyer', '~> 0.5'
|
29
28
|
spec.add_dependency 'dotenv', '~> 0.10'
|
30
29
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: octospy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- linyows
|
@@ -81,33 +81,19 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0.3'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: sawyer
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: '0.5'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: faraday_middleware
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0.9'
|
104
|
-
type: :runtime
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0.9'
|
96
|
+
version: '0.5'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: dotenv
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -159,7 +145,7 @@ files:
|
|
159
145
|
- lib/octospy/parser/wiki.rb
|
160
146
|
- lib/octospy/recordable.rb
|
161
147
|
- lib/octospy/recordable/channel.rb
|
162
|
-
- lib/octospy/
|
148
|
+
- lib/octospy/url.rb
|
163
149
|
- lib/octospy/version.rb
|
164
150
|
- lib/octospy/worker.rb
|
165
151
|
- octospy.gemspec
|
data/lib/octospy/shortener.rb
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
require 'faraday'
|
2
|
-
require 'faraday_middleware'
|
3
|
-
|
4
|
-
module Octospy
|
5
|
-
module Shortener
|
6
|
-
class << self
|
7
|
-
def github_shortener_endpoint
|
8
|
-
'http://git.io'
|
9
|
-
end
|
10
|
-
|
11
|
-
def shorten_by_github(url)
|
12
|
-
conn = Faraday.new(url: self.github_shortener_endpoint) do |f|
|
13
|
-
f.request :url_encoded
|
14
|
-
f.adapter Faraday.default_adapter
|
15
|
-
end
|
16
|
-
|
17
|
-
res = conn.post '/', { url: url }
|
18
|
-
res.headers && res.headers.key?('location') ? res.headers['location'] : url
|
19
|
-
rescue
|
20
|
-
url
|
21
|
-
end
|
22
|
-
|
23
|
-
def google_shortener_endpoint
|
24
|
-
'https://www.googleapis.com'
|
25
|
-
end
|
26
|
-
|
27
|
-
def shorten_by_google(url)
|
28
|
-
conn = Faraday.new(url: self.google_shortener_endpoint) do |f|
|
29
|
-
f.response :mashify
|
30
|
-
f.response :json
|
31
|
-
f.request :url_encoded
|
32
|
-
f.request :json
|
33
|
-
f.adapter Faraday.default_adapter
|
34
|
-
end
|
35
|
-
|
36
|
-
res = conn.post do |req|
|
37
|
-
req.url '/urlshortener/v1/url'
|
38
|
-
req.headers['Content-Type'] = 'application/json'
|
39
|
-
req.body = "{ \"longUrl\": \"#{url}\" }"
|
40
|
-
end
|
41
|
-
|
42
|
-
res.body && res.body.respond_to?(:id) ? res.body.id : url
|
43
|
-
rescue
|
44
|
-
url
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|