fretala 1.0.0 → 1.1.0

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