Sha256: 62c2fca3d9ad6f3ab6838acf11844a97e7e598cb81bcff5bab5ca1fb7242c973
Contents?: true
Size: 913 Bytes
Versions: 3
Compression:
Stored size: 913 Bytes
Contents
require 'apipie_bindings/utilities' module ApipieBindings class Param attr_reader :name, :params, :expected_type, :description, :validator def initialize(param) param = ApipieBindings::IndifferentHash.new(param) @name = param[:name] params = param[:params] || [] @params = params.map { |p| ApipieBindings::Param.new(p) } @expected_type = param[:expected_type].to_sym @description = param[:description].gsub(/<\/?[^>]+?>/, "") @required = param[:required] || @params.inject(false) { |req, par| req ||= par.required? } @validator = param[:validator] end def tree(&block) ApipieBindings::Utilities.params_hash_tree(@params, &block) end def required? @required end def to_s "<Param #{ required? ? '*' : '' }#{@name} (#{@expected_type.to_s.capitalize})>" end def inspect to_s end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
apipie-bindings-0.0.12 | lib/apipie_bindings/param.rb |
apipie-bindings-0.0.11 | lib/apipie_bindings/param.rb |
apipie-bindings-0.0.10 | lib/apipie_bindings/param.rb |