class FortuneTeller::TransformGenerator
Base class for FortuneTeller
objects that generate transforms
Attributes
end_date[R]
holder[R]
start_date[R]
Public Class Methods
new(holder: nil, start_date: nil, end_date: nil, **data)
click to toggle source
# File lib/fortuneteller/transform_generator.rb, line 6 def initialize(holder: nil, start_date: nil, end_date: nil, **data) @holder = holder @start_date = start_date @end_date = end_date @scheduled = [] @data = MomentStruct.new data end
Public Instance Methods
bounded_gen_transforms(from:, to:, plan:)
click to toggle source
# File lib/fortuneteller/transform_generator.rb, line 26 def bounded_gen_transforms(from:, to:, plan:) return [] if out_of_range?(from: from, to: to) from = tighten_from(from) to = tighten_to(to) gen_transforms(from: from, to: to, plan: plan) end
method_missing(name, *args)
click to toggle source
Calls superclass method
# File lib/fortuneteller/transform_generator.rb, line 14 def method_missing(name, *args) if @data.respond_to? name @data.send(name, *args) else super end end
respond_to_missing?(name, include_private = false)
click to toggle source
Calls superclass method
# File lib/fortuneteller/transform_generator.rb, line 22 def respond_to_missing?(name, include_private = false) @data.respond_to?(name) || super end
Private Instance Methods
out_of_range?(from:, to:)
click to toggle source
# File lib/fortuneteller/transform_generator.rb, line 43 def out_of_range?(from:, to:) return true if !@start_date.nil? && (to < @start_date) return true if !@end_date.nil? && (from >= @end_date) false end
state_reader()
click to toggle source
# File lib/fortuneteller/transform_generator.rb, line 35 def state_reader @data.to_reader end
states_in_range(from:, to:)
click to toggle source
# File lib/fortuneteller/transform_generator.rb, line 39 def states_in_range(from:, to:) @data.read_range(from: from, to: to) end
tighten_from(from)
click to toggle source
# File lib/fortuneteller/transform_generator.rb, line 49 def tighten_from(from) return from if @start_date.nil? [from, @start_date].max end
tighten_to(to)
click to toggle source
# File lib/fortuneteller/transform_generator.rb, line 54 def tighten_to(to) return to if @end_date.nil? [to, @end_date].min end