rebrandly 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.
- data/lib/rebrandly/api.rb +10 -7
- data/lib/rebrandly/version.rb +1 -1
- metadata +28 -18
- checksums.yaml +0 -7
data/lib/rebrandly/api.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
require 'httparty'
|
2
2
|
|
3
3
|
module Rebrandly
|
4
|
+
class RebrandlyError < StandardError; end
|
5
|
+
class RateLimitExceeded < RebrandlyError; end
|
6
|
+
|
4
7
|
class Api
|
5
8
|
API_VERSION = 'v1'
|
6
9
|
BASE_URL = "https://api.rebrandly.com/#{API_VERSION}"
|
@@ -8,7 +11,7 @@ module Rebrandly
|
|
8
11
|
# GET /v1/links
|
9
12
|
def links(options={})
|
10
13
|
all_links = rebrandly_request(:get, 'links', options)
|
11
|
-
all_links.map { Link.new(
|
14
|
+
all_links.map { |link| Link.new(link) }
|
12
15
|
end
|
13
16
|
|
14
17
|
# GET /v1/links/:id
|
@@ -21,11 +24,6 @@ module Rebrandly
|
|
21
24
|
rebrandly_request(:get, 'links/count')['count']
|
22
25
|
end
|
23
26
|
|
24
|
-
# GET /v1/links/new
|
25
|
-
def new_link(options={})
|
26
|
-
Link.new(rebrandly_request(:get, 'links/new', options))
|
27
|
-
end
|
28
|
-
|
29
27
|
# POST /v1/links
|
30
28
|
def shorten(destination, options={})
|
31
29
|
options[:destination] = destination
|
@@ -82,7 +80,12 @@ module Rebrandly
|
|
82
80
|
if res.code == 200
|
83
81
|
JSON.parse(res.body)
|
84
82
|
else
|
85
|
-
|
83
|
+
rebrandly_error = res.parsed_response
|
84
|
+
if rebrandly_error['domain'] == 'usageLimits' && rebrandly_error['reason'] == 'rateLimitExceeded'
|
85
|
+
raise RateLimitExceeded
|
86
|
+
else
|
87
|
+
raise RebrandlyError, rebrandly_error['message']
|
88
|
+
end
|
86
89
|
end
|
87
90
|
end
|
88
91
|
|
data/lib/rebrandly/version.rb
CHANGED
metadata
CHANGED
@@ -1,69 +1,78 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rebrandly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Andrew Davis
|
8
9
|
autorequire:
|
9
10
|
bindir: exe
|
10
11
|
cert_chain: []
|
11
|
-
date: 2017-
|
12
|
+
date: 2017-05-16 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: bundler
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- -
|
19
|
+
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '1.13'
|
20
22
|
type: :development
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- -
|
27
|
+
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '1.13'
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: rake
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
|
-
- -
|
35
|
+
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
33
37
|
version: '10.0'
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
|
-
- -
|
43
|
+
- - ~>
|
39
44
|
- !ruby/object:Gem::Version
|
40
45
|
version: '10.0'
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: rspec
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
|
-
- -
|
51
|
+
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: '3.0'
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
|
-
- -
|
59
|
+
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '3.0'
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: httparty
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
|
-
- -
|
67
|
+
- - ~>
|
60
68
|
- !ruby/object:Gem::Version
|
61
69
|
version: '0.14'
|
62
70
|
type: :runtime
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
|
-
- -
|
75
|
+
- - ~>
|
67
76
|
- !ruby/object:Gem::Version
|
68
77
|
version: '0.14'
|
69
78
|
description: Easily use Rebrandly's HTTP API using this gem.
|
@@ -73,9 +82,9 @@ executables: []
|
|
73
82
|
extensions: []
|
74
83
|
extra_rdoc_files: []
|
75
84
|
files:
|
76
|
-
-
|
77
|
-
-
|
78
|
-
-
|
85
|
+
- .gitignore
|
86
|
+
- .rspec
|
87
|
+
- .travis.yml
|
79
88
|
- Gemfile
|
80
89
|
- LICENSE.txt
|
81
90
|
- README.md
|
@@ -95,25 +104,26 @@ files:
|
|
95
104
|
homepage: https://github.com/ardavis/rebrandly
|
96
105
|
licenses:
|
97
106
|
- MIT
|
98
|
-
metadata: {}
|
99
107
|
post_install_message:
|
100
108
|
rdoc_options: []
|
101
109
|
require_paths:
|
102
110
|
- lib
|
103
111
|
required_ruby_version: !ruby/object:Gem::Requirement
|
112
|
+
none: false
|
104
113
|
requirements:
|
105
|
-
- -
|
114
|
+
- - ! '>='
|
106
115
|
- !ruby/object:Gem::Version
|
107
116
|
version: '0'
|
108
117
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
|
+
none: false
|
109
119
|
requirements:
|
110
|
-
- -
|
120
|
+
- - ! '>='
|
111
121
|
- !ruby/object:Gem::Version
|
112
122
|
version: '0'
|
113
123
|
requirements: []
|
114
124
|
rubyforge_project:
|
115
|
-
rubygems_version:
|
125
|
+
rubygems_version: 1.8.23.2
|
116
126
|
signing_key:
|
117
|
-
specification_version:
|
127
|
+
specification_version: 3
|
118
128
|
summary: A Ruby Rebrandly Wrapper
|
119
129
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: af2cbd9c176bbefb4d367f73c1fd66bf322f7f7c
|
4
|
-
data.tar.gz: 576e6d9e63f6dbadec4169206956287b7c2b4a30
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 56dbac465b5c2c69c269b6170422bf2d2bb104144f3322825f27d82471ca72acffef8be385d8b4e2fdc81cbfb5662d82c5900225e189602ecd02955a9ab6aef9
|
7
|
-
data.tar.gz: 47eeb42b99d3d006b4d589e97eee49e453f2076afcf15ee00c960386ca07bee56b139500969d301ab21a869d857315f84f7400dd36bf61d28f33fd18fc7925ef
|