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 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