ruby-miradore 0.1.0 → 0.2.1

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
  SHA256:
3
- metadata.gz: d8c368a1181c4b4fc018a7cc4a78a5a4dc68e681e6ff4ada43eee4fb412db6f4
4
- data.tar.gz: 4c09338936fa847d3f0cb02497db1ad0afa0515cdce7b8d268ff5d7e03728c0a
3
+ metadata.gz: ae4429c886f0c83f4f8e45ed0e5ca2c8a33b3c3b170e60c0061180a476ed5edf
4
+ data.tar.gz: f8ee91a7f7893fbc7a1b43976a5673ee0d8aed2e5cf40097862a182b5127e453
5
5
  SHA512:
6
- metadata.gz: 5bfc76b919333a1955dafe1c84ec0b5ec0ef4ad8572c5e6c4959a657a11b0a431838878c558688f1f124164a5f0fe2fc7cae8d830d7b927647ee9886542e77dc
7
- data.tar.gz: 2a97c7a25e6f859cc48fdba90f86036e3e93f68f39dc1e7a56144fda431d2a0d0bd674740ecb7e968e73d82472aef78e66583b76feec5927d4b28890f5b72c54
6
+ metadata.gz: 29c3cba4f3ec8e0708a737c9217de99caed9880bc3b24e56b220c5cac27f148e3acba2fb53a2715340a2ee379fa67ea5c12b4cfb66297a7477b515fc95e79520
7
+ data.tar.gz: 199c7dddd4b12a9c79ee411a9bdca3ac314afa12db5c9c7d5a0a63fc29151352fbf2834f51eba0a96cdb688ec2e7280aa4a036824ef7fd13f773c76e79ecbce2
data/Gemfile CHANGED
@@ -4,9 +4,3 @@ source "https://rubygems.org"
4
4
 
5
5
  # Specify your gem's dependencies in ruby-miradore.gemspec
6
6
  gemspec
7
-
8
- gem "rake", "~> 13.0"
9
- gem "rspec", "~> 3.0"
10
- gem "rubocop", "~> 1.7"
11
- gem "httparty"
12
- gem "finest-builder", "~> 0.0.4"
data/Gemfile.lock ADDED
@@ -0,0 +1,69 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ ruby-miradore (0.2.1)
5
+ crack (~> 0.4.5)
6
+ finest-builder (~> 0.0.4)
7
+ httparty (~> 0.18.1)
8
+ rake (~> 13.0)
9
+ rspec (~> 3.0)
10
+ rubocop (~> 1.7)
11
+
12
+ GEM
13
+ remote: https://rubygems.org/
14
+ specs:
15
+ ast (2.4.2)
16
+ crack (0.4.5)
17
+ rexml
18
+ diff-lcs (1.4.4)
19
+ finest-builder (0.0.5)
20
+ httparty (0.18.1)
21
+ mime-types (~> 3.0)
22
+ multi_xml (>= 0.5.2)
23
+ mime-types (3.3.1)
24
+ mime-types-data (~> 3.2015)
25
+ mime-types-data (3.2021.0225)
26
+ multi_xml (0.6.0)
27
+ parallel (1.20.1)
28
+ parser (3.0.1.1)
29
+ ast (~> 2.4.1)
30
+ rainbow (3.0.0)
31
+ rake (13.0.3)
32
+ regexp_parser (2.1.1)
33
+ rexml (3.2.5)
34
+ rspec (3.10.0)
35
+ rspec-core (~> 3.10.0)
36
+ rspec-expectations (~> 3.10.0)
37
+ rspec-mocks (~> 3.10.0)
38
+ rspec-core (3.10.1)
39
+ rspec-support (~> 3.10.0)
40
+ rspec-expectations (3.10.1)
41
+ diff-lcs (>= 1.2.0, < 2.0)
42
+ rspec-support (~> 3.10.0)
43
+ rspec-mocks (3.10.2)
44
+ diff-lcs (>= 1.2.0, < 2.0)
45
+ rspec-support (~> 3.10.0)
46
+ rspec-support (3.10.2)
47
+ rubocop (1.13.0)
48
+ parallel (~> 1.10)
49
+ parser (>= 3.0.0.0)
50
+ rainbow (>= 2.2.2, < 4.0)
51
+ regexp_parser (>= 1.8, < 3.0)
52
+ rexml
53
+ rubocop-ast (>= 1.2.0, < 2.0)
54
+ ruby-progressbar (~> 1.7)
55
+ unicode-display_width (>= 1.4.0, < 3.0)
56
+ rubocop-ast (1.5.0)
57
+ parser (>= 3.0.1.1)
58
+ ruby-progressbar (1.11.0)
59
+ unicode-display_width (2.0.0)
60
+
61
+ PLATFORMS
62
+ x86_64-darwin-20
63
+ x86_64-linux
64
+
65
+ DEPENDENCIES
66
+ ruby-miradore!
67
+
68
+ BUNDLED WITH
69
+ 2.2.15
data/lib/ruby/miradore.rb CHANGED
@@ -1,15 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "miradore/version"
4
+ require 'httparty'
5
+ require 'json'
6
+ require 'crack/xml'
7
+ require 'finest/builder'
4
8
 
