Module: Scale::Source
- Defined in:
- lib/scale/source.rb
Overview
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.
Defined Under Namespace
Classes: Enumerable, Range
Constant Summary collapse
- MAP =
Map Ruby classes/modules to scaling source classes/modules
{ ::Enumerable => Source::Enumerable, ::Range => Source::Range }
Class Method Summary collapse
-
.new(source) ⇒ Scale::Source::Enumerable, Scale::Source::Range
Build the appropriate scaling source class for the given Ruby object.
Class Method Details
.new(source) ⇒ Scale::Source::Enumerable, Scale::Source::Range
Build the appropriate scaling source class for the given Ruby object
59 60 61 62 63 64 65 66 |
# 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 |