JSON-RPC2 server DSL - allows APIs to be created as mountable Rack applications with inline documentation, authentication and type checking. e.g. class Calculator < JSONRPC2::Interface title "JSON-RPC2 Calculator" introduction "This interface allows basic maths calculations via JSON-RPC2" auth_with JSONRPC2::BasicAuth.new({'user' => 'secretword'}) section 'Simple Ops' do desc 'Multiply two numbers' param 'a', 'Number', 'a' param 'b', 'Number', 'b' result 'Number', 'a * b' def mul args args['a'] * args['b'] end desc 'Add numbers' example "Calculate 1 + 1 = 2", :params => { 'a' => 1, 'b' => 1}, :result => 2 param 'a', 'Number', 'First number' param 'b', 'Number', 'Second number' optional 'c', 'Number', 'Third number' result 'Number', 'a + b + c' def sum args val = args['a'] + args['b'] val += args['c'] if args['c'] val end end end
Required Ruby Version
None
Authors
Geoff Youngs
Versions
- 0.3.0 February 10, 2023 (132 KB)
- 0.2.0 April 14, 2022 (132 KB)
- 0.1.1 January 04, 2014 (128 KB)
- 0.1.0 January 04, 2014 (127 KB)
- 0.0.9 September 03, 2012 (94.5 KB)
- 0.0.1 July 17, 2012 (14.5 KB)