Sha256: f6b81e0c103813e02131e325555bd1bf881e74a8d64f23d60da42584faa7ef57
Contents?: true
Size: 941 Bytes
Versions: 1
Compression:
Stored size: 941 Bytes
Contents
# frozen_string_literal: true require 'attr_extras' require 'active_support/core_ext/module' require 'json' module RavencoinRpc class Client # This is class to validate selected method and generate requst params class 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(Dir.pwd + '/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 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ravencoin_rpc_ruby-0.3.0 | lib/ravencoin_rpc/client/request.rb |