summaryrefslogtreecommitdiff
path: root/ext/syck
diff options
context:
space:
mode:
authortenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-04-11 01:21:29 +0000
committertenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-04-11 01:21:29 +0000
commit48a68756f5813a078d3c69a4180a9102208f953b (patch)
treef750d83fcd4a0e071a19ce00591907da10d317b9 /ext/syck
parent5a7b5e70587a5b0fdd0fc1bbfa0d98d665e70970 (diff)
* 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/syck')
-rw-r--r--ext/syck/lib/syck/dbm.rb111
-rw-r--r--ext/syck/lib/syck/store.rb43
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