issuu 0.1.7 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -5,6 +5,7 @@ source "http://rubygems.org"
5
5
  # Add dependencies to develop your gem here.
6
6
  # Include everything needed to run rake, tests, features, etc.
7
7
  gem "activesupport", ">= 3.0.3"
8
+ gem "i18n"
8
9
  gem "multipart-post"
9
10
 
10
11
  group :development do
data/Gemfile.lock CHANGED
@@ -4,6 +4,7 @@ GEM
4
4
  activesupport (3.0.3)
5
5
  diff-lcs (1.1.2)
6
6
  git (1.2.5)
7
+ i18n (0.6.0)
7
8
  jeweler (1.5.2)
8
9
  bundler (~> 1.0.0)
9
10
  git (>= 1.2.5)
@@ -27,6 +28,7 @@ PLATFORMS
27
28
  DEPENDENCIES
28
29
  activesupport (>= 3.0.3)
29
30
  bundler (~> 1.0.0)
31
+ i18n
30
32
  jeweler (~> 1.5.2)
31
33
  multipart-post
32
34
  rcov
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.7
1
+ 0.2.0
data/issuu.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "issuu"
8
- s.version = "0.1.7"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Bastien Vaucher - MagmaHQ"]
12
- s.date = "2011-11-15"
12
+ s.date = "2012-02-20"
13
13
  s.description = "Provides basic methods to access the Issuu API"
14
14
  s.email = "bastien.vaucher@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -32,10 +32,12 @@ Gem::Specification.new do |s|
32
32
  "lib/issuu/cli.rb",
33
33
  "lib/issuu/document.rb",
34
34
  "lib/issuu/folder.rb",
35
+ "lib/issuu/issuu_exception_manager.rb",
35
36
  "lib/issuu/parameter_set.rb",
36
37
  "spec/issuu/bookmark_spec.rb",
37
38
  "spec/issuu/document_spec.rb",
38
39
  "spec/issuu/folder_spec.rb",
40
+ "spec/issuu/issuu_exception_manager_spec.rb",
39
41
  "spec/issuu/parameter_set_spec.rb",
40
42
  "spec/spec_helper.rb"
41
43
  ]
@@ -48,6 +50,7 @@ Gem::Specification.new do |s|
48
50
  "spec/issuu/bookmark_spec.rb",
49
51
  "spec/issuu/document_spec.rb",
50
52
  "spec/issuu/folder_spec.rb",
53
+ "spec/issuu/issuu_exception_manager_spec.rb",
51
54
  "spec/issuu/parameter_set_spec.rb",
52
55
  "spec/spec_helper.rb"
53
56
  ]
@@ -57,6 +60,7 @@ Gem::Specification.new do |s|
57
60
 
58
61
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
59
62
  s.add_runtime_dependency(%q<activesupport>, [">= 3.0.3"])
63
+ s.add_runtime_dependency(%q<i18n>, [">= 0"])
60
64
  s.add_runtime_dependency(%q<multipart-post>, [">= 0"])
61
65
  s.add_development_dependency(%q<shoulda>, [">= 0"])
62
66
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -68,6 +72,7 @@ Gem::Specification.new do |s|
68
72
  s.add_runtime_dependency(%q<multipart-post>, [">= 0"])
69
73
  else
70
74
  s.add_dependency(%q<activesupport>, [">= 3.0.3"])
75
+ s.add_dependency(%q<i18n>, [">= 0"])
71
76
  s.add_dependency(%q<multipart-post>, [">= 0"])
72
77
  s.add_dependency(%q<shoulda>, [">= 0"])
73
78
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -80,6 +85,7 @@ Gem::Specification.new do |s|
80
85
  end
81
86
  else
82
87
  s.add_dependency(%q<activesupport>, [">= 3.0.3"])
88
+ s.add_dependency(%q<i18n>, [">= 0"])
83
89
  s.add_dependency(%q<multipart-post>, [">= 0"])
84
90
  s.add_dependency(%q<shoulda>, [">= 0"])
85
91
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
data/lib/issuu/cli.rb CHANGED
@@ -3,7 +3,7 @@ module Issuu
3
3
  class << self
4
4
  def check_for_exceptions(json_data)
5
5
  if json_data['rsp']['stat'].eql?("fail")
6
- raise(StandardError, json_data['rsp']["_content"]["error"]["message"])
6
+ IssuuExceptionManager.new(json_data['rsp']["_content"]["error"]).raise_error
7
7
  end
