protobuf-rpc-register 0.17.0 → 0.19.0
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/lib/protobuf/rpc/clients/base.rb +26 -28
- data/lib/protobuf/rpc/interaction_instrumentation.rb +20 -0
- data/lib/protobuf/rpc/interactions/base.rb +0 -9
- data/lib/protobuf/rpc/register.rb +1 -0
- data/lib/protobuf/rpc/register/version.rb +1 -1
- data/lib/protobuf/rpc/services/base.rb +0 -7
- data/protobuf-rpc-register.gemspec +0 -1
- metadata +3 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 362470f8276803cafeb830ff8ddea959aa03f238
|
4
|
+
data.tar.gz: b3a77da275250ae14de8212ed98738c89d5725d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 194cab84f899393fbc40cf5579d5e0c339d32fc706dd4a2d6ad97ad6ea7e76c70e61b3344c255557f9e5134bde72aece05d4289b7f35245753a22d3c294e2059
|
7
|
+
data.tar.gz: 98c27617e08b54cf7e6a969584fd01b6e89471133ea6ea898da2b5838fa49ec5c4e68334392fda5b05a5d537b65992515d32b6350361059fea93c317b781667b
|
@@ -16,7 +16,7 @@ module Protobuf
|
|
16
16
|
@error_logger = Logger.new(stderr)
|
17
17
|
|
18
18
|
names = self.class.name.split('::')
|
19
|
-
@service =
|
19
|
+
@service = Object.const_get([names[0..-3], 'Services', names[-1]].flatten.join('::'))
|
20
20
|
end
|
21
21
|
|
22
22
|
def internal_client
|
@@ -60,16 +60,18 @@ module Protobuf
|
|
60
60
|
|
61
61
|
def define_error_class(res)
|
62
62
|
module_name = (@namespace || 'Protobuf').camelize
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
63
|
+
c = if res.error_class.start_with?("Protobuf::Rpc") && module_name == "Protobuf"
|
64
|
+
res.error_class
|
65
|
+
else
|
66
|
+
"#{module_name}::Rpc::#{res.error_class}"
|
67
|
+
end
|
68
|
+
|
69
|
+
if c.safe_constantize
|
70
|
+
c.safe_constantize
|
68
71
|
else
|
69
|
-
module_name = res.error_class.deconstantize
|
70
72
|
class_name = res.error_class.demodulize
|
71
|
-
base_module =
|
72
|
-
|
73
|
+
base_module = Object
|
74
|
+
c.split('::')[0..-2].each do |m|
|
73
75
|
base_module.const_defined?(m, false) || base_module.const_set(m, Module.new)
|
74
76
|
base_module = base_module.const_get(m, false)
|
75
77
|
end
|
@@ -79,23 +81,19 @@ module Protobuf
|
|
79
81
|
rescue LoadError
|
80
82
|
raise NameError.new("uninitialized constant #{res.error_class}", res.error_class)
|
81
83
|
end
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
@message
|
96
|
-
end
|
97
|
-
end)
|
98
|
-
end
|
84
|
+
base_module.const_set(class_name, Class.new(error_superclass) do
|
85
|
+
def initialize(message = nil)
|
86
|
+
@message = message
|
87
|
+
end
|
88
|
+
|
89
|
+
def inspect
|
90
|
+
"#{self.class}: #{@message}"
|
91
|
+
end
|
92
|
+
|
93
|
+
def message
|
94
|
+
@message
|
95
|
+
end
|
96
|
+
end)
|
99
97
|
end
|
100
98
|
end
|
101
99
|
|
@@ -116,8 +114,8 @@ module Protobuf
|
|
116
114
|
msg_class.new(*args)
|
117
115
|
elsif args.first.respond_to?(:to_hash)
|
118
116
|
::Protobuf::Rpc::Messages::RpcCompressedMessage.new(response_body: args.first.to_hash.to_json,
|
119
|
-
|
120
|
-
|
117
|
+
serializer: :JSON,
|
118
|
+
compressed: false)
|
121
119
|
else
|
122
120
|
raise ArgumentError, "#{args} should be be a Hash or Protobuf Message."
|
123
121
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'new_relic/agent/instrumentation/action_controller_subscriber'
|
2
|
+
|
3
|
+
DependencyDetection.defer do
|
4
|
+
@name = :active_interaction
|
5
|
+
|
6
|
+
depends_on do
|
7
|
+
defined?(ActiveInteraction) && defined?(ActiveInteraction::Base)
|
8
|
+
end
|
9
|
+
|
10
|
+
executes do
|
11
|
+
::NewRelic::Agent.logger.info 'Installing ActiveInteraction instrumentation'
|
12
|
+
end
|
13
|
+
|
14
|
+
executes do
|
15
|
+
class ActiveInteraction::Base
|
16
|
+
include NewRelic::Agent::Instrumentation::ControllerInstrumentation
|
17
|
+
add_transaction_tracer :run
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -18,15 +18,6 @@ module Protobuf
|
|
18
18
|
def include_attributes
|
19
19
|
[].freeze
|
20
20
|
end
|
21
|
-
|
22
|
-
private
|
23
|
-
|
24
|
-
def inherited(subclass)
|
25
|
-
super
|
26
|
-
require 'new_relic/agent'
|
27
|
-
subclass.include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
|
28
|
-
subclass.add_transaction_tracer :run
|
29
|
-
end
|
30
21
|
end
|
31
22
|
end
|
32
23
|
end
|
@@ -6,6 +6,7 @@ require 'protobuf/rpc/generator'
|
|
6
6
|
require 'protobuf/rpc/clients/base'
|
7
7
|
require 'protobuf/rpc/interactions/base'
|
8
8
|
require 'protobuf/rpc/services/base'
|
9
|
+
require 'protobuf/rpc/serializer'
|
9
10
|
require 'protobuf/rpc/messages/error'
|
10
11
|
require 'protobuf/rpc/messages/rpc_compressed_message'
|
11
12
|
|
@@ -1,6 +1,3 @@
|
|
1
|
-
require 'protobuf'
|
2
|
-
require 'protobuf/rpc/serializer'
|
3
|
-
|
4
1
|
module Protobuf
|
5
2
|
module Rpc
|
6
3
|
module Services
|
@@ -14,8 +11,6 @@ module Protobuf
|
|
14
11
|
end
|
15
12
|
|
16
13
|
def self.inherited(subclass)
|
17
|
-
require 'new_relic/agent'
|
18
|
-
subclass.include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
|
19
14
|
subclass.inherit_rpcs!
|
20
15
|
end
|
21
16
|
|
@@ -64,8 +59,6 @@ module Protobuf
|
|
64
59
|
|
65
60
|
compress_with result
|
66
61
|
end
|
67
|
-
|
68
|
-
add_transaction_tracer method
|
69
62
|
end
|
70
63
|
end
|
71
64
|
end
|
@@ -36,7 +36,6 @@ Gem::Specification.new do |spec|
|
|
36
36
|
spec.add_development_dependency 'msgpack', "~> 0.5"
|
37
37
|
spec.add_development_dependency 'multi_json', "~> 1.0"
|
38
38
|
spec.add_development_dependency 'oj', "~> 2.0"
|
39
|
-
spec.add_development_dependency 'newrelic_rpm'
|
40
39
|
|
41
40
|
spec.add_runtime_dependency 'protobuf', '~> 3.5'
|
42
41
|
spec.add_runtime_dependency 'active_interaction', '~> 3.0'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: protobuf-rpc-register
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- scorix
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -136,20 +136,6 @@ dependencies:
|
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '2.0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: newrelic_rpm
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
139
|
- !ruby/object:Gem::Dependency
|
154
140
|
name: protobuf
|
155
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -196,6 +182,7 @@ files:
|
|
196
182
|
- bin/setup
|
197
183
|
- lib/protobuf/rpc/clients/base.rb
|
198
184
|
- lib/protobuf/rpc/generator.rb
|
185
|
+
- lib/protobuf/rpc/interaction_instrumentation.rb
|
199
186
|
- lib/protobuf/rpc/interactions/base.rb
|
200
187
|
- lib/protobuf/rpc/messages/error.rb
|
201
188
|
- lib/protobuf/rpc/messages/rpc_compressed_message.rb
|