Sha256: 761079629d24a09109d3c31229fd7b88083deb5c824dc9d23ad6412e2f8aeb68

Contents?: true

Size: 687 Bytes

Versions: 26

Compression:

Stored size: 687 Bytes

Contents

# frozen_string_literal: true

module GrapeSwagger
  module DocMethods
    class OptionalObject
      class << self
        def build(key, options, request = nil)
          if options[key]
            return evaluate(key, options, request) if options[key].is_a?(Proc)

            options[key]
          else
            request.send(default_values[key])
          end
        end

        def evaluate(key, options, request)
          options[key].arity.zero? ? options[key].call : options[key].call(request)
        end

        def default_values
          {
            host: 'host_with_port',
            base_path: 'script_name'
          }
        end
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 2 rubygems

Version Path
grape-swagger-2.1.2 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-2.1.1 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-2.0.3 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-2.0.2 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-2.0.1 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-2.0.0 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-1.6.1 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-1.6.0 lib/grape-swagger/doc_methods/optional_object.rb
gitlab-grape-swagger-1.5.0 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-1.5.0 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-1.4.2 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-1.4.1 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-1.4.0 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-1.3.1 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-1.3.0 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-1.2.1 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-1.2.0 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-1.1.0 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-1.0.0 lib/grape-swagger/doc_methods/optional_object.rb
grape-swagger-0.34.2 lib/grape-swagger/doc_methods/optional_object.rb