Sha256: 95f3749584f7f366d858bbc81958adb4d2a57544a3e76d9d454028232c1c40e4
Contents?: true
Size: 1.35 KB
Versions: 2
Compression:
Stored size: 1.35 KB
Contents
# frozen-string-literal: true # # The hash_aliases extension allows Dataset#select and Dataset#from # to treat a hash argument as an alias specification, with keys # being the expressions and values being the aliases, # which was the historical behavior before Sequel 4. # It is only recommended to use this for backwards compatibility. # # You can load this extension into specific datasets: # # ds = DB[:table] # ds = ds.extension(:hash_aliases) # # Or you can load it into all of a database's datasets, which # is probably the desired behavior if you are using this extension: # # DB.extension(:hash_aliases) # # Related module: Sequel::HashAliases Sequel::Deprecation.deprecate("The hash_aliases extension", "Please consider maintaining it yourself as an external gem if you want to continue using it") # module Sequel module HashAliases def from(*source) super(*convert_hash_aliases(source)) end def select(*columns, &block) virtual_row_columns(columns, block) super(*convert_hash_aliases(columns), &nil) end private def convert_hash_aliases(columns) m = [] columns.each do |i| if i.is_a?(Hash) m.concat(i.map{|k, v| SQL::AliasedExpression.new(k,v)}) else m << i end end m end end Dataset.register_extension(:hash_aliases, HashAliases) end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sequel-4.49.0 | lib/sequel/extensions/hash_aliases.rb |
sequel-4.48.0 | lib/sequel/extensions/hash_aliases.rb |