Class: Gritz::Compat::Gruf::Request

Inherits:
Object
  • Object
show all
Defined in:
/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(context) ⇒ Request

Returns a new instance of Request.



57
58
59
60
61
62
63
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 57

def initialize(context)
  @rpc_context = context
  @original = Gritz::Controller::Request.for(context)
  @context = RequestContext.new
  @active_call = ActiveCall.new(context)
  @error = Error.new
end

Instance Attribute Details

#active_call ⇒ Object (readonly)



55
56
57
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 55

def active_call
  @active_call
end

#context ⇒ Object (readonly)



55
56
57
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 55

def context
  @context
end

#error ⇒ Object (readonly)



55
56
57
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 55

def error
  @error
end

Instance Method Details

#bidi_streamer? ⇒ Boolean

Returns:

  • (Boolean)


73
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 73

def bidi_streamer? = @rpc_context.method.kind == :bidi

#client_streamer? ⇒ Boolean

Returns:

  • (Boolean)


71
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 71

def client_streamer? = @rpc_context.method.kind == :client_streaming

#message ⇒ Object



84
85
86
87
88
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 84

def message
  return @original.message unless @rpc_context.method.client_streaming?

  @message ||= client_streamer? ? proc { |&block| @original.each_message(&block) } : @original.each_message
end

#messages(&block) ⇒ Object



90
91
92
93
94
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 90

def messages(&block)
  return [message] unless @rpc_context.method.client_streaming?

  block ? @original.each_message(&block) : @original.each_message
end

#metadata ⇒ Object



69
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 69

def  = @rpc_context.

#method_key ⇒ Object



66
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 66

def method_key = @rpc_context.method.action

#method_name ⇒ Object



82
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 82

def method_name = "#{service_key}.#{method_key}"

#request_class ⇒ Object



67
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 67

def request_class = @rpc_context.method.input_type

#request_response? ⇒ Boolean

Returns:

  • (Boolean)


74
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 74

def request_response? = @rpc_context.method.kind == :unary

#response_class ⇒ Object



68
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 68

def response_class = @rpc_context.method.output_type

#server_streamer? ⇒ Boolean

Returns:

  • (Boolean)


72
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 72

def server_streamer? = @rpc_context.method.kind == :server_streaming

#service ⇒ Object



65
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 65

def service = @rpc_context.method.service_class

#service_key ⇒ Object



76
77
78
79
80
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 76

def service_key
  name = service.name || @rpc_context.method.service
  name.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').gsub(/([a-z\d])([A-Z])/, '\1_\2')
      .gsub("::", ".").downcase.delete_suffix(".service")
end

#type ⇒ Object



70
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/compat/gruf.rb', line 70

def type = self