protobuf-rpc-register 0.17.0 → 0.19.0

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
  SHA1:
3
- metadata.gz: 95025c1649fcad777029cc0184f470d75238c7bf
4
- data.tar.gz: 5bc6a4ce1cf7ffa4524e04aedb305e2b4aa83c62
3
+ metadata.gz: 362470f8276803cafeb830ff8ddea959aa03f238
4
+ data.tar.gz: b3a77da275250ae14de8212ed98738c89d5725d4
5
5
  SHA512:
6
- metadata.gz: 2161642f5fb2ed13926cd182e682c87d9e3b6427d7b9b0dfc48143fbebeb27b2d157b3d11b79da90cf35047629c975ee5f0016655b31d6048fcdf233a2e0f76c
7
- data.tar.gz: 5299cd9bef63b312236c16c86625acd1ae63e72d5053232015314f7dfee73065fd35cc59dafa2acc483a699a29647ffb51a22fc82c85909fe958a515b017558f
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 = Object.const_get([names[0..-3], 'Services', names[-1]].flatten.join('::'))
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
- m = Object.const_defined?(module_name, false) ? Object.const_get(module_name, false) : Object.const_set(module_name, Module.new)
64
- m.const_defined?(:Rpc, false) ? m.const_get(:Rpc, false) : m.const_set(:Rpc, Module.new)
65
-
66
- if m.const_defined?(res.error_class, false)
67
- m.const_get(res.error_class, false)
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 = m::Rpc
72
- module_name.split('::').each do |m|
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
- if base_module.const_defined?(class_name, false)
83
- base_module.const_get(class_name, false)
84
- else
85
- base_module.const_set(class_name, Class.new(error_superclass) do
86
- def initialize(message = nil)
87
- @message = message
88
- end
89
-
90
- def inspect
91
- "#{self.class}: #{@message}"
92
- end
93
-
94
- def message
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
- serializer: :JSON,
120
- compressed: false)
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,7 +1,7 @@
1
1
  module Protobuf
2
2
  module Rpc
3
3
  module Register
4
- VERSION = "0.17.0".freeze
4
+ VERSION = "0.19.0".freeze
5
5
  end
6
6
  end
7
7
  end
@@ -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.17.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-06-20 00:00:00.000000000 Z
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