samanage 1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.DS_Store +0 -0
- data/.gitignore +3 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +83 -0
- data/Guardfile +23 -0
- data/LICENSE +674 -0
- data/README.md +1 -0
- data/lib/.DS_Store +0 -0
- data/lib/samanage.rb +15 -0
- data/lib/samanage/.DS_Store +0 -0
- data/lib/samanage/api.rb +83 -0
- data/lib/samanage/api/custom_fields.rb +20 -0
- data/lib/samanage/api/custom_forms.rb +41 -0
- data/lib/samanage/api/hardwares.rb +47 -0
- data/lib/samanage/api/incidents.rb +39 -0
- data/lib/samanage/api/other_assets.rb +40 -0
- data/lib/samanage/api/requester.rb +9 -0
- data/lib/samanage/api/users.rb +48 -0
- data/lib/samanage/error.rb +21 -0
- data/lib/samanage/url_builder.rb +49 -0
- data/lib/test.rb +4 -0
- data/samanage.gemspec +13 -0
- data/spec/api/samanage_custom_field_spec.rb +16 -0
- data/spec/api/samanage_custom_form_spec.rb +28 -0
- data/spec/api/samanage_hardware_spec.rb +76 -0
- data/spec/api/samanage_incident_spec.rb +79 -0
- data/spec/api/samanage_other_asset_spec.rb +84 -0
- data/spec/api/samanage_user_spec.rb +74 -0
- data/spec/samanage_api_spec.rb +30 -0
- data/spec/samanage_url_builder_spec.rb +18 -0
- data/spec/spec_helper.rb +9 -0
- data/test.rb +4 -0
- metadata +75 -0
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'samanage'
|
2
|
+
|
3
|
+
describe Samanage::Api do
|
4
|
+
context 'Custom Field' do
|
5
|
+
describe 'API Functions' do
|
6
|
+
before(:each) do
|
7
|
+
TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
|
8
|
+
@controller = Samanage::Api.new(token: TOKEN)
|
9
|
+
end
|
10
|
+
it 'collects all custom fields' do
|
11
|
+
api_call = @controller.collect_custom_fields
|
12
|
+
expect(api_call).to be_a(Array)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'samanage'
|
2
|
+
|
3
|
+
describe Samanage::Api do
|
4
|
+
context 'Custom Form' do
|
5
|
+
describe 'API Functions' do
|
6
|
+
before(:each) do
|
7
|
+
TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
|
8
|
+
@controller = Samanage::Api.new(token: TOKEN, development_mode: true)
|
9
|
+
end
|
10
|
+
it 'collects all custom forms' do
|
11
|
+
api_call = @controller.collect_custom_forms
|
12
|
+
expect(api_call).to be_a(Array)
|
13
|
+
end
|
14
|
+
it 'Organizes custom forms by module' do
|
15
|
+
api_call = @controller.organize_forms
|
16
|
+
expect(api_call).to be_a(Hash)
|
17
|
+
expect(api_call.keys).to be_an(Array)
|
18
|
+
expect(api_call[api_call.keys.sample].sample).to be_a(Hash)
|
19
|
+
end
|
20
|
+
it 'Finds the forms for an object_type' do
|
21
|
+
object_types = ['incident', 'user','other_asset','hardware','configuration_item']
|
22
|
+
form = @controller.form_for(object_type: object_types.sample)
|
23
|
+
expect(form).to be_an(Array)
|
24
|
+
expect(form.sample.keys).to include('custom_form_fields')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'samanage'
|
2
|
+
|
3
|
+
describe Samanage::Api do
|
4
|
+
context 'Hardware' do
|
5
|
+
describe 'API Functions' do
|
6
|
+
before(:each) do
|
7
|
+
TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
|
8
|
+
@controller = Samanage::Api.new(token: TOKEN)
|
9
|
+
end
|
10
|
+
it 'get_hardwares: it returns API call of hardwares' do
|
11
|
+
api_call = @controller.get_hardwares
|
12
|
+
expect(api_call).to be_a(Hash)
|
13
|
+
expect(api_call[:total_count]).to be_an(Integer)
|
14
|
+
expect(api_call).to have_key(:response)
|
15
|
+
expect(api_call).to have_key(:code)
|
16
|
+
end
|
17
|
+
it 'collect_hardwares: collects array of hardwares' do
|
18
|
+
hardwares = @controller.collect_hardwares
|
19
|
+
hardware_count = @controller.get_hardwares[:total_count]
|
20
|
+
expect(hardwares).to be_an(Array)
|
21
|
+
expect(hardwares.size).to eq(hardware_count)
|
22
|
+
end
|
23
|
+
it 'create_hardware(payload: json): creates a hardware' do
|
24
|
+
hardware_name = "samanage-ruby-#{(rand*10**10).ceil}"
|
25
|
+
serial_number = (0...50).map { ('a'..'z').to_a[rand(26)] }.join
|
26
|
+
json = {
|
27
|
+
:hardware => {
|
28
|
+
:name => hardware_name,
|
29
|
+
:bio => {:ssn => serial_number},
|
30
|
+
}
|
31
|
+
}
|
32
|
+
hardware_create = @controller.create_hardware(payload: json.to_json)
|
33
|
+
|
34
|
+
expect(hardware_create[:data]['id']).to be_an(Integer)
|
35
|
+
expect(hardware_create[:data]['name']).to eq(hardware_name)
|
36
|
+
expect(hardware_create[:code]).to eq(201).or(200)
|
37
|
+
end
|
38
|
+
it 'create_hardware: fails if no serial' do
|
39
|
+
hardware_name = "samanage-ruby-#{(rand*10**10).ceil}"
|
40
|
+
json = {
|
41
|
+
:hardware => {
|
42
|
+
:name => hardware_name,
|
43
|
+
}
|
44
|
+
}
|
45
|
+
expect{@controller.create_hardware(payload: json.to_json)}.to raise_error(Samanage::InvalidRequest)
|
46
|
+
end
|
47
|
+
it 'find_hardware: returns a hardware card by known id' do
|
48
|
+
hardwares = @controller.collect_hardwares
|
49
|
+
sample_id = hardwares.sample['id']
|
50
|
+
hardware = @controller.find_hardware(id: sample_id)
|
51
|
+
|
52
|
+
expect(hardware[:data]['id']).to eq(sample_id) # id should match found hardware
|
53
|
+
expect(hardware[:data]).to have_key('name')
|
54
|
+
expect(hardware[:data]).to have_key('serial_number')
|
55
|
+
expect(hardware[:data]).to have_key('id')
|
56
|
+
end
|
57
|
+
it 'find_hardware: returns nothing for an invalid id' do
|
58
|
+
sample_id = (0..10).entries.sample
|
59
|
+
expect{@controller.find_hardware(id: sample_id)}.to raise_error(Samanage::NotFound) # id should match found hardware
|
60
|
+
end
|
61
|
+
it 'update_hardware: update_hardware by id' do
|
62
|
+
hardwares = @controller.collect_hardwares
|
63
|
+
sample_id = hardwares.sample['id']
|
64
|
+
new_name = (0...50).map { ('a'..'z').to_a[rand(26)] }.join
|
65
|
+
json = {
|
66
|
+
:hardware => {
|
67
|
+
:name => new_name
|
68
|
+
}
|
69
|
+
}
|
70
|
+
hardware_update = @controller.update_hardware(payload: json.to_json, id: sample_id)
|
71
|
+
expect(hardware_update[:data]["name"]).to eq(new_name)
|
72
|
+
expect(hardware_update[:code]).to eq(200).or(201)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'samanage'
|
2
|
+
|
3
|
+
describe Samanage::Api do
|
4
|
+
context 'Incidents' do
|
5
|
+
describe 'API Functions' do
|
6
|
+
before(:each) do
|
7
|
+
TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
|
8
|
+
@controller = Samanage::Api.new(token: TOKEN)
|
9
|
+
end
|
10
|
+
it 'get_incidents: it returns API call of incidents' do
|
11
|
+
api_call = @controller.get_incidents
|
12
|
+
expect(api_call).to be_a(Hash)
|
13
|
+
expect(api_call[:total_count]).to be_an(Integer)
|
14
|
+
expect(api_call).to have_key(:response)
|
15
|
+
expect(api_call).to have_key(:code)
|
16
|
+
end
|
17
|
+
it 'collect_incidents: collects array of incidents' do
|
18
|
+
incidents = @controller.collect_incidents
|
19
|
+
incident_count = @controller.get_incidents[:total_count]
|
20
|
+
expect(incidents).to be_an(Array)
|
21
|
+
expect(incidents.size).to eq(incident_count)
|
22
|
+
end
|
23
|
+
it 'create_incident(payload: json): creates a incident' do
|
24
|
+
users_email = @controller.collect_users.sample['email']
|
25
|
+
serial_number = (0...50).map { ('a'..'z').to_a[rand(26)] }.join
|
26
|
+
incident_name = "Samanage Ruby Incident"
|
27
|
+
json = {
|
28
|
+
:incident => {
|
29
|
+
:requester => {:email => users_email},
|
30
|
+
:name => incident_name,
|
31
|
+
:description => "Description"
|
32
|
+
}
|
33
|
+
}
|
34
|
+
incident_create = @controller.create_incident(payload: json.to_json)
|
35
|
+
|
36
|
+
expect(incident_create[:data]['id']).to be_an(Integer)
|
37
|
+
expect(incident_create[:data]['name']).to eq(incident_name)
|
38
|
+
expect(incident_create[:code]).to eq(200).or(201)
|
39
|
+
end
|
40
|
+
it 'create_incident: fails if no name/title' do
|
41
|
+
users_email = @controller.collect_users.sample['email']
|
42
|
+
json = {
|
43
|
+
:incident => {
|
44
|
+
:requester => {:email => users_email},
|
45
|
+
:description => "Description"
|
46
|
+
}
|
47
|
+
}
|
48
|
+
expect{@controller.create_incident(payload: json.to_json)}.to raise_error(Samanage::InvalidRequest)
|
49
|
+
end
|
50
|
+
it 'find_incident: returns a incident card by known id' do
|
51
|
+
incidents = @controller.collect_incidents
|
52
|
+
sample_id = incidents.sample['id']
|
53
|
+
incident = @controller.find_incident(id: sample_id)
|
54
|
+
|
55
|
+
expect(incident[:data]['id']).to eq(sample_id) # id should match found incident
|
56
|
+
expect(incident[:data]).to have_key('name')
|
57
|
+
expect(incident[:data]).to have_key('requester')
|
58
|
+
expect(incident[:data]).to have_key('id')
|
59
|
+
end
|
60
|
+
it 'find_incident: returns nothing for an invalid id' do
|
61
|
+
sample_id = (0..10).entries.sample
|
62
|
+
expect{@controller.find_incident(id: sample_id)}.to raise_error(Samanage::NotFound) # id should match found incident
|
63
|
+
end
|
64
|
+
it 'update_incident: update_incident by id' do
|
65
|
+
incidents = @controller.collect_incidents
|
66
|
+
sample_id = incidents.sample['id']
|
67
|
+
new_name = (0...50).map { ('a'..'z').to_a[rand(26)] }.join
|
68
|
+
json = {
|
69
|
+
:incident => {
|
70
|
+
:name => new_name
|
71
|
+
}
|
72
|
+
}
|
73
|
+
incident_update = @controller.update_incident(payload: json.to_json, id: sample_id)
|
74
|
+
expect(incident_update[:data]["name"]).to eq(new_name)
|
75
|
+
expect(incident_update[:code]).to eq(200).or(201)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
require 'samanage'
|
2
|
+
|
3
|
+
describe Samanage::Api do
|
4
|
+
context 'Other Assets' do
|
5
|
+
describe 'API Functions' do
|
6
|
+
before(:each) do
|
7
|
+
TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
|
8
|
+
@controller = Samanage::Api.new(token: TOKEN)
|
9
|
+
end
|
10
|
+
it 'get_other_assets: it returns API call of other_assets' do
|
11
|
+
api_call = @controller.get_other_assets
|
12
|
+
expect(api_call).to be_a(Hash)
|
13
|
+
expect(api_call[:total_count]).to be_an(Integer)
|
14
|
+
expect(api_call).to have_key(:response)
|
15
|
+
expect(api_call).to have_key(:code)
|
16
|
+
end
|
17
|
+
it 'collect_other_assets: collects array of other_assets' do
|
18
|
+
other_assets = @controller.collect_other_assets
|
19
|
+
expect(other_assets).to be_an(Array)
|
20
|
+
end
|
21
|
+
it 'create_other_asset(payload: json): creates a other_asset' do
|
22
|
+
other_asset_name = "samanage-ruby-#{(rand*10**10).ceil}"
|
23
|
+
json = {
|
24
|
+
:other_asset => {
|
25
|
+
:name => other_asset_name,
|
26
|
+
:manufacturer => 'Samanage',
|
27
|
+
:asset_type => {:name => "Asset"},
|
28
|
+
:status => {:name => "Operational"}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
other_asset_create = @controller.create_other_asset(payload: json.to_json)
|
33
|
+
expect(other_asset_create[:data]['id']).to be_an(Integer)
|
34
|
+
expect(other_asset_create[:data]['name']).to eq(other_asset_name)
|
35
|
+
expect(other_asset_create[:code]).to eq(200).or(201)
|
36
|
+
end
|
37
|
+
it 'create_other_asset: fails if wrong fields' do
|
38
|
+
other_asset_name = "samanage-ruby-#{(rand*10**10).ceil}"
|
39
|
+
json = {
|
40
|
+
:other_asset => {
|
41
|
+
:name => other_asset_name,
|
42
|
+
:manufacturer => 'Samanage',
|
43
|
+
:asset_type => {:name => "Asset"},
|
44
|
+
:status => {:name => "Operational"}
|
45
|
+
}
|
46
|
+
}
|
47
|
+
json[:other_asset].delete(json[:other_asset].keys.sample) # Delete random sample from the examples above
|
48
|
+
expect{@controller.create_other_asset(payload: json.to_json)}.to raise_error(Samanage::InvalidRequest)
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'find_other_asset: returns an other_asset card by known id' do
|
52
|
+
other_assets = @controller.collect_other_assets
|
53
|
+
puts "Found ##{other_assets.size} other assets"
|
54
|
+
puts ".sample ##{other_assets.sample}"
|
55
|
+
puts ".sample['id'] ##{other_assets.sample['id']}"
|
56
|
+
sample_id = other_assets.sample['id']
|
57
|
+
|
58
|
+
other_asset = @controller.find_other_asset(id: sample_id)
|
59
|
+
|
60
|
+
expect(other_asset[:data]['id']).to eq(sample_id) # id should match found other_asset
|
61
|
+
expect(other_asset[:data]).to have_key('name')
|
62
|
+
expect(other_asset[:data]).to have_key('serial_number')
|
63
|
+
expect(other_asset[:data]).to have_key('id')
|
64
|
+
end
|
65
|
+
it 'find_other_asset: returns nothing for an invalid id' do
|
66
|
+
sample_id = (0..10).entries.sample
|
67
|
+
expect{@controller.find_other_asset(id: sample_id)}.to raise_error(Samanage::NotFound) # id should match found other_asset
|
68
|
+
end
|
69
|
+
it 'update_other_asset: update_other_asset by id' do
|
70
|
+
other_assets = @controller.collect_other_assets
|
71
|
+
sample_id = other_assets.sample['id']
|
72
|
+
new_name = (0...50).map { ('a'..'z').to_a[rand(26)] }.join
|
73
|
+
json = {
|
74
|
+
:other_asset => {
|
75
|
+
:name => new_name
|
76
|
+
}
|
77
|
+
}
|
78
|
+
other_asset_update = @controller.update_other_asset(payload: json.to_json, id: sample_id)
|
79
|
+
expect(other_asset_update[:data]["name"]).to eq(new_name)
|
80
|
+
expect(other_asset_update[:code]).to eq(200).or(201)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'samanage'
|
2
|
+
|
3
|
+
describe Samanage::Api do
|
4
|
+
context 'Users' do
|
5
|
+
before(:each) do
|
6
|
+
TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
|
7
|
+
@controller = Samanage::Api.new(token: TOKEN)
|
8
|
+
end
|
9
|
+
describe 'API Functions' do
|
10
|
+
it 'get_users: it returns API call of users' do
|
11
|
+
api_call = @controller.get_users
|
12
|
+
expect(api_call).to be_a(Hash)
|
13
|
+
expect(api_call[:total_count]).to be_an(Integer)
|
14
|
+
expect(api_call).to have_key(:response)
|
15
|
+
expect(api_call).to have_key(:code)
|
16
|
+
end
|
17
|
+
it 'collect_users: collects array of users' do
|
18
|
+
users = @controller.collect_users
|
19
|
+
user_count = @controller.get_users[:total_count]
|
20
|
+
expect(users).to be_an(Array)
|
21
|
+
expect(users.size).to eq(user_count)
|
22
|
+
end
|
23
|
+
it 'create_user(payload: json): creates a user' do
|
24
|
+
user_name = "samanage-ruby-#{(rand*10**10).ceil}"
|
25
|
+
email = user_name + "@samanage.com"
|
26
|
+
json = {
|
27
|
+
:user => {
|
28
|
+
:name => user_name,
|
29
|
+
:email => email,
|
30
|
+
}
|
31
|
+
}
|
32
|
+
user_create = @controller.create_user(payload: json.to_json)
|
33
|
+
expect(user_create[:data]['email']).to eq(email)
|
34
|
+
expect(user_create[:data]['id']).to be_an(Integer)
|
35
|
+
expect(user_create[:data]['name']).to eq(user_name)
|
36
|
+
expect(user_create[:code]).to eq(200).or(201)
|
37
|
+
end
|
38
|
+
it 'create_user: fails if no email' do
|
39
|
+
user_name = "samanage-ruby-#{(rand*10**10).ceil}"
|
40
|
+
json = {
|
41
|
+
:user => {
|
42
|
+
:name => user_name,
|
43
|
+
}
|
44
|
+
}
|
45
|
+
expect{@controller.create_user(payload: json.to_json)}.to raise_error(Samanage::InvalidRequest)
|
46
|
+
end
|
47
|
+
it 'find_user: returns a user card by known id' do
|
48
|
+
users = @controller.collect_users
|
49
|
+
sample_id = users.sample['id']
|
50
|
+
user = @controller.find_user(id: sample_id)
|
51
|
+
expect(user[:data]['id']).to eq(sample_id) # id should match found user
|
52
|
+
expect(user[:data]).to have_key('email')
|
53
|
+
expect(user[:data]).to have_key('name')
|
54
|
+
end
|
55
|
+
it 'find_user: returns nothing for an invalid id' do
|
56
|
+
sample_id = (0..10).entries.sample
|
57
|
+
expect{@controller.find_user(id: sample_id)}.to raise_error(Samanage::NotFound) # id should match found user
|
58
|
+
end
|
59
|
+
it 'update_user: update_user by id' do
|
60
|
+
users = @controller.collect_users
|
61
|
+
sample_id = users.sample['id']
|
62
|
+
new_name = (0...25).map { ('a'..'z').to_a[rand(26)] }.join
|
63
|
+
json = {
|
64
|
+
:user => {
|
65
|
+
:name => new_name
|
66
|
+
}
|
67
|
+
}
|
68
|
+
user_update = @controller.update_user(payload: json.to_json, id: sample_id)
|
69
|
+
expect(user_update[:data]["name"]).to eq(new_name)
|
70
|
+
expect(user_update[:code]).to eq(200).or(201)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
describe Samanage do
|
3
|
+
describe 'API Controller' do
|
4
|
+
before(:each) do
|
5
|
+
TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
|
6
|
+
end
|
7
|
+
context 'on creation' do
|
8
|
+
it 'Requires Email & Token' do
|
9
|
+
expect{ Samanage::Api.new() }.to raise_error(ArgumentError)
|
10
|
+
expect{ Samanage::Api.new(token: "invalid token") }.to raise_error(Samanage::AuthorizationError)
|
11
|
+
expect{ Samanage::Api.new(token: TOKEN) }.to_not raise_error
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'Validates Credentials on Creation' do
|
15
|
+
# Valid Credentials
|
16
|
+
expect(Samanage::Api.new(token: TOKEN)).to be_an_instance_of(Samanage::Api)
|
17
|
+
# Invalid / Reversed Credentials
|
18
|
+
expect{Samanage::Api.new(token: 'invalid')}.to raise_error(Samanage::AuthorizationError)
|
19
|
+
expect(Samanage::Api.new(token: TOKEN).custom_forms).to be(nil)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'Finds all custom forms in development mode' do
|
23
|
+
api_controller = Samanage::Api.new(token: TOKEN, development_mode: true)
|
24
|
+
expect(api_controller).to be_an_instance_of(Samanage::Api)
|
25
|
+
expect(api_controller.custom_forms).not_to be(nil)
|
26
|
+
expect(api_controller.custom_forms).to be_a(Hash)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'samanage'
|
2
|
+
describe Samanage::UrlBuilder do
|
3
|
+
context 'Url Builder' do
|
4
|
+
it 'Strips down to id' do
|
5
|
+
path = ['users.json','hardwares/1234']
|
6
|
+
options = [
|
7
|
+
{:id => '1234'},
|
8
|
+
{:id => 12345, :email => 'abc@company.com'},
|
9
|
+
{:email => 'abc', :name => 'Joe Doe'},
|
10
|
+
{:site => 0001, :id => 1234}
|
11
|
+
]
|
12
|
+
25.times {
|
13
|
+
url = Samanage::UrlBuilder.new(path: path.sample, options: options.sample).url
|
14
|
+
expect(url).to be_a(String)
|
15
|
+
}
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
spec_dir = File.expand_path(File.dirname(__FILE__))
|
2
|
+
root_dir = File.expand_path(File.join(spec_dir, '..'))
|
3
|
+
lib_dir = File.expand_path(File.join(root_dir, 'lib'))
|
4
|
+
|
5
|
+
$LOAD_PATH.unshift(spec_dir)
|
6
|
+
$LOAD_PATH.unshift(lib_dir)
|
7
|
+
$LOAD_PATH.uniq!
|
8
|
+
|
9
|
+
require 'samanage'
|
data/test.rb
ADDED
metadata
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: samanage
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '1.4'
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Chris Walls
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-01-01 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: Connect to Samanage using Ruby!
|
14
|
+
email: chris.walls@samanage.com
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- ".DS_Store"
|
20
|
+
- ".gitignore"
|
21
|
+
- Gemfile
|
22
|
+
- Gemfile.lock
|
23
|
+
- Guardfile
|
24
|
+
- LICENSE
|
25
|
+
- README.md
|
26
|
+
- lib/.DS_Store
|
27
|
+
- lib/samanage.rb
|
28
|
+
- lib/samanage/.DS_Store
|
29
|
+
- lib/samanage/api.rb
|
30
|
+
- lib/samanage/api/custom_fields.rb
|
31
|
+
- lib/samanage/api/custom_forms.rb
|
32
|
+
- lib/samanage/api/hardwares.rb
|
33
|
+
- lib/samanage/api/incidents.rb
|
34
|
+
- lib/samanage/api/other_assets.rb
|
35
|
+
- lib/samanage/api/requester.rb
|
36
|
+
- lib/samanage/api/users.rb
|
37
|
+
- lib/samanage/error.rb
|
38
|
+
- lib/samanage/url_builder.rb
|
39
|
+
- lib/test.rb
|
40
|
+
- samanage.gemspec
|
41
|
+
- spec/api/samanage_custom_field_spec.rb
|
42
|
+
- spec/api/samanage_custom_form_spec.rb
|
43
|
+
- spec/api/samanage_hardware_spec.rb
|
44
|
+
- spec/api/samanage_incident_spec.rb
|
45
|
+
- spec/api/samanage_other_asset_spec.rb
|
46
|
+
- spec/api/samanage_user_spec.rb
|
47
|
+
- spec/samanage_api_spec.rb
|
48
|
+
- spec/samanage_url_builder_spec.rb
|
49
|
+
- spec/spec_helper.rb
|
50
|
+
- test.rb
|
51
|
+
homepage: http://rubygems.org/gems/samanage
|
52
|
+
licenses:
|
53
|
+
- MIT
|
54
|
+
metadata: {}
|
55
|
+
post_install_message:
|
56
|
+
rdoc_options: []
|
57
|
+
require_paths:
|
58
|
+
- lib
|
59
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
64
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
requirements: []
|
70
|
+
rubyforge_project:
|
71
|
+
rubygems_version: 2.5.2
|
72
|
+
signing_key:
|
73
|
+
specification_version: 4
|
74
|
+
summary: Samanage Ruby Gem
|
75
|
+
test_files: []
|