Sha256: 63fc31d94287fc4c11732f980e0e3a79c7f924ef0949f904525020cb86f18881
Contents?: true
Size: 1.09 KB
Versions: 3
Compression:
Stored size: 1.09 KB
Contents
module Danica module Wrapper def wrap_value(value) Wrapper.wrap_value(value) end def self.wrap_value(value) case value when Formatted value.content when Numeric wrap_numeric(value) when Hash wrap_hash(value) when String, Symbol, NilClass Variable.new(name: value) else raise Exception::InvalidInput, value unless value.is_a?(Danica::Common) value end end def self.wrap_numeric(number) return Negative.new(Number.new(-number)) if number < 0 Number.new(number) end def self.wrap_hash(hash) return Constant.new(hash) if hash.keys.map(&:to_sym).sort == %i(gnuplot latex value) Variable.new(hash) end autoload :Number, 'danica/wrapper/number' autoload :Group, 'danica/wrapper/group' autoload :Negative, 'danica/wrapper/negative' autoload :PlusMinus, 'danica/wrapper/plus_minus' autoload :Constant, 'danica/wrapper/constant' autoload :Variable, 'danica/wrapper/variable' autoload :Container, 'danica/wrapper/container' end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
danica-2.7.4 | lib/danica/wrapper.rb |
danica-2.7.3 | lib/danica/wrapper.rb |
danica-2.7.2 | lib/danica/wrapper.rb |