Verified Commit ac4a296c authored by Hercules Merscher's avatar Hercules Merscher 🌴
Browse files

refactor: Exposing only experience's id

parent f400c4a9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -94,7 +94,7 @@ module Labkit
      end

      def find_current(experience_id)
        Current.experiences.find { |xp| xp.covered_experience.to_s == experience_id.to_s }
        Current.experiences.find { |xp| xp.id == experience_id.to_s }
      end
    end
  end
+8 −6
Original line number Diff line number Diff line
@@ -39,12 +39,14 @@ module Labkit

      attr_reader :error, :start_time

      def_delegators :@definition, :covered_experience, :feature_category, :urgency

      def initialize(definition)
        @definition = definition
      end

      def id
        @definition.covered_experience
      end

      # Rehydrate an Experience instance from serialized data.
      #
      # @param data [Hash] A hash of serialized data.
@@ -53,7 +55,7 @@ module Labkit
        @start_time = Time.iso8601(data["start_time"]) if data&.has_key?("start_time") && data["start_time"]
        self
      rescue ArgumentError
        warn("Invalid #{@definition.covered_experience}, start_time: #{data['start_time']}")
        warn("Invalid #{id}, start_time: #{data['start_time']}")
        self
      end

@@ -244,9 +246,9 @@ module Labkit
      def build_log_data(event_type, **extra)
        log_data = ActiveSupport::HashWithIndifferentAccess.new(
          checkpoint: event_type,
          covered_experience: covered_experience,
          feature_category: feature_category,
          urgency: urgency,
          covered_experience: id,
          feature_category: @definition.feature_category,
          urgency: @definition.urgency,
          start_time: @start_time,
          checkpoint_time: @checkpoint_time,
          end_time: @end_time,
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ RSpec.describe Labkit::CoveredExperience::Current do
        result = described_class.rehydrate(experience_id, **experience_data)

        expect(result).to be_a(Labkit::CoveredExperience::Experience)
        expect(result.covered_experience).to eq(experience_id)
        expect(result.id).to eq(experience_id)
        expect(result.start_time).to eq(Time.iso8601(experience_data["start_time"]))
      end