statscloud 1.1.0 → 1.1.1
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/Gemfile.lock +1 -1
- data/lib/statscloud/cluster_client.rb +13 -2
- data/lib/statscloud/helpers/{parsed_response_helper.rb → cluster_client/parsed_response_helper.rb} +3 -10
- data/lib/statscloud/helpers/json_parser.rb +24 -0
- data/lib/statscloud/helpers/logger_helper.rb +6 -2
- data/lib/statscloud/helpers/{assets_helper.rb → statscloud_client/assets_helper.rb} +0 -0
- data/lib/statscloud/helpers/{statscloud_helper.rb → statscloud_client/statscloud_helper.rb} +2 -1
- data/lib/statscloud/helpers/{event_helper.rb → statsmeter_client/event_helper.rb} +0 -0
- data/lib/statscloud/helpers/{socketio_helper.rb → statsmeter_client/socketio_helper.rb} +1 -1
- data/lib/statscloud/helpers/{statsmeter_helper.rb → statsmeter_client/statsmeter_helper.rb} +0 -0
- data/lib/statscloud/statscloud_client.rb +6 -4
- data/lib/statscloud/statsmeter_client.rb +3 -3
- data/lib/statscloud/version.rb +1 -1
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 453bc5a93478f283118f53760a2e4d317991430fe3c456099cf4bba6c60980ed
|
4
|
+
data.tar.gz: f92c79947fc8e0d8ce281e2ee53021aca4b5b256eb421dfb763f31520dfa5b7b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6570bb5634c9f84c47b8faad0d9c8fe0a38735cb5b82d84c0136bbacc5f48e4aaeb158f865991a2823ad332121849f3c15d4f4ee64f65dce23457c12aad549d
|
7
|
+
data.tar.gz: ba903954aa9544c4314e6e5ff933f5cb9d6ccb26a1f6069cac1c10816657d7dcc35e7275f67f1f2fdd4c32331bf2e7ccd8f53bcc1c76dbbf0c0caa84566d0fa0
|
data/Gemfile.lock
CHANGED
@@ -2,12 +2,15 @@
|
|
2
2
|
|
3
3
|
require "rest-client"
|
4
4
|
|
5
|
-
require_relative "
|
6
|
-
require_relative "
|
5
|
+
require_relative "helpers/json_parser"
|
6
|
+
require_relative "helpers/logger_helper"
|
7
|
+
require_relative "helpers/cluster_client/parsed_response_helper"
|
8
|
+
require_relative "errors/client_error"
|
7
9
|
|
8
10
|
module StatsCloud
|
9
11
|
# statscloud.io cluster-api service client.
|
10
12
|
class ClusterClient
|
13
|
+
include StatsCloud::JsonParser
|
11
14
|
include StatsCloud::LoggerHelper
|
12
15
|
|
13
16
|
# Constructs cluster-api service client instance.
|
@@ -53,6 +56,10 @@ module StatsCloud
|
|
53
56
|
body = body_hash_parameters(configuration)
|
54
57
|
response = http_client.put(url, body.to_json, headers(token))
|
55
58
|
get_parsed_response(response)
|
59
|
+
rescue RestClient::ExceptionWithResponse => error
|
60
|
+
error_info = convert_to_pretty_json(error.http_body)
|
61
|
+
logger($stdout).error error_info
|
62
|
+
raise statscloud_client_error(error_info)
|
56
63
|
end
|
57
64
|
|
58
65
|
# Schedules cluster to be undeployed.
|
@@ -109,6 +116,10 @@ module StatsCloud
|
|
109
116
|
}
|
110
117
|
end
|
111
118
|
|
119
|
+
def statscloud_client_error(message)
|
120
|
+
StatsCloud::ClientError.new(message)
|
121
|
+
end
|
122
|
+
|
112
123
|
def get_parsed_response(response)
|
113
124
|
StatsCloud::ParsedResponseHelper.new(response)
|
114
125
|
end
|
data/lib/statscloud/helpers/{parsed_response_helper.rb → cluster_client/parsed_response_helper.rb}
RENAMED
@@ -1,10 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require_relative "../json_parser"
|
4
4
|
|
5
5
|
module StatsCloud
|
6
6
|
# This helper works to parse response from the server to convenient object.
|
7
7
|
class ParsedResponseHelper
|
8
|
+
include StatsCloud::JsonParser
|
8
9
|
# RestClient json-parsed response body.
|
9
10
|
#
|
10
11
|
# Type: *Hash*
|
@@ -21,15 +22,7 @@ module StatsCloud
|
|
21
22
|
# response from the cluster.
|
22
23
|
def initialize(response)
|
23
24
|
@code = response&.code
|
24
|
-
@body = parse_json(response.body)
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
|
29
|
-
def parse_json(json, default = nil)
|
30
|
-
JSON.parse(json)
|
31
|
-
rescue JSON::ParserError
|
32
|
-
default
|
25
|
+
@body = parse_json(response.body, nil)
|
33
26
|
end
|
34
27
|
end
|
35
28
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module StatsCloud
|
6
|
+
# Json Parser helper.
|
7
|
+
module JsonParser
|
8
|
+
def parse_json(json, default = {})
|
9
|
+
json_service.parse(json)
|
10
|
+
rescue JSON::ParserError
|
11
|
+
default
|
12
|
+
end
|
13
|
+
|
14
|
+
def convert_to_pretty_json(json)
|
15
|
+
json_service.pretty_generate parse_json(json)
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def json_service
|
21
|
+
JSON
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -6,9 +6,9 @@ module StatsCloud
|
|
6
6
|
# This helper works to help log errors and info about StatsCloud service work.
|
7
7
|
module LoggerHelper
|
8
8
|
# Log information about work to standard output
|
9
|
-
def logger
|
9
|
+
def logger(output = default_output)
|
10
10
|
file_utils.mkdir_p "log"
|
11
|
-
@logger ||= logger_service.new(
|
11
|
+
@logger ||= logger_service.new(output).tap do |log|
|
12
12
|
log.progname = "StatsCloud"
|
13
13
|
end
|
14
14
|
end
|
@@ -31,6 +31,10 @@ module StatsCloud
|
|
31
31
|
|
32
32
|
attr_reader :last_error_log_at, :last_info_log_at
|
33
33
|
|
34
|
+
def default_output
|
35
|
+
File.join("log", "statscloud.log")
|
36
|
+
end
|
37
|
+
|
34
38
|
def log_with_interval(type, last_log_at, message)
|
35
39
|
logger.add(type, message) if can_log?(last_log_at)
|
36
40
|
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,13 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative "version"
|
4
|
-
require_relative "statsmeter_client"
|
5
4
|
require_relative "cluster_client"
|
6
|
-
require_relative "
|
7
|
-
|
8
|
-
require_relative "helpers/statscloud_helper"
|
5
|
+
require_relative "statsmeter_client"
|
6
|
+
|
9
7
|
require_relative "jobs/register_connection_job"
|
10
8
|
|
9
|
+
require_relative "helpers/logger_helper"
|
10
|
+
require_relative "helpers/statscloud_client/assets_helper"
|
11
|
+
require_relative "helpers/statscloud_client/statscloud_helper"
|
12
|
+
|
11
13
|
module StatsCloud
|
12
14
|
# Module which implements StatsCloud framework support.
|
13
15
|
class Client
|
@@ -3,10 +3,10 @@
|
|
3
3
|
require "crc32"
|
4
4
|
require "eventmachine"
|
5
5
|
|
6
|
-
require_relative "helpers/socketio_helper"
|
7
|
-
require_relative "helpers/statsmeter_helper"
|
6
|
+
require_relative "helpers/statsmeter_client/socketio_helper"
|
7
|
+
require_relative "helpers/statsmeter_client/statsmeter_helper"
|
8
|
+
require_relative "helpers/statsmeter_client/event_helper"
|
8
9
|
require_relative "helpers/logger_helper"
|
9
|
-
require_relative "helpers/event_helper"
|
10
10
|
require_relative "helpers/plugins_helper"
|
11
11
|
|
12
12
|
module StatsCloud
|
data/lib/statscloud/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: statscloud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roman Ovcharov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: crc32
|
@@ -200,14 +200,15 @@ files:
|
|
200
200
|
- lib/statscloud.rb
|
201
201
|
- lib/statscloud/cluster_client.rb
|
202
202
|
- lib/statscloud/errors/client_error.rb
|
203
|
-
- lib/statscloud/helpers/
|
204
|
-
- lib/statscloud/helpers/
|
203
|
+
- lib/statscloud/helpers/cluster_client/parsed_response_helper.rb
|
204
|
+
- lib/statscloud/helpers/json_parser.rb
|
205
205
|
- lib/statscloud/helpers/logger_helper.rb
|
206
|
-
- lib/statscloud/helpers/parsed_response_helper.rb
|
207
206
|
- lib/statscloud/helpers/plugins_helper.rb
|
208
|
-
- lib/statscloud/helpers/
|
209
|
-
- lib/statscloud/helpers/statscloud_helper.rb
|
210
|
-
- lib/statscloud/helpers/
|
207
|
+
- lib/statscloud/helpers/statscloud_client/assets_helper.rb
|
208
|
+
- lib/statscloud/helpers/statscloud_client/statscloud_helper.rb
|
209
|
+
- lib/statscloud/helpers/statsmeter_client/event_helper.rb
|
210
|
+
- lib/statscloud/helpers/statsmeter_client/socketio_helper.rb
|
211
|
+
- lib/statscloud/helpers/statsmeter_client/statsmeter_helper.rb
|
211
212
|
- lib/statscloud/jobs/register_connection_job.rb
|
212
213
|
- lib/statscloud/statscloud_client.rb
|
213
214
|
- lib/statscloud/statsmeter_client.rb
|