5
9
  module Ruby
6
10
  module Miradore
7
- class Error < StandardError; end
8
-
9
- @@msp_api_key = ENV['MSP_API_KEY']
11
+ class MspConnectionError < StandardError; end
10
12
 
11
13
  def self.api_key
12
- @@msp_api_key
14
+ @@msp_api_key = ENV['MSP_API_KEY']
13
15
  end
14
16
 
15
17
  def self.api_urls
@@ -23,19 +25,22 @@ module Ruby
23
25
  Miradore::api_urls[version] % { subdomain: args[0], id: args[1], method: args[2], auth: Miradore::api_key }
24
26
  end
25
27
 
26
- class Request
28
+ class Listing
27
29
  include HTTParty
28
30
  format :json
29
31
 
30
32
  attr_reader :subdomain
31
33
 
32
34
  def self.all(subdomain, *args)
33
- response = JSON.parse(Hash.from_trusted_xml(get(Miradore::url(:v1, subdomain)).body).to_json, :quirks_mode => true).dig("Content", "Items", "Device")
35
+ response = JSON.parse(Crack::XML.parse(get(Miradore::url(:v1, subdomain)).body).to_json, :quirks_mode => true).dig("Content", "Items", "Device")
36
+
34
37
  if response.is_a?(Array)
35
38
  response.map! { |e| Device.new(e.transform_keys(&:downcase), subdomain) }
36
39
  else
37
40
  Device.new(response.transform_keys(&:downcase), subdomain)
38
41
  end
42
+ rescue StandardError
43
+ raise MspConnectionError.new("Error connecting to manager service provider")
39
44
  end
40
45
 
41
46
  end
@@ -78,6 +83,8 @@ module Ruby
78
83
  def http_method(*args)
79
84
  self.class.headers 'X-API-Key' => Miradore::api_key
80
85
  self.class.method(args[0]).call(Miradore::url(:v2, subdomain, args[1], args[2]))
86
+ rescue StandardError
87
+ raise MspConnectionError.new("Error connecting to manager service provider")
81
88
  end
82
89
 
83
90
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ruby
4
4
  module Miradore
5
- VERSION = "0.1.0"
5
+ VERSION = "0.2.1"
6
6
  end
7
7
  end
Binary file
Binary file
@@ -31,6 +31,12 @@ Gem::Specification.new do |spec|
31
31
 
32
32
  # Uncomment to register a new dependency of your gem
33
33
  # spec.add_dependency "example-gem", "~> 1.0"
34
+ spec.add_dependency "rake", "~> 13.0"
35
+ spec.add_dependency "rspec", "~> 3.0"
36
+ spec.add_dependency "rubocop", "~> 1.7"
37
+ spec.add_dependency "httparty", "~> 0.18.1"
38
+ spec.add_dependency "finest-builder", "~> 0.0.4"
39
+ spec.add_dependency "crack", "~> 0.4.5"
34
40
 
35
41
  # For more information and examples about making a new gem, checkout our
36
42
  # guide at: https://bundler.io/guides/creating_gem.html
metadata CHANGED
@@ -1,15 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-miradore
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduard
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-29 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2021-05-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '13.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '13.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.7'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.7'
55
+ - !ruby/object:Gem::Dependency
56
+ name: httparty
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.18.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.18.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: finest-builder
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.0.4
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.0.4
83
+ - !ruby/object:Gem::Dependency
84
+ name: crack
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.4.5
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.4.5
13
97
  description: Miradore MSP Ruby Gem
14
98
  email:
15
99
  - eduard@rzilient.club
@@ -24,6 +108,7 @@ files:
24
108
  - CHANGELOG.md
25
109
  - CODE_OF_CONDUCT.md
26
110
  - Gemfile
111
+ - Gemfile.lock
27
112
  - LICENSE.txt
28
113
  - README.md
29
114
  - Rakefile
@@ -31,6 +116,8 @@ files:
31
116
  - bin/setup
32
117
  - lib/ruby/miradore.rb
33
118
  - lib/ruby/miradore/version.rb
119
+ - ruby-miradore-0.1.0.gem
120
+ - ruby-miradore-0.1.1.gem
34
121
  - ruby-miradore.gemspec
35
122
  homepage: https://github.com/eddygarcas/ruby-miradore
36
123
  licenses:
@@ -55,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
55
142
  - !ruby/object:Gem::Version
56
143
  version: '0'
57
144
  requirements: []
58
- rubygems_version: 3.1.4
145
+ rubygems_version: 3.1.6
59
146
  signing_key:
60
147
  specification_version: 4
61
148
  summary: Miradore is a MSP providing an API to get devices information as well s perform