Sha256: 18bce305cfc2eee1656f89afdc9280f4bedc1610402da046c0bd42b8e6199b53

Contents?: true

Size: 812 Bytes

Versions: 23

Compression:

Stored size: 812 Bytes

Contents

module JSONAPIonify::Api
  module Attribute::Documentation
    def options_json_for_action(action_name, context)
      {
        name:        @name,
        type:        @type.to_s,
        description: JSONAPIonify::Documentation.onelinify_markdown(description),
        example:     example(context.resource.class.generate_id)
      }.tap do |opts|
        opts[:not_null] = true if @type.not_null?
        opts[:required] = true if required_for_action?(action_name, context)
      end
    end

    def documentation_object
      OpenStruct.new(
        name:        name,
        type:        type.name,
        required:    required ? Array.wrap(required).join(', ') : false,
        description: JSONAPIonify::Documentation.render_markdown(description),
        allow:       allow
      )
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
jsonapionify-0.12.10 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.12.9 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.12.8 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.12.7 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.12.5 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.12.4 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.12.3 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.12.2 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.12.1 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.12.0 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.11.11 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.11.10 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.11.9 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.11.8 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.11.7 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.11.6 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.11.5 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.11.0 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.10.2 lib/jsonapionify/api/attribute/documentation.rb
jsonapionify-0.10.1 lib/jsonapionify/api/attribute/documentation.rb