samanage 1.5.4 → 1.5.5
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 +4 -4
- data/README.md +10 -5
- data/lib/samanage.rb +11 -10
- data/lib/samanage/api.rb +4 -0
- data/lib/samanage/api/hardwares.rb +1 -1
- data/lib/samanage/api/incidents.rb +1 -1
- data/lib/samanage/api/other_assets.rb +1 -1
- data/lib/samanage/error.rb +4 -4
- data/lib/samanage/url_builder.rb +3 -3
- data/samanage.gemspec +2 -2
- data/test.rb +5 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8881d95d53d828db2886180e66c897140025edc0
|
4
|
+
data.tar.gz: b1ada2b851252c9408b07f856fc893351c251cba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 769fd6d87962f536ddad3bf40183d296e57361e555fd4687f9eb4dd11743933cb5952081a713f2ddf91afe4e226507012bc1dd43a583014da8316f21e524dc79
|
7
|
+
data.tar.gz: 0bd3f460a9121716645b553143d1810d5934c31d22bd2c004f7573cfd10a96311f2f1aba9178e185281d99518349e259ad04e1b9af444176ce8b3d2e0bce4148
|
data/README.md
CHANGED
@@ -1,10 +1,15 @@
|
|
1
|
-
#
|
1
|
+
# Samanage Ruby Gem
|
2
2
|
|
3
3
|
## Requirements
|
4
|
-
- Ruby >= 2.
|
4
|
+
- Ruby >= 2.0
|
5
5
|
|
6
6
|
## Installation
|
7
|
-
gem install samanage
|
7
|
+
`gem install samanage`
|
8
|
+
#### Linux (CentOS)
|
9
|
+
- `sudo yum install gcc-c++`
|
10
|
+
- `sudo yum install ruby-devel`
|
11
|
+
- `sudo gem install samanage`
|
12
|
+
|
8
13
|
|
9
14
|
|
10
15
|
|
@@ -13,11 +18,11 @@ gem install samanage
|
|
13
18
|
|
14
19
|
```ruby
|
15
20
|
api_controller = Samanage::Api.new(token: api_token)
|
16
|
-
|
21
|
+
user_query = api_controller.execute(http_method: 'get',
|
17
22
|
path: 'users.json')
|
18
23
|
```
|
19
24
|
Returns query returns a Hash with keys:
|
20
|
-
- `:response`*:* unparsed
|
25
|
+
- `:response`*:* unparsed http response
|
21
26
|
- `:code`*:* http status code
|
22
27
|
- `:json`*:* Samanage API json response
|
23
28
|
- `:headers`*:* Response headers
|
data/lib/samanage.rb
CHANGED
@@ -1,15 +1,16 @@
|
|
1
|
+
$LOAD_PATH << File.dirname(__FILE__)
|
1
2
|
require 'http'
|
2
3
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
4
|
+
require 'samanage/api'
|
5
|
+
require 'samanage/api/users'
|
6
|
+
require 'samanage/api/requester'
|
7
|
+
require 'samanage/api/hardwares'
|
8
|
+
require 'samanage/api/other_assets'
|
9
|
+
require 'samanage/api/incidents'
|
10
|
+
require 'samanage/api/custom_fields'
|
11
|
+
require 'samanage/api/custom_forms'
|
12
|
+
require 'samanage/error'
|
13
|
+
require 'samanage/url_builder'
|
13
14
|
module Samanage
|
14
15
|
|
15
16
|
end
|
data/lib/samanage/api.rb
CHANGED
@@ -87,6 +87,10 @@ module Samanage
|
|
87
87
|
error = response[:response]
|
88
88
|
raise Samanage::InvalidRequest.new(error: error, response: response)
|
89
89
|
end
|
90
|
+
rescue HTTP::ConnectionError => e
|
91
|
+
error = e.class
|
92
|
+
response = e
|
93
|
+
raise Samanage::Error.new(error: error, response: response)
|
90
94
|
# Always return response hash
|
91
95
|
response
|
92
96
|
end
|
@@ -38,7 +38,7 @@ module Samanage
|
|
38
38
|
end
|
39
39
|
|
40
40
|
|
41
|
-
def update_hardware(payload: nil, id
|
41
|
+
def update_hardware(payload: nil, id: nil, options: {})
|
42
42
|
path = "hardwares/#{id}.json"
|
43
43
|
api_call = self.execute(path: path, http_method: 'put', payload: payload)
|
44
44
|
api_call
|
@@ -20,7 +20,7 @@ module Samanage
|
|
20
20
|
other_assets.uniq
|
21
21
|
end
|
22
22
|
|
23
|
-
def create_other_asset(payload: , options: {})
|
23
|
+
def create_other_asset(payload: nil, options: {})
|
24
24
|
api_call = self.execute(path: PATHS[:other_asset], http_method: 'post', payload: payload)
|
25
25
|
api_call
|
26
26
|
end
|
data/lib/samanage/error.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Samanage
|
2
|
-
class
|
2
|
+
class SamanageError < StandardError
|
3
3
|
attr_accessor :status_code, :response, :error
|
4
4
|
def initialize(error: nil, response: {})
|
5
5
|
self.status_code = response[:code]
|
@@ -10,12 +10,12 @@ module Samanage
|
|
10
10
|
|
11
11
|
end
|
12
12
|
|
13
|
-
class AuthorizationError <
|
13
|
+
class AuthorizationError < SamanageError
|
14
14
|
end
|
15
15
|
|
16
|
-
class InvalidRequest <
|
16
|
+
class InvalidRequest < SamanageError
|
17
17
|
end
|
18
18
|
|
19
|
-
class NotFound <
|
19
|
+
class NotFound < SamanageError
|
20
20
|
end
|
21
21
|
end
|
data/lib/samanage/url_builder.rb
CHANGED
@@ -3,15 +3,15 @@ module Samanage
|
|
3
3
|
attr_accessor :url
|
4
4
|
@url = ''
|
5
5
|
def initialize(path: nil,options: nil)
|
6
|
-
self.url = map_path(path, options)
|
6
|
+
self.url = map_path(path: path, options: options)
|
7
7
|
return url
|
8
8
|
end
|
9
9
|
|
10
10
|
|
11
|
-
def map_path(path, options)
|
11
|
+
def map_path(path: nil, options: nil)
|
12
12
|
url = String.new
|
13
13
|
parameters = String.new
|
14
|
-
case path
|
14
|
+
case path
|
15
15
|
when /user/
|
16
16
|
url += 'users'
|
17
17
|
when /hardware/
|
data/samanage.gemspec
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'samanage'
|
3
|
-
s.version = '1.5.
|
3
|
+
s.version = '1.5.5'
|
4
4
|
s.date = '2017-01-01'
|
5
5
|
s.summary = "Samanage Ruby Gem"
|
6
6
|
s.description = "Connect to Samanage using Ruby!"
|
7
7
|
s.authors = ["Chris Walls"]
|
8
|
-
s.email = '
|
8
|
+
s.email = 'cwalls2908@gmail.com'
|
9
9
|
s.files = `git ls-files`.split("\n")
|
10
10
|
s.require_paths = ["lib"]
|
11
11
|
s.add_development_dependency 'http', ['~> 2.2']
|
data/test.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
api_controller = Samanage::Api.new(token: 'SAMANAGE_TEST_API_TOKEN')
|
4
|
-
|
1
|
+
require_relative 'lib/samanage'
|
2
|
+
require 'awesome_print'
|
3
|
+
api_controller = Samanage::Api.new(token: ENV['SAMANAGE_TEST_API_TOKEN'])
|
4
|
+
ap api_controller
|
5
|
+
api_controller.collect_users
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: samanage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Walls
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '2.2'
|
41
41
|
description: Connect to Samanage using Ruby!
|
42
|
-
email:
|
42
|
+
email: cwalls2908@gmail.com
|
43
43
|
executables: []
|
44
44
|
extensions: []
|
45
45
|
extra_rdoc_files: []
|