Class: Solace::Composers::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/solace/composers/base.rb

Overview

A Base class for all composers

Since:

  • 0.0.3

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Base

Initialize the composer

Parameters:

  • params (Hash)

    Parameters to pass to the composer constructor

Since:

  • 0.0.3



59
60
61
62
63
# File 'lib/solace/composers/base.rb', line 59

def initialize(params)
  @params = params
  @account_context = Utils::AccountContext.new
  setup_accounts
end

Instance Attribute Details

#account_contextUtils::AccountContext

Returns The AccountContext instance for the composer.

Returns:

Since:

  • 0.0.3



54
55
56
# File 'lib/solace/composers/base.rb', line 54

def 
  @account_context
end

#paramsHash

Returns The parameters passed to the composer.

Returns:

  • (Hash)

    The parameters passed to the composer

Since:

  • 0.0.3



48
49
50
# File 'lib/solace/composers/base.rb', line 48

def params
  @params
end

Instance Method Details

#build_instruction(indices) ⇒ void

This method returns an undefined value.

Build instruction with resolved account indices

Raises:

  • (NotImplementedError)

Since:

  • 0.0.3



75
76
77
# File 'lib/solace/composers/base.rb', line 75

def build_instruction(indices)
  raise NotImplementedError, 'Subclasses must implement build_instruction method'
end

#setup_accountsvoid

This method returns an undefined value.

Setup accounts required for this instruction

Raises:

  • (NotImplementedError)

Since:

  • 0.0.3



68
69
70
# File 'lib/solace/composers/base.rb', line 68

def setup_accounts
  raise NotImplementedError, 'Subclasses must implement setup_accounts method'
end