Sha256: 1fdc178684d942a6f06a78acba1c18dac703d7554e946f72ddd112313d99887f
Contents?: true
Size: 1.44 KB
Versions: 1
Compression:
Stored size: 1.44 KB
Contents
require 'rom/schema/type' module ROM module SQL class Type < ROM::Schema::Type # Return a new type marked as a FK # # @return [SQL::Type] # # @api public def foreign_key meta(foreign_key: true) end # Return a new type marked as qualified # # @return [SQL::Type] # # @api public def qualified meta(qualified: true) end # Return a new type marked as joined # # @return [SQL::Type] # # @api public def joined meta(joined: true) end # Return if an attribute was used in a join # # @return [Boolean] # # @api public def joined? meta[:joined].equal?(true) end # Return if an attribute type is qualified # # @return [Boolean] # # @api public def qualified? meta[:qualified].equal?(true) end # @api public def to_sym @_to_sym ||= if qualified? && aliased? :"#{source.dataset}__#{name}___#{meta[:alias]}" elsif qualified? :"#{source.dataset}__#{name}" elsif aliased? :"#{name}___#{meta[:alias]}" else name end end # @api private def sql_literal(ds) sql_expr.sql_literal(ds) end # @api private def sql_expr Sequel.expr(to_sym) 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/type.rb |