Sha256: 9a31ea82a979f1f7e0cd831be8ba2794b96d8993fd700dda07078ea6a354d566

Contents?: true

Size: 768 Bytes

Versions: 16

Compression:

Stored size: 768 Bytes

Contents

# frozen_string_literal: true

module Orthoses
  module Outputable
    # Constantizable is an internal middleware
    # It's using on orthoses/outputable.rb
    class ConstantizableFilter
      def initialize(loader)
        @loader = loader
      end

      def call
        @loader.call.tap do |store|
          failures = []
          store.each do |name, content|
            next if content.header
            next if content.interface?

            begin
              Object.const_get(name)
            rescue NameError, LoadError => err
              Orthoses.logger.error(err.inspect)
              failures << name
              next
            end
          end
          failures.each { |name| store.delete(name) }
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
orthoses-1.18.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.17.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.16.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.15.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.14.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.13.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.12.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.11.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.10.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.9.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.8.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.7.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.6.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.5.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.4.0 lib/orthoses/outputable/constantizable_filter.rb
orthoses-1.3.0 lib/orthoses/outputable/constantizable_filter.rb