samanage 1.5.4 → 1.5.5
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|