Class: GenesisRuby::Genesis
- Inherits:
-
Object
- Object
- GenesisRuby::Genesis
- Defined in:
- lib/genesis_ruby.rb
Overview
Base SDK class
Instance Attribute Summary collapse
-
#configuration ⇒ Object
readonly
Returns the value of attribute configuration.
-
#request ⇒ Object
readonly
Returns the value of attribute request.
-
#response ⇒ Object
readonly
Returns the value of attribute response.
Class Method Summary collapse
-
.for(config:, request:) {|request_object| ... } ⇒ Object
Transaction Request Initializer.
Instance Method Summary collapse
-
#execute ⇒ Object
Execute the Request.
-
#initialize(configuration, request = nil) ⇒ Genesis
constructor
Initialize the Library.
Constructor Details
#initialize(configuration, request = nil) ⇒ Genesis
Initialize the Library
33 34 35 36 37 38 39 40 41 |
# File 'lib/genesis_ruby.rb', line 33 def initialize(configuration, request = nil) @configuration = configuration @request = request @response = GenesisRuby::Api::Response.new( configuration, request&.api_config || GenesisRuby::Utils::Options::ApiConfig.new ) @network = GenesisRuby::Connection.for(configuration) end |
Instance Attribute Details
#configuration ⇒ Object (readonly)
Returns the value of attribute configuration.
30 31 32 |
# File 'lib/genesis_ruby.rb', line 30 def configuration @configuration end |
#request ⇒ Object (readonly)
Returns the value of attribute request.
30 31 32 |
# File 'lib/genesis_ruby.rb', line 30 def request @request end |
#response ⇒ Object (readonly)
Returns the value of attribute response.
30 31 32 |
# File 'lib/genesis_ruby.rb', line 30 def response @response end |
Class Method Details
.for(config:, request:) {|request_object| ... } ⇒ Object
Transaction Request Initializer
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/genesis_ruby.rb', line 16 def self.for(config:, request:) unless request.is_a?(Class) && request < GenesisRuby::Api::Request raise InvalidArgumentError, 'Given Request is invalid' end request_object = request.new(config) raise InvalidArgumentError, 'Request Block missing' unless block_given? yield request_object new config, request_object end |
Instance Method Details
#execute ⇒ Object
Execute the Request
44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/genesis_ruby.rb', line 44 def execute # Initialize the Network Connection with the given request @network.init_api_data(@request) # Send the Request payload to Genesis @network.send_request # Parse the Response @response.parse_response(@network) self end |