module Scale::Source
These are the classes that describe what range the transformed number starts in. They're named after the core Ruby class that the input closest resembles.
Constants
- MAP
Map Ruby classes/modules to scaling source classes/modules
Public Class Methods
new(source)
click to toggle source
Build the appropriate scaling source class for the given Ruby object @param [::Enumerable] source @return [Scale::Source::Enumerable, Scale::Source::Range]
# File lib/scale/source.rb, line 59 def self.new(source) klass = MAP[source.class] if klass.nil? klasses = MAP.select { |k,v| source.kind_of?(k) } klass = klasses.values.first end klass.new(source) unless klass.nil? end