class Lnrpc::GrpcWrapper
Attributes
grpc[R]
service[R]
Public Class Methods
new(service:, grpc:)
click to toggle source
# File lib/lnrpc/grpc_wrapper.rb, line 5 def initialize(service:, grpc:) @grpc = grpc @service = service end
Public Instance Methods
inspect()
click to toggle source
# File lib/lnrpc/grpc_wrapper.rb, line 21 def inspect "#{self} @grpc=\"#{grpc}\"" end
method_missing(m, *args, &block)
click to toggle source
Calls superclass method
# File lib/lnrpc/grpc_wrapper.rb, line 10 def method_missing(m, *args, &block) if grpc.respond_to?(m) params = args[0] args[0] = params.nil? ? request_class_for(m).new : request_class_for(m).new(params) grpc.send(m, *args, &block) else super end end
Private Instance Methods
camelize(name)
click to toggle source
# File lib/lnrpc/grpc_wrapper.rb, line 34 def camelize(name) str = name.to_s separators = ['_', '\s'] separators.each do |s| str = str.gsub(/(?:#{s}+)([a-z])/) { $1.upcase } end str.gsub(/(\A|\s)([a-z])/) { $1 + $2.upcase } end
request_class_for(method_name)
click to toggle source
# File lib/lnrpc/grpc_wrapper.rb, line 27 def request_class_for(method_name) rpc_desc = service.rpc_descs[camelize(method_name).to_sym] raise "Request class not found for: #{method_name}" unless rpc_desc rpc_desc.input end