8
8
  end
9
9
 
@@ -0,0 +1,18 @@
1
+ module Issuu
2
+ class IssuuExceptionManager
3
+ def initialize(params)
4
+ @message = "##{params["code"]} #{params["message"]}"
5
+ case params["code"]
6
+ when "200","201" then
7
+ @message << ": '#{params["field"]}'"
8
+ end
9
+ end
10
+
11
+ def raise_error
12
+ raise IssuuException, @message
13
+ end
14
+ end
15
+
16
+ class IssuuException < StandardError
17
+ end
18
+ end
data/lib/issuu.rb CHANGED
@@ -26,9 +26,5 @@ module Issuu
26
26
 
27
27
  end
28
28
 
29
- require 'issuu/cli'
30
- require 'issuu/document'
31
- require 'issuu/bookmark'
32
- require 'issuu/folder'
33
- require 'issuu/parameter_set'
34
- require 'hash'
29
+ Dir[File.dirname(__FILE__) +"/issuu/*.rb"].each {|file| require file }
30
+ require File.dirname(__FILE__) + '/hash.rb'
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ describe Issuu::IssuuExceptionManager do
4
+
5
+ describe "Invalid field exception" do
6
+ it "should raise an exception with the invalid field" do
7
+ manager = Issuu::IssuuExceptionManager.new({'code'=>'201', 'message' => 'Invalid field format', 'field' => 'apiKey'})
8
+ expect {manager.raise_error}.should raise_error(Issuu::IssuuException, '#201 Invalid field format: \'apiKey\'')
9
+ end
10
+ end
11
+
12
+ describe "Authentication exception" do
13
+ it "should raise an exception with the invalid field" do
14
+ manager = Issuu::IssuuExceptionManager.new({'code'=>'009', 'message' => 'Authentication required'})
15
+ expect {manager.raise_error}.should raise_error(Issuu::IssuuException, '#009 Authentication required')
16
+ end
17
+ end
18
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: issuu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-15 00:00:00.000000000Z
12
+ date: 2012-02-20 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &2156679020 !ruby/object:Gem::Requirement
16
+ requirement: &70288219771400 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,21 @@ dependencies:
21
21
  version: 3.0.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2156679020
24
+ version_requirements: *70288219771400
25
+ - !ruby/object:Gem::Dependency
26
+ name: i18n
27
+ requirement: &70288219770920 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70288219770920
25
36
  - !ruby/object:Gem::Dependency
26
37
  name: multipart-post
27
- requirement: &2156678540 !ruby/object:Gem::Requirement
38
+ requirement: &70288219770440 !ruby/object:Gem::Requirement
28
39
  none: false
29
40
  requirements:
30
41
  - - ! '>='
@@ -32,10 +43,10 @@ dependencies:
32
43
  version: '0'
33
44
  type: :runtime
34
45
  prerelease: false
35
- version_requirements: *2156678540
46
+ version_requirements: *70288219770440
36
47
  - !ruby/object:Gem::Dependency
37
48
  name: shoulda
38
- requirement: &2156678060 !ruby/object:Gem::Requirement
49
+ requirement: &70288219769960 !ruby/object:Gem::Requirement
39
50
  none: false
40
51
  requirements:
41
52
  - - ! '>='
@@ -43,10 +54,10 @@ dependencies:
43
54
  version: '0'
44
55
  type: :development
45
56
  prerelease: false
46
- version_requirements: *2156678060
57
+ version_requirements: *70288219769960
47
58
  - !ruby/object:Gem::Dependency
48
59
  name: bundler
49
- requirement: &2156677520 !ruby/object:Gem::Requirement
60
+ requirement: &70288219769480 !ruby/object:Gem::Requirement
50
61
  none: false
51
62
  requirements:
52
63
  - - ~>
@@ -54,10 +65,10 @@ dependencies:
54
65
  version: 1.0.0
55
66
  type: :development
56
67
  prerelease: false
57
- version_requirements: *2156677520
68
+ version_requirements: *70288219769480
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: jeweler
60
- requirement: &2156676180 !ruby/object:Gem::Requirement
71
+ requirement: &70288219785360 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
74
  - - ~>
@@ -65,10 +76,10 @@ dependencies:
65
76
  version: 1.5.2
66
77
  type: :development
