Sha256: dc64c20fc2d75133bc15ce44dac68a077104bd9f857704a70ec458f2c9c785f9
Contents?: true
Size: 712 Bytes
Versions: 1
Compression:
Stored size: 712 Bytes
Contents
# frozen_string_literal: true require 'attr_extras' require 'active_support/core_ext/module' require 'json' class RavencoinRpc::Client::Request pattr_initialize %i[method! args] do @args ||= [] end delegate :call, to: :data private def data -> { valid? ? prepare_data : error } end def valid? methods.include?(method) end def methods @methods ||= docs.keys end def docs @docs ||= JSON.parse(File.open('docs.json').read) end def error raise RavencoinRpc::Exceptions::NotFoundModule, 'method not included into methods list' end def prepare_data { jsonrpc: '2.0', id: rand(10), method: method, params: args } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ravencoin_rpc_ruby-0.1.0 | lib/ravencoin_rpc/client/request.rb |