Sha256: e451b05924edeaeaf1b32d46d1439626ddc3ed05d4363c5a49f0088daeb1bee8

Contents?: true

Size: 652 Bytes

Versions: 27

Compression:

Stored size: 652 Bytes

Contents

# :stopdoc:
require 'htree/modules'

module HTree
  def HTree.with_frozen_string_hash
    if Thread.current[:htree_frozen_string_hash]
      yield
    else
      begin
        Thread.current[:htree_frozen_string_hash] = {}
        yield
      ensure
        Thread.current[:htree_frozen_string_hash] = nil
      end
    end
  end

  def HTree.frozen_string(str)
    if h = Thread.current[:htree_frozen_string_hash]
      if s = h[str]
        s
      else
        h[str] = str unless str.frozen?
        str = str.dup.freeze
        h[str] = str
      end
    else
      str = str.dup.freeze unless str.frozen?
      str
    end
  end
end
# :startdoc:

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
feedtools-0.2.0 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.12 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.1 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.10 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.11 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.13 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.16 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.17 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.15 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.14 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.18 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.19 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.2 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.20 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.21 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.22 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.23 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.24 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.26 lib/feed_tools/vendor/htree/fstr.rb
feedtools-0.2.25 lib/feed_tools/vendor/htree/fstr.rb