Class: Workarea::Search::Admin::User
Instance Method Summary
collapse
#created_at, for, #id, jump_to, #jump_to_param, #jump_to_route_helper, #jump_to_search_text, #releasable?, #sanitized_keywords, #status, #type, #updated_at
all, #as_bulk_document, current_index_prefix, #destroy, #initialize, #save
Instance Method Details
#as_document ⇒ Object
35
36
37
38
39
40
41
|
# File 'app/models/workarea/search/admin/user.rb', line 35
def as_document
super.merge(
total_orders: metrics.orders,
total_spent: metrics.revenue,
average_order_value: metrics.average_order_value
)
end
|
#facets ⇒ Object
31
32
33
|
# File 'app/models/workarea/search/admin/user.rb', line 31
def facets
super.merge(role: role)
end
|
#jump_to_position ⇒ Object
23
24
25
|
# File 'app/models/workarea/search/admin/user.rb', line 23
def jump_to_position
1
end
|
#jump_to_text ⇒ Object
17
18
19
20
21
|
# File 'app/models/workarea/search/admin/user.rb', line 17
def jump_to_text
tmp = model.email.dup
tmp << " - #{model.name}" unless model.name == model.email
tmp
end
|
#keywords ⇒ Object
13
14
15
|
# File 'app/models/workarea/search/admin/user.rb', line 13
def keywords
super + [model.email]
end
|
#metrics ⇒ Object
43
44
45
|
# File 'app/models/workarea/search/admin/user.rb', line 43
def metrics
@metrics ||= Metrics::User.find_or_initialize_by(id: model.email)
end
|
#name ⇒ Object
5
6
7
|
# File 'app/models/workarea/search/admin/user.rb', line 5
def name
[model.last_name, model.first_name].reject(&:blank?).join(', ')
end
|
#search_text ⇒ Object
9
10
11
|
# File 'app/models/workarea/search/admin/user.rb', line 9
def search_text
UserText.new(model).text
end
|
#should_be_indexed? ⇒ Boolean
27
28
29
|
# File 'app/models/workarea/search/admin/user.rb', line 27
def should_be_indexed?
!model.system?
end
|