67
78
  prerelease: false
68
- version_requirements: *2156676180
79
+ version_requirements: *70288219785360
69
80
  - !ruby/object:Gem::Dependency
70
81
  name: rcov
71
- requirement: &2156675680 !ruby/object:Gem::Requirement
82
+ requirement: &70288219784880 !ruby/object:Gem::Requirement
72
83
  none: false
73
84
  requirements:
74
85
  - - ! '>='
@@ -76,10 +87,10 @@ dependencies:
76
87
  version: '0'
77
88
  type: :development
78
89
  prerelease: false
79
- version_requirements: *2156675680
90
+ version_requirements: *70288219784880
80
91
  - !ruby/object:Gem::Dependency
81
92
  name: rspec
82
- requirement: &2156675160 !ruby/object:Gem::Requirement
93
+ requirement: &70288219784400 !ruby/object:Gem::Requirement
83
94
  none: false
84
95
  requirements:
85
96
  - - ! '>='
@@ -87,10 +98,10 @@ dependencies:
87
98
  version: 2.4.0
88
99
  type: :development
89
100
  prerelease: false
90
- version_requirements: *2156675160
101
+ version_requirements: *70288219784400
91
102
  - !ruby/object:Gem::Dependency
92
103
  name: rspec
93
- requirement: &2156674680 !ruby/object:Gem::Requirement
104
+ requirement: &70288219783920 !ruby/object:Gem::Requirement
94
105
  none: false
95
106
  requirements:
96
107
  - - ! '>='
@@ -98,10 +109,10 @@ dependencies:
98
109
  version: 2.4.0
99
110
  type: :development
100
111
  prerelease: false
101
- version_requirements: *2156674680
112
+ version_requirements: *70288219783920
102
113
  - !ruby/object:Gem::Dependency
103
114
  name: activesupport
104
- requirement: &2156674160 !ruby/object:Gem::Requirement
115
+ requirement: &70288219783440 !ruby/object:Gem::Requirement
105
116
  none: false
106
117
  requirements:
107
118
  - - ! '>='
@@ -109,10 +120,10 @@ dependencies:
109
120
  version: 3.0.3
110
121
  type: :runtime
111
122
  prerelease: false
112
- version_requirements: *2156674160
123
+ version_requirements: *70288219783440
113
124
  - !ruby/object:Gem::Dependency
114
125
  name: multipart-post
115
- requirement: &2156673640 !ruby/object:Gem::Requirement
126
+ requirement: &70288219782960 !ruby/object:Gem::Requirement
116
127
  none: false
117
128
  requirements:
118
129
  - - ! '>='
@@ -120,7 +131,7 @@ dependencies:
120
131
  version: '0'
121
132
  type: :runtime
122
133
  prerelease: false
123
- version_requirements: *2156673640
134
+ version_requirements: *70288219782960
124
135
  description: Provides basic methods to access the Issuu API
125
136
  email: bastien.vaucher@gmail.com
126
137
  executables: []
@@ -144,10 +155,12 @@ files:
144
155
  - lib/issuu/cli.rb
145
156
  - lib/issuu/document.rb
146
157
  - lib/issuu/folder.rb
158
+ - lib/issuu/issuu_exception_manager.rb
147
159
  - lib/issuu/parameter_set.rb
148
160
  - spec/issuu/bookmark_spec.rb
149
161
  - spec/issuu/document_spec.rb
150
162
  - spec/issuu/folder_spec.rb
163
+ - spec/issuu/issuu_exception_manager_spec.rb
151
164
  - spec/issuu/parameter_set_spec.rb
152
165
  - spec/spec_helper.rb
153
166
  homepage: http://github.com/bastien/issuu
@@ -165,7 +178,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
165
178
  version: '0'
166
179
  segments:
167
180
  - 0
168
- hash: -544379377670840539
181
+ hash: -3200764037780703666
169
182
  required_rubygems_version: !ruby/object:Gem::Requirement
170
183
  none: false
171
184
  requirements:
@@ -182,5 +195,6 @@ test_files:
182
195
  - spec/issuu/bookmark_spec.rb
183
196
  - spec/issuu/document_spec.rb
184
197
  - spec/issuu/folder_spec.rb
198
+ - spec/issuu/issuu_exception_manager_spec.rb
185
199
  - spec/issuu/parameter_set_spec.rb
186
200
  - spec/spec_helper.rb