Class: SpreeCmCommissioner::GoogleWallets::BaseGenericObjectBuilder

Inherits:
Object
  • Object
show all
Defined in:
app/services/spree_cm_commissioner/google_wallets/base_generic_object_builder.rb

Direct Known Subclasses

HotelObjectBuilder

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(line_item:) ⇒ BaseGenericObjectBuilder

Returns a new instance of BaseGenericObjectBuilder.



6
7
8
# File 'app/services/spree_cm_commissioner/google_wallets/base_generic_object_builder.rb', line 6

def initialize(line_item:)
  @line_item = line_item
end

Instance Attribute Details

#line_itemObject (readonly)

Returns the value of attribute line_item.



4
5
6
# File 'app/services/spree_cm_commissioner/google_wallets/base_generic_object_builder.rb', line 4

def line_item
  @line_item
end

Instance Method Details

#credentialsObject



29
30
31
# File 'app/services/spree_cm_commissioner/google_wallets/base_generic_object_builder.rb', line 29

def credentials
  Rails.application.credentials.
end

#issObject



17
18
19
# File 'app/services/spree_cm_commissioner/google_wallets/base_generic_object_builder.rb', line 17

def iss
  credentials.client_email
end

#issuer_idObject



21
22
23
# File 'app/services/spree_cm_commissioner/google_wallets/base_generic_object_builder.rb', line 21

def issuer_id
  ENV.fetch('ISSUER_ID', nil)
end

#objectObject

to be overrided



11
# File 'app/services/spree_cm_commissioner/google_wallets/base_generic_object_builder.rb', line 11

def object; end

#object_tokenObject



13
14
15
# File 'app/services/spree_cm_commissioner/google_wallets/base_generic_object_builder.rb', line 13

def object_token
  JWT.encode(object, signing_key, 'RS256')
end

#signing_keyObject



25
26
27
# File 'app/services/spree_cm_commissioner/google_wallets/base_generic_object_builder.rb', line 25

def signing_key
  OpenSSL::PKey::RSA.new(credentials.private_key)
end