Sha256: b404fa04f7958ad0d89daa8201d18a976d4a0b1029a4300a267b2b727c756a6e

Contents?: true

Size: 855 Bytes

Versions: 1

Compression:

Stored size: 855 Bytes

Contents

# frozen_string_literal: true

require 'forwardable'
require 'r2-oas/plugin/executor'

module R2OAS
  module Schema
    module V3
      class BaseObject
        extend Forwardable

        def_delegators :@plugin_executor, :execute_transform_plugins

        def initialize(opts = {})
          AppConfiguration::VALID_OPTIONS_KEYS.each do |key|
            send("#{key}=", app_configuration_options[key])
          end

          @opts = opts
          @plugin_executor = ::R2OAS::Plugin::Executor.new(@plugins, opts)
        end

        def doc
          @doc ||= {}
        end

        def to_doc
          raise 'Implement Inherit Class'
        end

        private

        def app_configuration_options
          R2OAS.app_configuration_options
        end

        attr_accessor *AppConfiguration::VALID_OPTIONS_KEYS
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
r2-oas-0.5.0 lib/r2-oas/schema/v3/object/from_routes/base_object.rb