Sha256: 94092a413d3dd9f91eab1c3057cee81341bf2c4ce57257b191f70f5fdcbed2db
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
require "mobility/util" require "mobility/backends/sequel" require "mobility/backends/hash_valued" require "mobility/backend/stringify_locale" module Mobility module Backends =begin Internal class used by Sequel backends backed by a Postgres data type (hstore, jsonb). =end class Sequel::PgHash include Sequel include HashValued include StringifyLocale # @!macro backend_iterator def each_locale super { |l| yield l.to_sym } end def translations model[attribute.to_sym] end setup do |attributes| method_overrides = Module.new do define_method :initialize_set do |values| attributes.each { |attribute| self[attribute.to_sym] = {} } super(values) end define_method :before_validation do attributes.each do |attribute| self[attribute.to_sym].delete_if { |_, v| Util.blank?(v) } end super() end end include method_overrides include Mobility::Sequel::ColumnChanges.new(attributes) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mobility-0.2.0 | lib/mobility/backends/sequel/pg_hash.rb |