Module: Workarea::CurrentSegments
Class Method Summary
collapse
Instance Method Summary
collapse
#current_metrics, #current_referrer, #current_visit, #ensure_current_metrics, #update_tracking!
#cache_page, #http_caching?
Class Method Details
.has_segmented_content! ⇒ Object
17
18
19
|
# File 'app/controllers/workarea/current_segments.rb', line 17
def self.has_segmented_content!
Thread.current[:segmented_content] = true
end
|
.reset_segmented_content ⇒ Object
21
22
23
|
# File 'app/controllers/workarea/current_segments.rb', line 21
def self.reset_segmented_content
Thread.current[:segmented_content] = nil
end
|
.segmented_content? ⇒ Boolean
13
14
15
|
# File 'app/controllers/workarea/current_segments.rb', line 13
def self.segmented_content?
!!Thread.current[:segmented_content]
end
|
Instance Method Details
#apply_segments ⇒ Object
39
40
41
|
# File 'app/controllers/workarea/current_segments.rb', line 39
def apply_segments
Segment.with_current(current_visit&.applied_segments) { yield }
end
|
#current_segments ⇒ Object
35
36
37
|
# File 'app/controllers/workarea/current_segments.rb', line 35
def current_segments
Segment.current
end
|
#mark_segmented_content ⇒ Object
#override_segments=(segments) ⇒ Object
25
26
27
28
29
30
31
32
33
|
# File 'app/controllers/workarea/current_segments.rb', line 25
def override_segments=(segments)
if segments.blank?
session.delete(:segment_ids)
return
end
session[:segment_ids] = segments.map(&:id)
current_visit.override_segments = segments
end
|