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