Module: DecisionAgent::Dmn::Feel::Types::Converter

Defined in:
lib/decision_agent/dmn/feel/types.rb

Overview

Type conversion utilities

Class Method Summary collapse

Class Method Details

.to_feel_type(value) ⇒ Object



252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
# File 'lib/decision_agent/dmn/feel/types.rb', line 252

def self.to_feel_type(value)
  case value
  when Integer, Float, BigDecimal
    Number.new(value)
  when ::Time, ::DateTime
    Time.new(value)
  when ::Date
    Date.new(value)
  when Array
    List.new(value)
  when Hash
    Context.new(value)
  else
    value # Return as-is for strings, booleans, etc.
  end
end

.to_ruby(value) ⇒ Object



269
270
271
272
273
# File 'lib/decision_agent/dmn/feel/types.rb', line 269

def self.to_ruby(value)
  return value.to_ruby if value.respond_to?(:to_ruby)

  value
end