Skip to Content Skip to Search
Methods
C
M
N
S
T

Attributes

[R] date
[R] run_zone
[R] search_time
[R] time_range

Class Public methods

new(query_time, opts = {})

# File engines/member/app/actions/member/content_search/daily.rb, line 8
def initialize(query_time, opts = {})
  @date = Date.new(*query_time.values_at(:year, :month, :day))
  @time_range = get_time_range(**query_time)
  @run_zone = opts[:run_zone] || Time.zone
  @search_time = get_search_time(opts[:search_time])
end

Instance Public methods

content()

# File engines/member/app/actions/member/content_search/daily.rb, line 15
def content
  search_scope = ContentSearch::Scope.new(date, time_zones, search_time)

  Member::ContentSearch::Searcher.new(search_scope.distinct_content)
end

content_with_members()

# File engines/member/app/actions/member/content_search/daily.rb, line 29
def content_with_members
  search_scope = ContentSearch::Scope.new(date, time_zones, search_time)

  Member::ContentSearch::Searcher.new(search_scope.content_and_members).cast_as do |result|
    [result, search_scope.build_member(result.attributes)]
  end
end

members_with_content_ids()

# File engines/member/app/actions/member/content_search/daily.rb, line 37
def members_with_content_ids
  search_scope = ContentSearch::Scope.new(date, time_zones, search_time)
  searcher = Member::ContentSearch::Searcher.new(search_scope.members_with_content_ids)
  searcher.cast_as do |result|
    {
      member: search_scope.build_member(result.attributes),
      content_ids: search_scope.unroll_content_ids(result.attributes)
    }
  end
end

sites()

# File engines/member/app/actions/member/content_search/daily.rb, line 21
def sites
  search_scope = ContentSearch::Scope.new(date, time_zones, search_time)

  Member::ContentSearch::Searcher.new(search_scope.sites).cast_as do |result|
    result
  end
end

time_zones()

# File engines/member/app/actions/member/content_search/daily.rb, line 48
def time_zones
  @time_zones ||= ActiveSupport::TimeZone.all.find_all { |zone|
    zone.at(search_time) >= time_range.min &&
      zone.at(search_time) < time_range.max
  }
end