Sha256: d363eae51b2a38501d46811d2a817ccb908e339bc2e7d50b1b90825444e5d2a3

Contents?: true

Size: 720 Bytes

Versions: 16

Compression:

Stored size: 720 Bytes

Contents

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]
      @validator = param[:validator]
    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

16 entries across 16 versions & 1 rubygems

Version Path
apipie-bindings-0.6.0 lib/apipie_bindings/param.rb
apipie-bindings-0.5.0 lib/apipie_bindings/param.rb
apipie-bindings-0.4.0 lib/apipie_bindings/param.rb
apipie-bindings-0.3.0 lib/apipie_bindings/param.rb
apipie-bindings-0.2.3 lib/apipie_bindings/param.rb
apipie-bindings-0.2.2 lib/apipie_bindings/param.rb
apipie-bindings-0.2.1 lib/apipie_bindings/param.rb
apipie-bindings-0.2.0 lib/apipie_bindings/param.rb
apipie-bindings-0.1.0 lib/apipie_bindings/param.rb
apipie-bindings-0.0.19 lib/apipie_bindings/param.rb
apipie-bindings-0.0.18 lib/apipie_bindings/param.rb
apipie-bindings-0.0.17 lib/apipie_bindings/param.rb
apipie-bindings-0.0.16 lib/apipie_bindings/param.rb
apipie-bindings-0.0.15 lib/apipie_bindings/param.rb
apipie-bindings-0.0.14 lib/apipie_bindings/param.rb
apipie-bindings-0.0.13 lib/apipie_bindings/param.rb