Module: Errgonomic::Rails::ActiveRecordQuoting

Defined in:
lib/errgonomic/rails/active_record_optional.rb

Overview

Teach ActiveRecord SQL quoting to unwrap Options, quoting a None as SQL NULL.

Instance Method Summary collapse

Instance Method Details

#quote(value) ⇒ Object

Examples:

ActiveRecord::Base.connection.quote(Some(1)) # => "1"
ActiveRecord::Base.connection.quote(None()) # => "NULL"


509
510
511
512
513
514
# File 'lib/errgonomic/rails/active_record_optional.rb', line 509

def quote(value)
  return super(value) unless value.is_a?(Errgonomic::Option::Any)

  value.map { |val| super(val) }
       .unwrap_or_else { super(nil) }
end