Class: SpreeSignifyd::UserSerializer

Inherits:
ActiveModel::Serializer
  • Object
show all
Defined in:
app/serializers/spree_signifyd/user_serializer.rb

Instance Method Summary collapse

Instance Method Details

#aggregateOrderCountObject


36
37
38
# File 'app/serializers/spree_signifyd/user_serializer.rb', line 36

def aggregateOrderCount
  completed_orders.count
end

#aggregateOrderDollarsObject


40
41
42
# File 'app/serializers/spree_signifyd/user_serializer.rb', line 40

def aggregateOrderDollars
  completed_orders.sum(:total).to_f
end

#attributes(*args) ⇒ Object

this is how to conditionally include attributes in AMS


10
11
12
13
14
# File 'app/serializers/spree_signifyd/user_serializer.rb', line 10

def attributes(*args)
  hash = super
  hash[:lastOrderId] = lastOrderId if lastOrderId.present?
  hash
end

#createdDateObject


24
25
26
# File 'app/serializers/spree_signifyd/user_serializer.rb', line 24

def createdDate
  object.created_at.utc.iso8601
end

#emailAddressObject


16
17
18
# File 'app/serializers/spree_signifyd/user_serializer.rb', line 16

def emailAddress
  object.email
end

#lastOrderIdObject


32
33
34
# File 'app/serializers/spree_signifyd/user_serializer.rb', line 32

def lastOrderId
  completed_orders.order("completed_at DESC").second.try(:number)
end

#lastUpdateDateObject


28
29
30
# File 'app/serializers/spree_signifyd/user_serializer.rb', line 28

def lastUpdateDate
  object.updated_at.utc.iso8601
end

#phoneObject


44
45
46
# File 'app/serializers/spree_signifyd/user_serializer.rb', line 44

def phone
  object.orders.order("created_at DESC").first.try!(:ship_address).try!(:phone)
end

#usernameObject


20
21
22
# File 'app/serializers/spree_signifyd/user_serializer.rb', line 20

def username
  object.email
end