Class: Almicube::Ranking::SubRanking

Inherits:
Base
  • Object
show all
Defined in:
lib/almicube/ranking/sub_ranking.rb

Instance Attribute Summary collapse

Attributes inherited from Base

#aggregator, #class_name, #date, #per_page, #selector

Instance Method Summary collapse

Methods inherited from Base

#aggregate, #aggregate!, #bundled_keys, #cogs, #connection, #data?, #incr, #page, #rank, #records, #score

Constructor Details

#initialize(ranking, options = {}) ⇒ SubRanking

Returns a new instance of SubRanking.



6
7
8
9
10
11
12
13
# File 'lib/almicube/ranking/sub_ranking.rb', line 6

def initialize(ranking, options={})
  super(options)

  @ranking = ranking
  self.selector ||= ranking.selector
  self.bundler = ( options[:bundler] || Almicube::Bundler::YesterdayBundler.new )
  @class_name ||= ranking.class_name
end

Instance Attribute Details

#bundlerObject (readonly)

Returns the value of attribute bundler.



4
5
6
# File 'lib/almicube/ranking/sub_ranking.rb', line 4

def bundler
  @bundler
end

#rankingObject (readonly)

Returns the value of attribute ranking.



4
5
6
# File 'lib/almicube/ranking/sub_ranking.rb', line 4

def ranking
  @ranking
end

Instance Method Details

#data_keyObject



21
22
23
# File 'lib/almicube/ranking/sub_ranking.rb', line 21

def data_key
  ranking.key
end

#keyObject



15
16
17
18
19
# File 'lib/almicube/ranking/sub_ranking.rb', line 15

def key
  key = ranking.key.merge!( type: :built, suffix: suffix, selector: selector )
  key[:distinction] = "%{date}:in-%{selector}" unless selector.is_a? Selector::AllSelector
  key
end

#ranged(name) ⇒ Object



25
26
27
28
29
# File 'lib/almicube/ranking/sub_ranking.rb', line 25

def ranged(name)
  bundler_class = "Almicube::Bundler::#{name.to_s.classify}Bundler".constantize
  self.bundler = bundler_class.new if bundler_class.is_a? Class
  self
end