diff options
author | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-04-11 01:21:29 +0000 |
---|---|---|
committer | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-04-11 01:21:29 +0000 |
commit | 48a68756f5813a078d3c69a4180a9102208f953b (patch) | |
tree | f750d83fcd4a0e071a19ce00591907da10d317b9 /ext | |
parent | 5a7b5e70587a5b0fdd0fc1bbfa0d98d665e70970 (diff) | |
download | ruby-48a68756f5813a078d3c69a4180a9102208f953b.tar.gz |
* ext/syck/lib/syck/dbm.rb: moved to lib/yaml/dbm.rb since it is not
YAML engine specific
* ext/syck/lib/syck/store.rb: moved to lib/yaml/store.rb since it is not
YAML engine specific.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/syck/lib/syck/dbm.rb | 111 | ||||
-rw-r--r-- | ext/syck/lib/syck/store.rb | 43 |
2 files changed, 0 insertions, 154 deletions
diff --git a/ext/syck/lib/syck/dbm.rb b/ext/syck/lib/syck/dbm.rb deleted file mode 100644 index 95611afb04..0000000000 --- a/ext/syck/lib/syck/dbm.rb +++ /dev/null @@ -1,111 +0,0 @@ -require 'syck' -require 'dbm' -# -# YAML + DBM = YDBM -# - Same interface as DBM class -# -module Syck - -class DBM < ::DBM - VERSION = "0.1" - def []( key ) - fetch( key ) - end - def []=( key, val ) - store( key, val ) - end - def fetch( keystr, ifnone = nil ) - begin - val = super( keystr ) - return Syck.load( val ) if String === val - rescue IndexError - end - if block_given? - yield keystr - else - ifnone - end - end - def index( keystr ) - super( keystr.to_yaml ) - end - def values_at( *keys ) - keys.collect { |k| fetch( k ) } - end - def delete( key ) - v = super( key ) - if String === v - v = Syck.load( v ) - end - v - end - def delete_if - del_keys = keys.dup - del_keys.delete_if { |k| yield( k, fetch( k ) ) == false } - del_keys.each { |k| delete( k ) } - self - end - def reject - hsh = self.to_hash - hsh.reject { |k,v| yield k, v } - end - def each_pair - keys.each { |k| yield k, fetch( k ) } - self - end - def each_value - super { |v| yield Syck.load( v ) } - self - end - def values - super.collect { |v| Syck.load( v ) } - end - def has_value?( val ) - each_value { |v| return true if v == val } - return false - end - def invert - h = {} - keys.each { |k| h[ self.fetch( k ) ] = k } - h - end - def replace( hsh ) - clear - update( hsh ) - end - def shift - a = super - a[1] = Syck.load( a[1] ) if a - a - end - def select( *keys ) - if block_given? - self.keys.collect { |k| v = self[k]; [k, v] if yield k, v }.compact - else - values_at( *keys ) - end - end - def store( key, val ) - super( key, val.to_yaml ) - val - end - def update( hsh ) - hsh.keys.each do |k| - self.store( k, hsh.fetch( k ) ) - end - self - end - def to_a - a = [] - keys.each { |k| a.push [ k, self.fetch( k ) ] } - a - end - def to_hash - h = {} - keys.each { |k| h[ k ] = self.fetch( k ) } - h - end - alias :each :each_pair -end - -end diff --git a/ext/syck/lib/syck/store.rb b/ext/syck/lib/syck/store.rb deleted file mode 100644 index 8f27cf49c0..0000000000 --- a/ext/syck/lib/syck/store.rb +++ /dev/null @@ -1,43 +0,0 @@ -# -# YAML::Store -# -require 'syck' -require 'pstore' - -class Syck::Store < PStore - def initialize( *o ) - @opt = Syck::DEFAULTS.dup - if String === o.first - super(o.shift) - end - if o.last.is_a? Hash - @opt.update(o.pop) - end - end - - def dump(table) - @table.to_yaml(@opt) - end - - def load(content) - table = Syck::load(content) - if table == false - {} - else - table - end - end - - def marshal_dump_supports_canonical_option? - false - end - - EMPTY_MARSHAL_DATA = {}.to_yaml - EMPTY_MARSHAL_CHECKSUM = Digest::MD5.digest(EMPTY_MARSHAL_DATA) - def empty_marshal_data - EMPTY_MARSHAL_DATA - end - def empty_marshal_checksum - EMPTY_MARSHAL_CHECKSUM - end -end |