Module: SpreeCmCommissioner::FirestoreConnection

Overview

Shared Cloud Firestore client construction, used across the waiting-room services (see WaitingRoom::Admission::CallGuests, WaitingRoom::Positions::Stamp, WaitingRoom::Sessions::Issue) plus a #firestore_available? guard so environments without the credential (dev, test, CI) no-op instead of raising on connect.

Instance Method Summary collapse

Instance Method Details

#firestoreObject



15
16
17
18
19
20
# File 'app/models/concerns/spree_cm_commissioner/firestore_connection.rb', line 15

def firestore
  @firestore ||= Google::Cloud::Firestore.new(
    project_id: [:project_id],
    credentials: 
  )
end

#firestore_available?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'app/models/concerns/spree_cm_commissioner/firestore_connection.rb', line 11

def firestore_available?
  .present?
end

#service_accountObject



22
23
24
# File 'app/models/concerns/spree_cm_commissioner/firestore_connection.rb', line 22

def 
  @service_account ||= Rails.application.credentials.
end