Sha256: fe02b402196969a03414a934a9ee551f6f1218b446f19506e2fe415b64931805

Contents?: true

Size: 849 Bytes

Versions: 14

Compression:

Stored size: 849 Bytes

Contents

class TestTrack::LazyVisitorByIdentity
  def initialize(identity)
    @identity = identity
  end

  def loaded?
    @__visitor__.present?
  end

  def id_loaded?
    loaded?
  end

  private

  def method_missing(method, *args, &block)
    if __visitor__.respond_to?(method)
      __visitor__.send(method, *args, &block)
    else
      super
    end
  end

  def respond_to_missing?(method, include_private = false)
    super || __visitor__.respond_to?(method, include_private)
  end

  def __visitor__
    @__visitor__ ||= __load_visitor__
  end

  def __load_visitor__
    remote_visitor = TestTrack::Remote::Visitor.from_identifier(
      @identity.test_track_identifier_type,
      @identity.test_track_identifier_value
    )
    TestTrack::Visitor.new(
      id: remote_visitor.id,
      assignments: remote_visitor.assignments
    )
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
test_track_rails_client-8.1.1 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-8.1.0 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-8.0.0 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-7.1.2 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-7.1.1 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-7.0.0 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-6.0.0 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-5.0.1 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-5.0.0 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.2 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.1 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.rc3 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.rc2 app/models/test_track/lazy_visitor_by_identity.rb