Sha256: 7ea23b3508cbb4ba375ab6563c6efc705041327b63f02b12ba22f38e3f3a0496

Contents?: true

Size: 456 Bytes

Versions: 33

Compression:

Stored size: 456 Bytes

Contents

module Marshal
  class << self
    def constantize(name)
      name.constantize
    end

    def load_with_constantize(value)
      begin
        Marshal.load_without_constantize value
      rescue ArgumentError => e
        _, class_name = *(/undefined class\/module ([\w:]*\w)/.match(e.message))
        raise if !class_name
        constantize(class_name)
        Marshal.load value
      end
    end
    alias_method_chain :load, :constantize
  end
end

Version data entries

33 entries across 33 versions & 10 rubygems

Version Path
ashleym1972-cache-money-0.2.5.1 lib/cash/util/marshal.rb
ashleym1972-cache-money-0.2.6 lib/cash/util/marshal.rb
ashleym1972-cache-money-0.2.7 lib/cash/util/marshal.rb
ashleym1972-cache-money-0.2.8 lib/cash/util/marshal.rb
ashleym1972-cache-money-0.2.9 lib/cash/util/marshal.rb
ngmoco-cache-money-0.2.24.2 lib/cash/util/marshal.rb
sreeix-cache-money-0.4.4 lib/cash/util/marshal.rb
sreeix-cache-money-0.4.3 lib/cash/util/marshal.rb
sreeix-cache-money-0.4.2 lib/cash/util/marshal.rb
sreeix-cache-money-0.4.1 lib/cash/util/marshal.rb
viximo-cache-money-0.3.0 lib/cash/util/marshal.rb
sreeix-cache-money-0.2.27 lib/cash/util/marshal.rb
sreeix-cache-money-0.2.26 lib/cash/util/marshal.rb
sreeix-cache-money-0.2.25 lib/cash/util/marshal.rb
sreeix-cache-money-0.2.24.1 lib/cash/util/marshal.rb
timchen-cache-money-0.2.25.1 lib/cash/util/marshal.rb
ngmoco-cache-money-0.2.23 lib/cash/util/marshal.rb
ngmoco-cache-money-0.2.22 lib/cash/util/marshal.rb
ngmoco-cache-money-0.2.21 lib/cash/util/marshal.rb
ngmoco-cache-money-0.2.20 lib/cash/util/marshal.rb