class Almicube::Builder

Attributes

attribute_name[RW]
bundler[RW]
class_name[RW]
date[RW]
selector[RW]

Public Class Methods

new(options={}) click to toggle source
# File lib/almicube/builder.rb, line 5
def initialize(options={})
  @class_name = options[:class_name]
  @attribute_name = options[:attribute_name]
  @selector = select_selector(options[:selector])
  @bundler = select_bundler(options[:bundler])
  @date = options[:date] || Date.today
end

Public Instance Methods

data(date=nil) click to toggle source
# File lib/almicube/builder.rb, line 13
def data(date=nil)
  date ||= self.date
  Almicube::Ranking::DataRanking.new options.merge( date: date )
end
options() click to toggle source
# File lib/almicube/builder.rb, line 18
def options
  { selector: selector,
    bundler: bundler,
    date: date,
    class_name: class_name,
    attribute_name: attribute_name }
end

Protected Instance Methods

select_bundler(bundler) click to toggle source
# File lib/almicube/builder.rb, line 34
def select_bundler(bundler)
  bundler
end
select_selector(selector) click to toggle source
# File lib/almicube/builder.rb, line 28
def select_selector(selector)
  selector = selector.constantize if selector.is_a?(String) && Object.const_defined?(selector.to_s)
  selector = selector.new if selector.is_a? Class
  selector
end