Class: XRPC::BaseLexicon

Inherits:
Object
  • Object
show all
Defined in:
lib/xrpc/lexicon.rb

Direct Known Subclasses

Procedure, Query

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(lexicon, args_list, server, headers: { "Content-Type" => "application/json" }) ⇒ BaseLexicon

Returns a new instance of BaseLexicon.



27
28
29
30
31
32
# File 'lib/xrpc/lexicon.rb', line 27

def initialize(lexicon, args_list, server, headers: { "Content-Type" => "application/json" })
  @lexicon = lexicon
  @args_list = args_list
  @server = server
  @headers = headers
end

Instance Attribute Details

#args_listObject

Returns the value of attribute args_list.



25
26
27
# File 'lib/xrpc/lexicon.rb', line 25

def args_list
  @args_list
end

#headersObject

Returns the value of attribute headers.



25
26
27
# File 'lib/xrpc/lexicon.rb', line 25

def headers
  @headers
end

#lexiconObject

Returns the value of attribute lexicon.



25
26
27
# File 'lib/xrpc/lexicon.rb', line 25

def lexicon
  @lexicon
end

#serverObject

Returns the value of attribute server.



25
26
27
# File 'lib/xrpc/lexicon.rb', line 25

def server
  @server
end

Instance Method Details

#call(*args, **kwargs) ⇒ Object



34
35
36
# File 'lib/xrpc/lexicon.rb', line 34

def call(*args, **kwargs)
  make_request(Hash[args_list.zip(args)].merge kwargs)
end

#make_request(payload) ⇒ Object

Raises:

  • (NotImplementedError)


38
39
40
# File 'lib/xrpc/lexicon.rb', line 38

def make_request(payload)
  raise NotImplementedError, "Subclasses must implement the .make_request method."
end