Sha256: 140dade379841ad73295dbaff4867b85d30fb12cae93926f95fe33181a0e3b16

Contents?: true

Size: 725 Bytes

Versions: 28

Compression:

Stored size: 725 Bytes

Contents

module Betterdocs::JsonParamsRepresenter
  extend ActiveSupport::Concern
  include Betterdocs::Representer

  module ClassMethods
    def build_result_object
      {}.with_indifferent_access
    end

    def hashify(object)
      super do |result|
        assign_params result, object
      end
    end

    def docs
      @docs ||= Betterdocs::JsonParamsRepresenterCollector.new
    end

    def assign_params(result, object)
      for param in params
        param.assign(result, object)
      end
    end
    private :assign_params

    def params
      @params ||= Set.new
    end

    def param(name, **options, &block)
      d = doc(:param, name, **options, &block) and
        params << d
      self
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
betterdocs-0.14.0 lib/betterdocs/json_params_representer.rb
betterdocs-0.13.0 lib/betterdocs/json_params_representer.rb
betterdocs-0.12.5 lib/betterdocs/json_params_representer.rb
betterdocs-0.12.4 lib/betterdocs/json_params_representer.rb
betterdocs-0.12.3 lib/betterdocs/json_params_representer.rb
betterdocs-0.12.2 lib/betterdocs/json_params_representer.rb
betterdocs-0.12.1 lib/betterdocs/json_params_representer.rb
betterdocs-0.12.0 lib/betterdocs/json_params_representer.rb
betterdocs-0.11.0 lib/betterdocs/json_params_representer.rb
betterdocs-0.10.0 lib/betterdocs/json_params_representer.rb
betterdocs-0.9.2 lib/betterdocs/json_params_representer.rb
betterdocs-0.9.1 lib/betterdocs/json_params_representer.rb
betterdocs-0.9.0 lib/betterdocs/json_params_representer.rb
betterdocs-0.8.1 lib/betterdocs/json_params_representer.rb
betterdocs-0.8.0 lib/betterdocs/json_params_representer.rb
betterdocs-0.7.1 lib/betterdocs/json_params_representer.rb
betterdocs-0.7.0 lib/betterdocs/json_params_representer.rb
betterdocs-0.6.8 lib/betterdocs/json_params_representer.rb
betterdocs-0.6.7 lib/betterdocs/json_params_representer.rb
betterdocs-0.6.6 lib/betterdocs/json_params_representer.rb