Class: JsonRpcObjects::V11::WD::ProcedureParameterDescription
- Inherits:
-
Generic::Object
- Object
- Generic::Object
- JsonRpcObjects::V11::WD::ProcedureParameterDescription
- Defined in:
- lib/json-rpc-objects/v11/wd/procedure-parameter-description.rb
Overview
Description of one procedure parameter.
Direct Known Subclasses
Constant Summary collapse
- VERSION =
Holds link to its version module.
JsonRpcObjects::V11::WD
- TYPE_TO_OBJECT =
Maps type to object (class).
Utils::Hash::define({ :num => Integer, :str => String, :arr => Array, :obj => Object, :bit => GenericTypes::Boolean, :nil => GenericTypes::Nil, :any => GenericTypes::Any }, GenericTypes::Any)
- OBJECT_TO_TYPE =
Maps object (class) to type.
Utils::Hash::define({ Integer => :num, String => :str, Array => :arr, Object => :obj, GenericTypes::Boolean => :bit, GenericTypes::Nil => :nil, GenericTypes::Any => :any }, :any)
Instance Attribute Summary collapse
-
#name ⇒ Symbol
Holds parameter name.
-
#type ⇒ Class
Holds parameter type.
Attributes inherited from Generic::Object
Class Method Summary collapse
-
.create(name, opts = { }) ⇒ V11:ProcedureParameterDescription
Creates new one.
Instance Method Summary collapse
-
#check! ⇒ Object
Checks correctness of the data.
-
#output ⇒ Hash
Renders data to output hash.
Methods inherited from Generic::Object
#initialize, parse, #serialize, #to_json, version
Constructor Details
This class inherits a constructor from JsonRpcObjects::Generic::Object
Instance Attribute Details
#name ⇒ Symbol
Holds parameter name.
72 73 74 |
# File 'lib/json-rpc-objects/v11/wd/procedure-parameter-description.rb', line 72 def name @name end |
#type ⇒ Class
Holds parameter type.
80 81 82 |
# File 'lib/json-rpc-objects/v11/wd/procedure-parameter-description.rb', line 80 def type @type end |
Class Method Details
.create(name, opts = { }) ⇒ V11:ProcedureParameterDescription
Creates new one.
90 91 92 93 94 |
# File 'lib/json-rpc-objects/v11/wd/procedure-parameter-description.rb', line 90 def self.create(name, opts = { }) data = { :name => name } data.merge! opts return self::new(data) end |
Instance Method Details
#check! ⇒ Object
Checks correctness of the data.
100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/json-rpc-objects/v11/wd/procedure-parameter-description.rb', line 100 def check! self.normalize! if not @name.kind_of? Symbol raise Exception::new("Parameter name must be Symbol or convertable to Symbol.") end if (not @type.nil?) and (not Utils::Object.kind_of_any?(@type, [GenericTypes::Any, GenericTypes::Nil, GenericTypes::Boolean, Integer, String, Array, Object])) raise Exception::new("Type if defined can be only Any, Nil, Boolean, Integer, String, Array or Object.") end end |
#output ⇒ Hash
Renders data to output hash.
117 118 119 120 121 122 123 124 125 126 |
# File 'lib/json-rpc-objects/v11/wd/procedure-parameter-description.rb', line 117 def output self.check! data = { "name" => @name.to_s } if not @type.nil? data["type"] = __object_to_type.to_s end return data end |