point 1.0.3 → 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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 42f7120c69d882c7f68cd1bc646167776ef34d56
4
+ data.tar.gz: f4a49f47ad1af09a67800d84e95eb1a159d7f368
5
+ SHA512:
6
+ metadata.gz: 8c0e48a841a51d3d564952f5f813429acf830a9395086a1f77fbd7a72af06516f90d405cec3e43b57e41d95820b99e1d5413a08cb2de0e355585d4c53a524064
7
+ data.tar.gz: 0b4609d5d13611f2471dc19035149a52eb252b0b204d34a1c9d79c7e8912c52aef17b0eee86f561a1cf6b2999d0d72ae82cd784837a35dd19df4da6df3b206f4
@@ -15,14 +15,12 @@ require 'point/zone'
15
15
  require 'point/zone_record'
16
16
 
17
17
  module Point
18
- VERSION = '1.0.3'
19
-
18
+ VERSION = '1.1.0'
20
19
  class << self
21
20
  attr_accessor :username
22
21
  attr_accessor :apitoken
23
22
  attr_accessor :site
24
23
  end
25
-
26
24
  end
27
25
 
28
- Point.site = "http://pointhq.com"
26
+ Point.site = 'https://api.pointhq.com'
@@ -1,20 +1,19 @@
1
1
  module Point
2
-
2
+
3
3
  ## Base level error which all other point errors will inherit from. It may also be
4
4
  ## invoked for errors which don't directly relate to other errors below.
5
5
  class Error < StandardError; end
6
-
6
+
7
7
  module Errors
8
-
8
+
9
9
  ## The service is currently unavailable. This may be caused by rate limiting or the API
10
10
  ## or the service has been disabled by the system
11
11
  class ServiceUnavailable < Error; end
12
-
12
+
13
13
  ## Access was denied to the remote service
14
14
  class AccessDenied < Error; end
15
-
15
+
16
16
  ## A communication error occured while talking to the Point API
17
17
  class CommunicationError < Error; end
18
-
19
18
  end
20
19
  end
@@ -1,22 +1,22 @@
1
1
  module Point
2
2
  class Request
3
-
3
+
4
4
  attr_reader :path, :method
5
5
  attr_accessor :data
6
-
6
+
7
7
  def initialize(path, method = :get)
8
8
  @path = path
9
9
  @method = method
10
10
  end
11
-
11
+
12
12
  def success?
13
13
  @success || false
14
14
  end
15
-
15
+
16
16
  def output
17
17
  @output || nil
18
18
  end
19
-
19
+
20
20
  ## Make a request to the Point API using net/http. Data passed can be a hash or a string
21
21
  ## Hashes will be converted to JSON before being sent to the remote service.
22
22
  def make
@@ -25,8 +25,9 @@ module Point
25
25
  http_request.basic_auth(Point.username, Point.apitoken)
26
26
  http_request.add_field("Accept", "application/json")
27
27
  http_request.add_field("Content-type", "application/json")
28
-
28
+
29
29
  http = Net::HTTP.new(uri.host, uri.port)
30
+ http.use_ssl = true
30
31
  data = self.data.to_json if self.data.is_a?(Hash) && self.data.respond_to?(:to_json)
31
32
  http_result = http.request(http_request, data)
32
33
  @output = http_result.body
@@ -39,6 +40,8 @@ module Point
39
40
  raise Point::Errors::AccessDenied, "Access Denied for '#{Point.username}'"
40
41
  when Net::HTTPNotFound
41
42
  raise Point::Errors::CommunicationError, "Not Found at #{uri.to_s}"
43
+ when Net::HTTPPaymentRequired
44
+ raise Point::Errors::AccessDenied, JSON.parse(output)['message']
42
45
  when Net::HTTPClientError
43
46
  false
44
47
  else
@@ -46,10 +49,10 @@ module Point
46
49
  end
47
50
  self
48
51
  end
49
-
52
+
50
53
  private
51
-
52
- def http_class
54
+
55
+ def http_class
53
56
  case @method
54
57
  when :post then Net::HTTP::Post
55
58
  when :put then Net::HTTP::Put
@@ -58,6 +61,6 @@ module Point
58
61
  Net::HTTP::Get
59
62
  end
60
63
  end
61
-
64
+
62
65
  end
63
66
  end
metadata CHANGED
@@ -1,66 +1,62 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: point
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
5
- prerelease:
4
+ version: 1.1.0
6
5
  platform: ruby
7
6
  authors:
8
- - Adam Cooke
7
+ - Cogneto.io
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-10-24 00:00:00.000000000 Z
11
+ date: 2016-11-04 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: json
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.1.5
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: 1.1.5
30
27
  description:
31
- email: adam@atechmedia.com
28
+ email: hello@cogneto.io
32
29
  executables: []
33
30
  extensions: []
34
31
  extra_rdoc_files: []
35
32
  files:
33
+ - lib/point.rb
36
34
  - lib/point/base.rb
37
35
  - lib/point/errors.rb
38
36
  - lib/point/request.rb
39
37
  - lib/point/zone.rb
40
38
  - lib/point/zone_record.rb
41
- - lib/point.rb
42
- homepage: http://www.pointhq.com
39
+ homepage: https://www.pointhq.com
43
40
  licenses: []
41
+ metadata: {}
44
42
  post_install_message:
45
43
  rdoc_options: []
46
44
  require_paths:
47
45
  - lib
48
46
  required_ruby_version: !ruby/object:Gem::Requirement
49
- none: false
50
47
  requirements:
51
- - - ! '>='
48
+ - - ">="
52
49
  - !ruby/object:Gem::Version
53
50
  version: '0'
54
51
  required_rubygems_version: !ruby/object:Gem::Requirement
55
- none: false
56
52
  requirements:
57
- - - ! '>='
53
+ - - ">="
58
54
  - !ruby/object:Gem::Version
59
55
  version: '0'
60
56
  requirements: []
61
57
  rubyforge_project:
62
- rubygems_version: 1.8.23
58
+ rubygems_version: 2.5.1
63
59
  signing_key:
64
- specification_version: 3
60
+ specification_version: 4
65
61
  summary: API client for the PointHQ DNS Hosting System
66
62
  test_files: []