Sha256: 792067267590d1fc26279d64daa64dc59679ef0abde9e80d47aacc689ede16c0
Contents?: true
Size: 987 Bytes
Versions: 1
Compression:
Stored size: 987 Bytes
Contents
# Copyright (c) 2011 - 2013, SoundCloud Ltd., Rany Keddo, Tobias Bielohlawek, Tobias # Schmidt module Lhm # Determine and format columns common to origin and destination. class Intersection def initialize(origin, destination, renames = {}) @origin = origin @destination = destination @renames = renames end def origin (common + @renames.keys).extend(Joiners) end def destination (common + @renames.values).extend(Joiners) end private def common (@origin.columns.keys & @destination.columns.keys).sort end module Joiners def escaped self.map { |name| tick(name) } end def joined escaped.join(', ') end def typed(type) self.map { |name| qualified(name, type) }.join(', ') end private def qualified(name, type) "`#{ type }`.`#{ name }`" end def tick(name) "`#{ name }`" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
lhm-2.2.0 | lib/lhm/intersection.rb |