Sha256: ea22da50b1c1248275c68650c7523cc7dee19ec46b5b0b03d74212eb98bfcff3
Contents?: true
Size: 818 Bytes
Versions: 2
Compression:
Stored size: 818 Bytes
Contents
require "sequel/enhancements" module Sequel module Plugins module StringUpcaser def self.apply(model, *args) model.instance_eval do @upcase_columns = Set.new end end def self.configure(model, column) model.add_upcase_column column end module ClassMethods Plugins.inherited_instance_variables(self, :@upcase_columns => :dup) def add_upcase_column(column) @upcase_columns << column end def upcase_column?(column) @upcase_columns.include? column end end module InstanceMethods def []=(k, v) if model.upcase_column?(k) && v.is_a?(String) && !v.is_a?(SQL::Blob) v = v.upcase end super end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sequel-enhancements-0.3.0 | lib/sequel/plugins/string_upcaser.rb |
sequel-enhancements-0.2.0 | lib/sequel/plugins/string_upcaser.rb |