fretala 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/fretala.rb +18 -3
  2. metadata +2 -2
data/lib/fretala.rb CHANGED
@@ -3,6 +3,16 @@ require 'net/http'
3
3
  require 'base64'
4
4
 
5
5
  class Fretala
6
+
7
+ class ValidationError < StandardError
8
+ end
9
+
10
+ class BadRequestError < StandardError
11
+ end
12
+
13
+ class InternalError < StandardError
14
+ end
15
+
6
16
  FRETALA_SANDBOX_URL = 'sandbox.freta.la'
7
17
  FRETALA_PRODUCTION_URL = 'api.freta.la'
8
18
 
@@ -90,10 +100,15 @@ class Fretala
90
100
  response = http.request(request)
91
101
  json = JSON.parse(response.body)
92
102
  if response.code != '200' && response.code != '204'
93
- if(auth)
94
- throw json['error_description']
103
+ errMsg = json.has_key?('message') ? json['message'] : json['error_description']
104
+ if response.code == '422'
105
+ raise ValidationError, errMsg
106
+ elsif response.code == '400'
107
+ raise BadRequestError, errMsg
108
+ elsif response.code == '500'
109
+ raise InternalError, errMsg
95
110
  else
96
- throw json['message']
111
+ raise Error, errMsg
97
112
  end
98
113
  end
99
114
  @token = ''
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fretala
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-02 00:00:00.000000000 Z
12
+ date: 2014-08-28 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: A wrapper for Freta lá API
15
15
  email: lucas@freta.la