class Malachite::Client
Public Class Methods
method_missing(name, args)
click to toggle source
# File lib/malachite/client.rb, line 14 def self.method_missing(name, args) new(name, args).call end
new(name, args)
click to toggle source
# File lib/malachite/client.rb, line 5 def initialize(name, args) @name = name @args = args end
Public Instance Methods
call()
click to toggle source
# File lib/malachite/client.rb, line 10 def call response_from_json(json_function_result) end
Private Instance Methods
args_to_json()
click to toggle source
# File lib/malachite/client.rb, line 24 def args_to_json Malachite.dump_json(@args) rescue JSON::GeneratorError raise Malachite::ArgumentError, "Arguments should be serializable. Try arrays or objects: #{@args.inspect}" end
json_function_result()
click to toggle source
# File lib/malachite/client.rb, line 20 def json_function_result Malachite::Function.new(@name, args_to_json).call end
response_from_json(response)
click to toggle source
# File lib/malachite/client.rb, line 30 def response_from_json(response) Malachite.load_json(response) rescue JSON::ParserError raise Malachite::ResponseError, "Go program did not provide a serializable response: #{response.inspect}" end