Class: Spree::Api::V2::Storefront::GoogleWalletObjectTokensController

Inherits:
ResourceController
  • Object
show all
Defined in:
app/controllers/spree/api/v2/storefront/google_wallet_object_tokens_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/controllers/spree/api/v2/storefront/google_wallet_object_tokens_controller.rb', line 12

def create
  render json: { error: 'Context is blank' }, status: :unprocessable_entity if line_item.google_wallet.blank?

  builder = line_item.google_wallet.object_builder.new(line_item: line_item)

  render_serialized_payload(201) do
    {
      data: {
        id: id,
        type: 'google_wallet_object',
        token: builder.object_token
      }
    }
  end
end

#idObject



28
29
30
# File 'app/controllers/spree/api/v2/storefront/google_wallet_object_tokens_controller.rb', line 28

def id
  SecureRandom.hex
end

#line_itemObject



8
9
10
# File 'app/controllers/spree/api/v2/storefront/google_wallet_object_tokens_controller.rb', line 8

def line_item
  @line_item ||= Spree::LineItem.find(params[:line_item_id])
end