help_scout 0.1.0 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3c0f81a717d1e98ee61c2cfbea80a333f18cab74
4
- data.tar.gz: 290d049dec86ebe919ce0cf9affc5906267b8511
3
+ metadata.gz: 6f27ff741d4ccc82fb4287002adc48c4d403edcf
4
+ data.tar.gz: 7558de8f0a788e6f7250bf9a91cb510ad4511632
5
5
  SHA512:
6
- metadata.gz: 6818f2cfbed3119f952677ab3de5880006bd3886e13f204e566b39086a7d5bcb19383de73cbf613823ad85fd6f4f864fc0c65eb0e94f8c66db8ac5f2f65b4d5e
7
- data.tar.gz: 329b28bb44cad44336c025c7db49370a1ef399b40cfab2d4ae386fd8786fc2ec40968c4a488ae262100adc9c3c53b14469a64795403fd6d238b8e6441071a981
6
+ metadata.gz: 0df4d12cd56011d90eab0123473a63b77bdee5dbd9283ca921da1f4b233477191115f747cd69a9359969e65e4b4fbd05b2a5496faf0684a21b8b5933a24db3a4
7
+ data.tar.gz: 2113ec54b0811a46f4d9ad255a21de79126d55d1e4ef357e97c3a11859b247537da66d9440e865ce78830443d1141ac6e871464c603c4de752f4c72655f47925
data/help_scout.gemspec CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Dennis Paagman", "Miriam Tocino", "Mark Mulder"]
10
10
  spec.email = ["dennispaagman@gmail.com", "miriam.tocino@gmail.com", "markmulder@gmail.com"]
11
11
 
12
- spec.summary = "HelpScout is a an api client for Help Scout"
12
+ spec.summary = "HelpScout is an API client for Help Scout"
13
13
  spec.homepage = "https://github.com/Springest/help_scout"
14
14
  spec.license = "MIT"
15
15
 
@@ -18,11 +18,11 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency "httparty", "~> 0.13"
21
+ spec.add_runtime_dependency "httparty", "~> 0.14"
22
22
 
23
23
  spec.add_development_dependency "bundler", "~> 1.12"
24
- spec.add_development_dependency "rake", "~> 10.0"
25
- spec.add_development_dependency "rspec", "~> 3.0"
26
- spec.add_development_dependency "webmock", "~> 2.0"
24
+ spec.add_development_dependency "rake", "~> 10.5"
25
+ spec.add_development_dependency "rspec", "~> 3.5"
26
+ spec.add_development_dependency "webmock", "~> 2.1"
27
27
  spec.add_development_dependency "byebug"
28
28
  end
@@ -1,3 +1,3 @@
1
1
  class HelpScout
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/help_scout.rb CHANGED
@@ -2,6 +2,12 @@ require "help_scout/version"
2
2
  require "httparty"
3
3
 
4
4
  class HelpScout
5
+ class ValidationError < StandardError; end
6
+ class NotImplementedError < StandardError; end
7
+
8
+ HTTP_CREATED = 201
9
+ HTTP_BAD_REQUEST = 400
10
+
5
11
  attr_accessor :last_response
6
12
 
7
13
  def initialize(api_key)
@@ -18,9 +24,16 @@ class HelpScout
18
24
  def create_conversation(data)
19
25
  post("conversations", { body: data })
20
26
 
21
- # Extract ID of created conversation from the Location header
22
- conversation_uri = last_response.headers["location"]
23
- conversation_uri.match(/(\d+)\.json$/)[1]
27
+ if last_response.code == HTTP_CREATED
28
+ # Extract ID of created conversation from the Location header
29
+ conversation_uri = last_response.headers["location"]
30
+ return conversation_uri.match(/(\d+)\.json$/)[1]
31
+ elsif last_response.code == HTTP_BAD_REQUEST
32
+ # Validation failed so return the errors
33
+ raise ValidationError, last_response.parsed_response["message"]
34
+ else
35
+ raise NotImplementedError, "Help Scout returned something that is not implemented by the help_scout gem yet. Sorry."
36
+ end
24
37
  end
25
38
 
26
39
  # Public: Get conversation
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: help_scout
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dennis Paagman
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '0.13'
21
+ version: '0.14'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: '0.13'
28
+ version: '0.14'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: bundler
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -46,42 +46,42 @@ dependencies:
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '10.0'
49
+ version: '10.5'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '10.0'
56
+ version: '10.5'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: rspec
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '3.0'
63
+ version: '3.5'
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: '3.0'
70
+ version: '3.5'
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: webmock
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: '2.0'
77
+ version: '2.1'
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: '2.0'
84
+ version: '2.1'
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: byebug
87
87
  requirement: !ruby/object:Gem::Requirement
@@ -140,5 +140,5 @@ rubyforge_project:
140
140
  rubygems_version: 2.5.1
141
141
  signing_key:
142
142
  specification_version: 4
143
- summary: HelpScout is a an api client for Help Scout
143
+ summary: HelpScout is an API client for Help Scout
144
144
  test_files: []