[前][次][番号順一覧][スレッド一覧]

ruby-changes:15401

From: tenderlove <ko1@a...>
Date: Sun, 11 Apr 2010 10:21:43 +0900 (JST)
Subject: [ruby-changes:15401] Ruby:r27294 (trunk): * ext/syck/lib/syck/dbm.rb: moved to lib/yaml/dbm.rb since it is not

tenderlove	2010-04-11 10:21:29 +0900 (Sun, 11 Apr 2010)

  New Revision: 27294

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=27294

  Log:
    * 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.

  Added files:
    trunk/lib/yaml/dbm.rb
    trunk/lib/yaml/store.rb
  Removed files:
    trunk/ext/syck/lib/syck/dbm.rb
    trunk/ext/syck/lib/syck/store.rb
  Modified files:
    trunk/test/syck/test_yamlstore.rb

Index: lib/yaml/dbm.rb
===================================================================
--- lib/yaml/dbm.rb	(revision 0)
+++ lib/yaml/dbm.rb	(revision 27294)
@@ -0,0 +1,111 @@
+require 'yaml'
+require 'dbm'
+#
+# YAML + DBM = YDBM
+# - Same interface as DBM class
+#
+module YAML
+
+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 YAML.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 = YAML.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 YAML.load( v ) }
+        self
+    end
+    def values
+        super.collect { |v| YAML.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] = YAML.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

Property changes on: lib/yaml/dbm.rb
___________________________________________________________________
Name: svn:eol-style
   + LF

Index: lib/yaml/store.rb
===================================================================
--- lib/yaml/store.rb	(revision 0)
+++ lib/yaml/store.rb	(revision 27294)
@@ -0,0 +1,43 @@
+#
+# YAML::Store
+#
+require 'yaml'
+require 'pstore'
+
+class YAML::Store < PStore
+  def initialize( *o )
+    @opt = {}
+    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 = YAML.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

Property changes on: lib/yaml/store.rb
___________________________________________________________________
Name: svn:eol-style
   + LF

Index: ext/syck/lib/syck/store.rb
===================================================================
--- ext/syck/lib/syck/store.rb	(revision 27293)
+++ ext/syck/lib/syck/store.rb	(revision 27294)
@@ -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
Index: ext/syck/lib/syck/dbm.rb
===================================================================
--- ext/syck/lib/syck/dbm.rb	(revision 27293)
+++ ext/syck/lib/syck/dbm.rb	(revision 27294)
@@ -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
Index: test/syck/test_yamlstore.rb
===================================================================
--- test/syck/test_yamlstore.rb	(revision 27293)
+++ test/syck/test_yamlstore.rb	(revision 27294)
@@ -1,5 +1,5 @@
 require 'test/unit'
-require 'syck/store'
+require 'yaml/store'
 
 module Syck
   class YAMLStoreTest < Test::Unit::TestCase

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]