Class: SpreeCmCommissioner::GoogleWallets::BaseGenericObjectBuilder
- Inherits:
-
Object
- Object
- SpreeCmCommissioner::GoogleWallets::BaseGenericObjectBuilder
- Defined in:
- app/services/spree_cm_commissioner/google_wallets/base_generic_object_builder.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#line_item ⇒ Object
readonly
Returns the value of attribute line_item.
Instance Method Summary collapse
- #credentials ⇒ Object
-
#initialize(line_item:) ⇒ BaseGenericObjectBuilder
constructor
A new instance of BaseGenericObjectBuilder.
- #iss ⇒ Object
- #issuer_id ⇒ Object
-
#object ⇒ Object
to be overrided.
- #object_token ⇒ Object
- #signing_key ⇒ Object
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_item ⇒ Object (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
#credentials ⇒ Object
29 30 31 |
# File 'app/services/spree_cm_commissioner/google_wallets/base_generic_object_builder.rb', line 29 def credentials Rails.application.credentials.google_wallet_service_account end |
#iss ⇒ Object
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_id ⇒ Object
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 |
#object ⇒ Object
to be overrided
11 |
# File 'app/services/spree_cm_commissioner/google_wallets/base_generic_object_builder.rb', line 11 def object; end |
#object_token ⇒ Object
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_key ⇒ Object
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 |