Sha256: d8219f45cb9989f2adaeeccac44f7a02ceea7c3a2f829db2b7b56e35339cb8c7
Contents?: true
Size: 681 Bytes
Versions: 23
Compression:
Stored size: 681 Bytes
Contents
# frozen_string_literal: true module Praxis module PluginConcern extend ::ActiveSupport::Concern included do @setup = false end module ClassMethods PLUGIN_CLASSES = %i[ Request Controller EndpointDefinition ActionDefinition Response ApiGeneralInfo ].freeze def setup! return if @setup PLUGIN_CLASSES.each do |name| inject!(name) if constants.include?(name) end @setup = true end def inject!(name) plugin = const_get(name) praxis = Praxis.const_get(name) praxis.include(plugin) end end end end
Version data entries
23 entries across 23 versions & 1 rubygems