Sha256: 4acc63ea092e30ef6dbfd1541e2eccda7da758526fff2baa29890c06e02709d8

Contents?: true

Size: 449 Bytes

Versions: 7

Compression:

Stored size: 449 Bytes

Contents

# frozen_string_literal: true

module Yext
  module Api
    module Concerns
      # This concern adds an `all` method to an enumeration class to list all constants in that class.
      module EnumAll
        extend ActiveSupport::Concern

        class_methods do
          def all
            (constants - %i[ClassMethods]).map { |c| const_get(c) }.reject { |constant| constant.is_a?(Module) }
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
yext-api-0.1.11 lib/yext/api/concerns/enum_all.rb
yext-api-0.1.10 lib/yext/api/concerns/enum_all.rb
yext-api-0.1.9 lib/yext/api/concerns/enum_all.rb
yext-api-0.1.8 lib/yext/api/concerns/enum_all.rb
yext-api-0.1.7 lib/yext/api/concerns/enum_all.rb
yext-api-0.1.5 lib/yext/api/concerns/enum_all.rb
yext-api-0.1.4 lib/yext/api/concerns/enum_all.rb