Module: SpreeSignifyd

Defined in:
lib/spree_signifyd.rb,
lib/spree_signifyd/engine.rb,
lib/spree_signifyd/request_verifier.rb,
app/models/spree_signifyd/order_score.rb,
lib/spree_signifyd/create_signifyd_case.rb,
app/models/spree_signifyd/shipment_decorator.rb,
app/serializers/spree_signifyd/user_serializer.rb,
app/serializers/spree_signifyd/order_serializer.rb,
app/serializers/spree_signifyd/address_serializer.rb,
app/serializers/spree_signifyd/line_item_serializer.rb,
app/serializers/spree_signifyd/credit_card_serializer.rb,
app/serializers/spree_signifyd/billing_address_serializer.rb,
app/serializers/spree_signifyd/delivery_address_serializer.rb

Defined Under Namespace

Modules: OrderConcerns, RequestVerifier, ShipmentDecorator Classes: AddressSerializer, BillingAddressSerializer, CreateSignifydCase, CreditCardSerializer, DeliveryAddressSerializer, Engine, LineItemSerializer, OrderScore, OrderSerializer, UserSerializer

Class Method Summary collapse

Class Method Details

.approve(order:) ⇒ Object



20
21
22
23
24
25
# File 'lib/spree_signifyd.rb', line 20

def approve(order:)
  order.contents.approve(name: self.name)
  order.shipments.each { |shipment| shipment.ready! if shipment.can_ready? }
  order.updater.update_shipment_state
  order.save!
end

.create_case(order_number:) ⇒ Object



27
28
29
30
# File 'lib/spree_signifyd.rb', line 27

def create_case(order_number:)
  Rails.logger.info "Queuing Signifyd case creation event: #{order_number}"
  SpreeSignifyd::CreateSignifydCase.perform_later(order_number)
end

.score_above_threshold?(score) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/spree_signifyd.rb', line 32

def score_above_threshold?(score)
  score > SpreeSignifyd::Config[:signifyd_score_threshold]
end

.set_score(order:, score:) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/spree_signifyd.rb', line 12

def set_score(order:, score:)
  if order.signifyd_order_score
    order.signifyd_order_score.update!(score: score)
  else
    order.create_signifyd_order_score!(score: score)
  end
end