Sha256: a664ec86395e476fc7329a6f97ecc74496bb29ee6cc745cc6dd19a19d42f6b1b

Contents?: true

Size: 594 Bytes

Versions: 17

Compression:

Stored size: 594 Bytes

Contents

# frozen_string_literal: true

require_relative "./common"
require "globalid"

module Fixtury
  module LocatorBackend
    class GlobalID

      include ::Fixtury::LocatorBackend::Common

      MATCHER = %r{^gid://}.freeze

      def recognized_reference?(ref)
        ref.is_a?(String) && MATCHER.match?(ref)
      end

      def recognized_value?(val)
        val.respond_to?(:to_global_id)
      end

      def load_recognized_reference(ref)
        ::GlobalID::Locator.locate ref
      end

      def dump_recognized_value(value)
        value.to_global_id.to_s
      end

    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
fixtury-0.4.1 lib/fixtury/locator_backend/globalid.rb
fixtury-0.4.0 lib/fixtury/locator_backend/globalid.rb
fixtury-0.3.5 lib/fixtury/locator_backend/globalid.rb
fixtury-0.3.4 lib/fixtury/locator_backend/globalid.rb
fixtury-0.3.3 lib/fixtury/locator_backend/globalid.rb
fixtury-0.3.2 lib/fixtury/locator_backend/globalid.rb
fixtury-0.3.1 lib/fixtury/locator_backend/globalid.rb
fixtury-0.3.0 lib/fixtury/locator_backend/globalid.rb
fixtury-0.3.0.beta lib/fixtury/locator_backend/globalid.rb
fixtury-0.2.1 lib/fixtury/locator_backend/globalid.rb
fixtury-0.2.0 lib/fixtury/locator_backend/globalid.rb
fixtury-0.1.0 lib/fixtury/locator_backend/globalid.rb
fixtury-0.1.0.rc1 lib/fixtury/locator_backend/globalid.rb
fixtury-0.1.0.beta2 lib/fixtury/locator_backend/globalid.rb
fixtury-0.1.0.beta lib/fixtury/locator_backend/globalid.rb
fixtury-0.1.0.alpha2 lib/fixtury/locator_backend/globalid.rb
fixtury-0.1.0.alpha lib/fixtury/locator_backend/globalid.rb