Add a params API for defining configurable params in a class. Must support defining the param type (defaults to String), a default value, and a description. Support basic param types: String, Integer, Boolean, Float, Enum, URI.
Example Code
class BaseClass
include Ronin::Core::Params::Mixin
end
class MyModule < BaseClass
param :str, desc: 'A basic param'
param :feature_flag, Boolean, desc: 'A boolean param'
param :num1, Integer, desc: 'A param with a type'
param :num2, Integer, default: 42,
desc: 'A param with a default value'
param :num3, Integer, default: ->{ rand(42) },
desc: 'A param with a dynamic default value'
param :enum, Enum[:one, :two, :three],
desc: 'An enum param'
end
mod = MyModule.new(params: {num1: 1, enum: :two})
mod.params
# => {:num2=>42, :num3=>25, :num1=>1, :enum=>:two}
Add a params API for defining configurable params in a class. Must support defining the param type (defaults to String), a default value, and a description. Support basic param types:
String
,Integer
,Boolean
,Float
,Enum
,URI
.Example Code