Sha256: 3ae12561cc671d44fd65652c0098a48c1b4e34944eed9884c8ddb03965b3109a

Contents?: true

Size: 809 Bytes

Versions: 25

Compression:

Stored size: 809 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) # rubocop:disable Style/MethodMissing
    __visitor__.send(method, *args, &block)
  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

25 entries across 25 versions & 1 rubygems

Version Path
test_track_rails_client-4.0.0.alpha33 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha32 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha31 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha30 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha29 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha28 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha27 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha26 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha25 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha24 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha23 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha22 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha21 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha20 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha19 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha18 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha17 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha16 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha15 app/models/test_track/lazy_visitor_by_identity.rb
test_track_rails_client-4.0.0.alpha14 app/models/test_track/lazy_visitor_by_identity.rb