Class: Terminalwire::Client::Resource::Base
- Inherits:
-
Resource::Base
- Object
- Resource::Base
- Terminalwire::Client::Resource::Base
- Defined in:
- lib/terminalwire/client/resource.rb
Overview
Dispatcher, security, and response macros for resources.
Instance Method Summary collapse
- #command(command, **parameters) ⇒ Object
-
#initialize(entitlement:) ⇒ Base
constructor
A new instance of Base.
Constructor Details
#initialize(entitlement:) ⇒ Base
Returns a new instance of Base.
39 40 41 42 43 |
# File 'lib/terminalwire/client/resource.rb', line 39 def initialize(*, entitlement:, **) super(*, **) @entitlement = entitlement connect end |
Instance Method Details
#command(command, **parameters) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/terminalwire/client/resource.rb', line 45 def command(command, **parameters) begin if permit(command, **parameters) succeed self.public_send(command, **parameters) else fail "Client denied #{command}", command:, parameters: end rescue => e fail e., command:, parameters: raise end end |