Sha256: d1af1d8ae43ff3e4afc44a564878b83421c6a6f11116ecd8c292a85fe100c92f

Contents?: true

Size: 713 Bytes

Versions: 1

Compression:

Stored size: 713 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.capitalize})>"
    end

    def inspect
      to_s
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
apipie-bindings-0.0.2 lib/apipie_bindings/param.rb