module TimeScales::Frame
Public Class Methods
[](frame_parts = {})
click to toggle source
# File lib/time_scales/frame.rb, line 23 def [](frame_parts = {}) return Frame::NullFrame.instance if frame_parts.keys.empty? part_defs = PartDefs.from_key_value_map( frame_parts ) instance_for_part_defs( part_defs ) end
type_for(*part_keys)
click to toggle source
# File lib/time_scales/frame.rb, line 16 def type_for(*part_keys) return Frame::NullFrame if part_keys.empty? part_defs = PartDefs.from_key_value_map( part_keys ) type_for_parts( part_defs.parts ) end
Private Class Methods
instance_for_part_defs(defs)
click to toggle source
# File lib/time_scales/frame.rb, line 38 def instance_for_part_defs(defs) type = type_for_parts( defs.parts ) type.new( *defs.part_values ) end
type_for_parts(parts)
click to toggle source
# File lib/time_scales/frame.rb, line 32 def type_for_parts(parts) return Frame::NullFrame if parts.empty? builder = TypeBuilder.new(parts) builder.call end