octospy 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3f92c47f612fc8f9e58b5a761d293a824df3c203
4
- data.tar.gz: 1772944a5564aa76cf4af0171076f61065007a22
3
+ metadata.gz: 252859e967552eb8ea1fa9e917e5e8f5917f19c6
4
+ data.tar.gz: f52b4c00cae4a5a79857c53d6e6d560be9faccd7
5
5
  SHA512:
6
- metadata.gz: ff507ac30bb08f0fdc1b2f63e612340743f86f36e87ef823971118df6ec58ab5e2cb15aeafcc0dedbb108ec1748ad236d4c47f4550750a9f09d58724065d8e00
7
- data.tar.gz: 1d4e774052361c800b3aa9e0034f2bf391e82f7e75f6579be50445d93aea7d0959d87799c0267a4771c755a9c5137b3703c5009c3c85b179fe3c9fa0b655e5ef
6
+ metadata.gz: bf172d1c87dcf0ae4281c3ddc2b37e7835891d8b911cbea18e011254ffcd76dd13b7a95ab962d114dd931f0be0447f55d459820b5345d579d3506ae939818faa
7
+ data.tar.gz: 59bb2fd573cbf88ae892920be2cfd9607c8a699783659211e1c7d80b99b303d37401ecf01369e33906a37da36ea128accceb85ed5204d57278ddfda7b061ef76
@@ -1,5 +1,5 @@
1
1
  require 'string-irc'
2
- require 'octospy/shortener'
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
- case
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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Octospy
2
- VERSION = '0.0.6'
2
+ VERSION = '0.0.7'
3
3
  end
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 'faraday', '~> 0.8.9'
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.6
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: faraday
84
+ name: sawyer
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.8.9
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.8.9
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/shortener.rb
148
+ - lib/octospy/url.rb
163
149
  - lib/octospy/version.rb
164
150
  - lib/octospy/worker.rb
165
151
  - octospy.gemspec
@@ -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