rebrandly 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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(all_links.first) }
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
- raise res.parsed_response['message']
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
 
@@ -1,3 +1,3 @@
1
1
  module Rebrandly
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
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
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-04-12 00:00:00.000000000 Z
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
- - ".gitignore"
77
- - ".rspec"
78
- - ".travis.yml"
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: 2.5.1
125
+ rubygems_version: 1.8.23.2
116
126
  signing_key:
117
- specification_version: 4
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