Sha256: b02d6b77064696431b6b43e7c69bebc62da3a9c90159f181b28e669fa1b889f3

Contents?: true

Size: 521 Bytes

Versions: 1

Compression:

Stored size: 521 Bytes

Contents

module ROM
  module SQL
    class Expression
      attr_reader :expr, :type

      def initialize(type, expr = type.sql_expr)
        @type = type
        @expr = expr
      end

      def sql_literal(ds)
        expr.sql_literal(ds)
      end

      private

      def method_missing(meth, *args, &block)
        if type.respond_to?(meth)
          self.class.new(type.__send__(meth, *args, &block))
        else
          self.class.new(type, expr.__send__(meth, *args, &block))
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rom-sql-1.0.0.beta1 lib/rom/sql/expression.rb