class Inferno::Repositories::SessionData

Public Instance Methods

entity_class_name() click to toggle source
# File lib/inferno/repositories/session_data.rb, line 38
def entity_class_name
  'SessionData'
end
get_all_from_session(test_session_id) click to toggle source
# File lib/inferno/repositories/session_data.rb, line 25
def get_all_from_session(test_session_id)
  self.class::Model
    .where(test_session_id: test_session_id)
    .all
    .map! do |session_data_hash|
      build_entity(
        session_data_hash
          .to_json_data
          .deep_symbolize_keys!
      )
    end
end
load(test_session_id:, name:) click to toggle source
# File lib/inferno/repositories/session_data.rb, line 19
def load(test_session_id:, name:)
  self.class::Model
    .find(test_session_id: test_session_id, name: name.to_s.downcase)
    &.value
end
save(params) click to toggle source
# File lib/inferno/repositories/session_data.rb, line 4
def save(params)
  name = params[:name].to_s.downcase
  test_session_id = params[:test_session_id]
  db
    .insert_conflict(
      target: :id,
      update: { value: params[:value] }
    ).insert(
      id: "#{test_session_id}_#{name}",
      name: name,
      value: params[:value],
      test_session_id: test_session_id
    )
end