statscloud 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|