Sha256: 1ce1cf8784edb0054508f6761bc0015aa5a8fdfb48b3d7d67cac528d826a85f7

Contents?: true

Size: 955 Bytes

Versions: 23

Compression:

Stored size: 955 Bytes

Contents

# frozen_string_literal: true

##
# @example
#   ConvenientService::Utils::Object::ResolveType.call("foo")
#   # => "instance"
#
#   ConvenientService::Utils::Object::ResolveType.call(Array)
#   # => "class"
#
#   ConvenientService::Utils::Object::ResolveType.call(Kernel)
#   # => "module"
#
module ConvenientService
  module Utils
    module Object
      class ResolveType < Support::Command
        ##
        # @!attribute [r] object
        #   @return [Object] Can be any type.
        #
        attr_reader :object

        ##
        # @param object [Object] Can be any type.
        #
        def initialize(object)
          @object = object
        end

        ##
        # @return ["class", "module", "instance"]
        #
        def call
          case object
          when ::Class
            "class"
          when ::Module
            "module"
          else
            "instance"
          end
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
convenient_service-0.19.1 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.19.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.18.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.17.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.16.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.15.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.14.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.13.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.12.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.11.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.10.1 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.10.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.9.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.8.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.7.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.6.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.5.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.4.0 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.3.1 lib/convenient_service/utils/object/resolve_type.rb
convenient_service-0.3.0 lib/convenient_service/utils/object/resolve_type.rb