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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 49cf085d75e8e4de2a1fa11fdd19e6d99c38b421
4
- data.tar.gz: 243c926d4445e5f58f2adea3179641e892239050
3
+ metadata.gz: 8881d95d53d828db2886180e66c897140025edc0
4
+ data.tar.gz: b1ada2b851252c9408b07f856fc893351c251cba
5
5
  SHA512:
6
- metadata.gz: 70a262365ad0a58e9ad3b89e6f66e6828d68c80086ef136c81ece7766e1ff06a03d349a8ed5db285866d86feaecfcd50f9a6f71d17ed9ecec7597db7d2b3677e
7
- data.tar.gz: 3f120fdc1a1f6d37e4826bf2a41d24c96cd0af2259640a3981d3efc40bbbf9e132398b4fd144efbb9d1175045e841c973db82fd27f7c7c92221a07ed24d2dbc5
6
+ metadata.gz: 769fd6d87962f536ddad3bf40183d296e57361e555fd4687f9eb4dd11743933cb5952081a713f2ddf91afe4e226507012bc1dd43a583014da8316f21e524dc79
7
+ data.tar.gz: 0bd3f460a9121716645b553143d1810d5934c31d22bd2c004f7573cfd10a96311f2f1aba9178e185281d99518349e259ad04e1b9af444176ce8b3d2e0bce4148
data/README.md CHANGED
@@ -1,10 +1,15 @@
1
- # samanage-ruby
1
+ # Samanage Ruby Gem
2
2
 
3
3
  ## Requirements
4
- - Ruby >= 2.3.1
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
- query = api_controller.execute(http_method: 'get',
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 `http` response
25
+ - `:response`*:* unparsed http response
21
26
  - `:code`*:* http status code
22
27
  - `:json`*:* Samanage API json response
23
28
  - `:headers`*:* Response headers
@@ -1,15 +1,16 @@
1
+ $LOAD_PATH << File.dirname(__FILE__)
1
2
  require 'http'
2
3
 
3
- require_relative 'samanage/api'
4
- require_relative 'samanage/api/users'
5
- require_relative 'samanage/api/requester'
6
- require_relative 'samanage/api/hardwares'
7
- require_relative 'samanage/api/other_assets'
8
- require_relative 'samanage/api/incidents'
9
- require_relative 'samanage/api/custom_fields'
10
- require_relative 'samanage/api/custom_forms'
11
- require_relative 'samanage/error'
12
- require_relative 'samanage/url_builder'
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
@@ -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:, options: {})
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
@@ -19,7 +19,7 @@ module Samanage
19
19
  incidents
20
20
  end
21
21
 
22
- def create_incident(payload: , options: {})
22
+ def create_incident(payload: nil, options: {})
23
23
  api_call = self.execute(path: PATHS[:incident], http_method: 'post', payload: payload)
24
24
  api_call
25
25
  end
@@ -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
@@ -1,5 +1,5 @@
1
1
  module Samanage
2
- class Error < StandardError
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 < Error
13
+ class AuthorizationError < SamanageError
14
14
  end
15
15
 
16
- class InvalidRequest < Error
16
+ class InvalidRequest < SamanageError
17
17
  end
18
18
 
19
- class NotFound < Error
19
+ class NotFound < SamanageError
20
20
  end
21
21
  end
@@ -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.to_s
14
+ case path
15
15
  when /user/
16
16
  url += 'users'
17
17
  when /hardware/
@@ -1,11 +1,11 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'samanage'
3
- s.version = '1.5.4'
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 = 'chris.walls@samanage.com'
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
- require 'samanage'
2
-
3
- api_controller = Samanage::Api.new(token: 'SAMANAGE_TEST_API_TOKEN')
4
- puts api_controller
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
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: chris.walls@samanage.com
42
+ email: cwalls2908@gmail.com
43
43
  executables: []
44
44
  extensions: []
45
45
  extra_rdoc_files: []