extlib 0.9.14 → 0.9.15

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of extlib might be problematic. Click here for more details.

data/.gitignore CHANGED
@@ -13,10 +13,23 @@ tmtags
13
13
  ## VIM
14
14
  *.swp
15
15
 
16
+ ## Rubinius
17
+ *.rbc
18
+
16
19
  ## PROJECT::GENERAL
20
+ *.gem
17
21
  coverage
18
22
  rdoc
19
23
  pkg
20
24
  tmp
25
+ doc
26
+ log
27
+ .yardoc
28
+ measurements
29
+
30
+ ## BUNDLER
31
+ .bundle
32
+ Gemfile.local
33
+ Gemfile.lock
21
34
 
22
35
  ## PROJECT::SPECIFIC
data/Rakefile CHANGED
@@ -15,9 +15,8 @@ begin
15
15
 
16
16
  gem.rubyforge_project = 'extlib'
17
17
 
18
- gem.add_development_dependency 'json_pure', '~> 1.2.0'
19
- gem.add_development_dependency 'rspec', '~> 1.2.9'
20
- gem.add_development_dependency 'yard', '~> 0.4.0'
18
+ gem.add_development_dependency 'json_pure', '~> 1.4'
19
+ gem.add_development_dependency 'rspec', '~> 1.3'
21
20
  end
22
21
 
23
22
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.14
1
+ 0.9.15
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{extlib}
8
- s.version = "0.9.14"
8
+ s.version = "0.9.15"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Dan Kubb"]
12
- s.date = %q{2009-12-11}
12
+ s.date = %q{2010-05-18}
13
13
  s.description = %q{Support library for DataMapper and Merb}
14
14
  s.email = %q{dan.kubb@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -39,6 +39,7 @@ Gem::Specification.new do |s|
39
39
  "lib/extlib/inflection.rb",
40
40
  "lib/extlib/lazy_array.rb",
41
41
  "lib/extlib/lazy_module.rb",
42
+ "lib/extlib/local_object_space.rb",
42
43
  "lib/extlib/logger.rb",
43
44
  "lib/extlib/mash.rb",
44
45
  "lib/extlib/module.rb",
@@ -54,6 +55,7 @@ Gem::Specification.new do |s|
54
55
  "lib/extlib/struct.rb",
55
56
  "lib/extlib/symbol.rb",
56
57
  "lib/extlib/time.rb",
58
+ "lib/extlib/try_dup.rb",
57
59
  "lib/extlib/virtual_file.rb",
58
60
  "spec/array_spec.rb",
59
61
  "spec/blank_spec.rb",
@@ -93,7 +95,7 @@ Gem::Specification.new do |s|
93
95
  s.rdoc_options = ["--charset=UTF-8"]
94
96
  s.require_paths = ["lib"]
95
97
  s.rubyforge_project = %q{extlib}
96
- s.rubygems_version = %q{1.3.5}
98
+ s.rubygems_version = %q{1.3.6}
97
99
  s.summary = %q{Support library for DataMapper and Merb}
98
100
  s.test_files = [
99
101
  "spec/array_spec.rb",
@@ -129,18 +131,15 @@ Gem::Specification.new do |s|
129
131
  s.specification_version = 3
130
132
 
131
133
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
132
- s.add_development_dependency(%q<json_pure>, ["~> 1.2.0"])
133
- s.add_development_dependency(%q<rspec>, ["~> 1.2.9"])
134
- s.add_development_dependency(%q<yard>, ["~> 0.4.0"])
134
+ s.add_development_dependency(%q<json_pure>, ["~> 1.4"])
135
+ s.add_development_dependency(%q<rspec>, ["~> 1.3"])
135
136
  else
136
- s.add_dependency(%q<json_pure>, ["~> 1.2.0"])
137
- s.add_dependency(%q<rspec>, ["~> 1.2.9"])
138
- s.add_dependency(%q<yard>, ["~> 0.4.0"])
137
+ s.add_dependency(%q<json_pure>, ["~> 1.4"])
138
+ s.add_dependency(%q<rspec>, ["~> 1.3"])
139
139
  end
140
140
  else
141
- s.add_dependency(%q<json_pure>, ["~> 1.2.0"])
142
- s.add_dependency(%q<rspec>, ["~> 1.2.9"])
143
- s.add_dependency(%q<yard>, ["~> 0.4.0"])
141
+ s.add_dependency(%q<json_pure>, ["~> 1.4"])
142
+ s.add_dependency(%q<rspec>, ["~> 1.3"])
144
143
  end
145
144
  end
146
145
 
@@ -1,10 +1,10 @@
1
1
  require 'pathname'
2
2
 
3
- # for Pathname /
4
3
  require 'extlib/pathname'
5
4
  require 'extlib/class.rb'
6
5
  require 'extlib/object'
7
6
  require 'extlib/object_space'
7
+ require 'extlib/local_object_space'
8
8
  require 'extlib/array'
9
9
  require 'extlib/string'
10
10
  require 'extlib/symbol'
@@ -27,6 +27,7 @@ require 'extlib/blank'
27
27
  require 'extlib/simple_set'
28
28
  require 'extlib/struct'
29
29
  require 'extlib/symbol'
30
+ require 'extlib/try_dup'
30
31
 
31
32
  Extlib.autoload('Hook', 'extlib/hook')
32
33
  Extlib.autoload('Pooling', 'extlib/pooling')
@@ -1,3 +1,5 @@
1
+ require 'extlib/mash'
2
+
1
3
  class Array
2
4
 
3
5
  ##
@@ -1,3 +1,5 @@
1
+ require 'extlib/try_dup'
2
+
1
3
  # Copyright (c) 2004-2008 David Heinemeier Hansson
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining
@@ -1,4 +1,4 @@
1
- require "date"
1
+ require 'time'
2
2
 
3
3
  class DateTime
4
4
  ##
@@ -1,3 +1,11 @@
1
+ require "time"
2
+ require 'bigdecimal'
3
+
4
+ require 'extlib/object'
5
+ require 'extlib/mash'
6
+ require 'extlib/class'
7
+ require 'extlib/string'
8
+
1
9
  class Hash
2
10
  class << self
3
11
  # Converts valid XML into a Ruby Hash structure.
@@ -1,3 +1,8 @@
1
+ require 'extlib/assertions'
2
+ require 'extlib/class'
3
+ require 'extlib/object'
4
+ require 'extlib/local_object_space'
5
+
1
6
  module Extlib
2
7
  #
3
8
  # TODO: Write more documentation!
@@ -30,16 +35,19 @@ module Extlib
30
35
  class << self
31
36
  def method_added(name)
32
37
  process_method_added(name, :instance)
38
+ super
33
39
  end
34
40
 
35
41
  def singleton_method_added(name)
36
42
  process_method_added(name, :class)
43
+ super
37
44
  end
38
45
  end
39
46
  end
40
47
  end
41
48
 
42
49
  module ClassMethods
50
+ extend Extlib::LocalObjectSpace
43
51
  include Extlib::Assertions
44
52
  # Inject code that executes before the target class method.
45
53
  #
@@ -260,14 +268,15 @@ module Extlib
260
268
  # Returns ruby code that will invoke the hook. It checks the arity of the hook method
261
269
  # and passes arguments accordingly.
262
270
  def inline_call(method_info, scope)
271
+ Extlib::Hook::ClassMethods.hook_scopes << method_info[:from]
263
272
  name = method_info[:name]
264
273
 
265
274
  if scope == :instance
266
275
  args = method_defined?(name) && instance_method(name).arity != 0 ? '*args' : ''
267
- %(#{name}(#{args}) if self.class <= ObjectSpace._id2ref(#{method_info[:from].object_id}))
276
+ %(#{name}(#{args}) if self.class <= Extlib::Hook::ClassMethods.object_by_id(#{method_info[:from].object_id}))
268
277
  else
269
278
  args = respond_to?(name) && method(name).arity != 0 ? '*args' : ''
270
- %(#{name}(#{args}) if self <= ObjectSpace._id2ref(#{method_info[:from].object_id}))
279
+ %(#{name}(#{args}) if self <= Extlib::Hook::ClassMethods.object_by_id(#{method_info[:from].object_id}))
271
280
  end
272
281
  end
273
282
 
@@ -1,3 +1,5 @@
1
+ require 'extlib/string'
2
+
1
3
  module Extlib
2
4
 
3
5
  # = English Nouns Number Inflection.
@@ -1,3 +1,5 @@
1
+ require 'extlib/try_dup'
2
+
1
3
  class LazyArray # borrowed partially from StrokeDB
2
4
  include Enumerable
3
5
 
@@ -0,0 +1,12 @@
1
+ module Extlib
2
+ module LocalObjectSpace
3
+ def self.extended(klass)
4
+ (class << klass; self; end).send :attr_accessor, :hook_scopes
5
+ klass.hook_scopes = []
6
+ end
7
+
8
+ def object_by_id(object_id)
9
+ self.hook_scopes.detect {|object| object.object_id == object_id}
10
+ end
11
+ end
12
+ end
@@ -1,3 +1,5 @@
1
+ require 'extlib/hash'
2
+
1
3
  # This class has dubious semantics and we only have it so that people can write
2
4
  # params[:key] instead of params['key'].
3
5
  class Mash < Hash
@@ -1,3 +1,7 @@
1
+ require 'extlib/object'
2
+ require 'extlib/class'
3
+ require 'extlib/blank'
4
+
1
5
  class Module
2
6
  def find_const(const_name)
3
7
  if const_name[0..1] == '::'
@@ -1,3 +1,6 @@
1
+ require 'set'
2
+ require 'extlib/blank'
3
+
1
4
  class Object
2
5
  # Extracts the singleton class, so that metaprogramming can be done on it.
3
6
  #
@@ -92,14 +95,14 @@ class Object
92
95
  # @param name<String> The name of the full module name to make
93
96
  #
94
97
  # @return [nil]
95
- def make_module(str)
96
- mod = str.split("::")
98
+ def make_module(string)
97
99
  current_module = self
98
- mod.each do |x|
99
- unless current_module.const_defined?(x)
100
- current_module.class_eval "module #{x}; end", __FILE__, __LINE__
100
+ string.split('::').each do |part|
101
+ current_module = if current_module.const_defined?(part)
102
+ current_module.const_get(part)
103
+ else
104
+ current_module.const_set(part, Module.new)
101
105
  end
102
- current_module = current_module.const_get(x)
103
106
  end
104
107
  current_module
105
108
  end
@@ -1,4 +1,5 @@
1
- require "date"
1
+ require 'date'
2
+ require 'extlib/datetime'
2
3
 
3
4
  class Time
4
5
 
@@ -0,0 +1,44 @@
1
+ class Object
2
+ # Override this in a child if it cannot be dup'ed
3
+ #
4
+ # @return [Object]
5
+ def try_dup
6
+ self.dup
7
+ end
8
+ end
9
+
10
+ class TrueClass
11
+ def try_dup
12
+ self
13
+ end
14
+ end
15
+
16
+ class FalseClass
17
+ def try_dup
18
+ self
19
+ end
20
+ end
21
+
22
+ class Module
23
+ def try_dup
24
+ self
25
+ end
26
+ end
27
+
28
+ class NilClass
29
+ def try_dup
30
+ self
31
+ end
32
+ end
33
+
34
+ class Numeric
35
+ def try_dup
36
+ self
37
+ end
38
+ end
39
+
40
+ class Symbol
41
+ def try_dup
42
+ self
43
+ end
44
+ end
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/array'
2
3
 
3
4
  describe Array do
4
5
  before :all do
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/blank'
2
3
 
3
4
  describe Object do
4
5
  it 'should provide blank?' do
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/byte_array'
2
3
 
3
4
  describe Extlib::ByteArray do
4
5
  it 'should be a String' do
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/class'
2
3
 
3
4
  class Grandparent
4
5
  end
@@ -1,5 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
2
- require 'json'
1
+ require 'spec_helper'
2
+ require 'extlib/datetime'
3
3
 
4
4
  describe DateTime, "#to_time" do
5
5
  before do
@@ -1,6 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
2
- require "date"
3
- require 'bigdecimal'
1
+ require 'spec_helper'
2
+ require 'extlib/hash'
4
3
 
5
4
  describe Hash, "environmentize_keys!" do
6
5
  it "should transform keys to uppercase text" do
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/hook'
2
3
 
3
4
  describe Extlib::Hook do
4
5
 
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/inflection'
2
3
 
3
4
  describe Extlib::Inflection, "#singular" do
4
5
  it "pluralizes equipment => equipment" do
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/inflection'
2
3
 
3
4
  describe Extlib::Inflection, "#singular" do
4
5
  # ==== exceptional cases
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/inflection'
2
3
 
3
4
  describe Extlib::Inflection do
4
5
  describe "#classify" do
@@ -1,4 +1,8 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/lazy_array'
3
+
4
+ # only needed for specs
5
+ require 'extlib/class'
2
6
 
3
7
  module LazyArraySpec
4
8
  module GroupMethods
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
2
  require 'extlib/lazy_module'
3
3
 
4
4
  describe LazyModule do
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/mash'
2
3
 
3
4
  class AwesomeHash < Hash
4
5
  end
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/module'
2
3
 
3
4
  describe Module do
4
5
 
@@ -17,7 +18,7 @@ describe Module do
17
18
  end
18
19
  end
19
20
 
20
- class ::Baz
21
+ class ::Bas
21
22
  end
22
23
 
23
24
  class ::Bar
@@ -39,7 +40,7 @@ describe Module do
39
40
 
40
41
  it "should find relative constants" do
41
42
  Foo.find_const('ModBar').should == Foo::ModBar
42
- Foo.find_const('Baz').should == Baz
43
+ Foo.find_const('Bas').should == Bas
43
44
  end
44
45
 
45
46
  it "should find sibling constants" do
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/object_space'
2
3
 
3
4
  describe ObjectSpace, "#classes" do
4
5
  it 'returns only classes, nothing else' do
@@ -1,5 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
2
- require "set"
1
+ require 'spec_helper'
2
+ require 'extlib/object'
3
3
 
4
4
  module HactiveSupport
5
5
  class MemoizeConsideredUseless
@@ -27,8 +27,8 @@ describe Object do
27
27
 
28
28
  describe "#full_const_get" do
29
29
  it 'returns constant by FQ name in receiver namespace' do
30
- Object.full_const_get("Extlib").should == Extlib
31
- Object.full_const_get("Extlib::SimpleSet").should == Extlib::SimpleSet
30
+ Object.full_const_get("Oi").should == Oi
31
+ Object.full_const_get("Foo::Bar").should == Foo::Bar
32
32
  end
33
33
  end
34
34
 
@@ -1,5 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
2
- require 'timeout'
1
+ require 'spec_helper'
2
+ require 'extlib' # extlib/pooling is enough but specs rely on methods defined in extlib.rb
3
3
 
4
4
  module Extlib::Pooling
5
5
  class << self
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/simple_set'
2
3
 
3
4
  describe Extlib::SimpleSet do
4
5
 
@@ -3,8 +3,5 @@ require "rubygems"
3
3
  require "spec"
4
4
  require "yaml"
5
5
 
6
- dir = File.dirname(__FILE__)
7
- lib_path = File.expand_path("#{dir}/../lib")
6
+ lib_path = File.expand_path('../lib', __FILE__)
8
7
  $LOAD_PATH.unshift lib_path unless $LOAD_PATH.include?(lib_path)
9
-
10
- require 'extlib'
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/string'
2
3
 
3
4
  describe String, "#to_const_string" do
4
5
  it "swaps slashes with ::" do
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/struct'
2
3
 
3
4
  describe Struct do
4
5
 
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/symbol'
2
3
 
3
4
  describe Symbol, "#/" do
4
5
  it "concanates operands with File::SEPARATOR" do
@@ -1,4 +1,6 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/time'
3
+
2
4
  require 'json'
3
5
 
4
6
  describe Time, "#to_json" do
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib'
2
3
 
3
4
  describe "#try_call" do
4
5
  describe "with an Object" do
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/try_dup'
2
3
 
3
4
  describe "try_dup" do
4
5
  it "returns a duplicate version on regular objects" do
@@ -38,7 +39,7 @@ describe "try_dup" do
38
39
  end
39
40
 
40
41
  it "returns self on modules" do
41
- obj = Extlib
42
+ obj = Module.new
42
43
  oth = obj.try_dup
43
44
  obj.object_id.should == oth.object_id
44
45
  end
@@ -1,4 +1,5 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
1
+ require 'spec_helper'
2
+ require 'extlib/virtual_file'
2
3
 
3
4
  describe VirtualFile do
4
5
  it 'inherits from StringIO' do
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: extlib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.14
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 9
8
+ - 15
9
+ version: 0.9.15
5
10
  platform: ruby
6
11
  authors:
7
12
  - Dan Kubb
@@ -9,39 +14,35 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-12-11 00:00:00 -08:00
17
+ date: 2010-05-18 00:00:00 -07:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: json_pure
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ~>
22
26
  - !ruby/object:Gem::Version
23
- version: 1.2.0
24
- version:
27
+ segments:
28
+ - 1
29
+ - 4
30
+ version: "1.4"
31
+ type: :development
32
+ version_requirements: *id001
25
33
  - !ruby/object:Gem::Dependency
26
34
  name: rspec
27
- type: :development
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
35
+ prerelease: false
36
+ requirement: &id002 !ruby/object:Gem::Requirement
30
37
  requirements:
31
38
  - - ~>
32
39
  - !ruby/object:Gem::Version
33
- version: 1.2.9
34
- version:
35
- - !ruby/object:Gem::Dependency
36
- name: yard
40
+ segments:
41
+ - 1
42
+ - 3
43
+ version: "1.3"
37
44
  type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - ~>
42
- - !ruby/object:Gem::Version
43
- version: 0.4.0
44
- version:
45
+ version_requirements: *id002
45
46
  description: Support library for DataMapper and Merb
46
47
  email: dan.kubb@gmail.com
47
48
  executables: []
@@ -74,6 +75,7 @@ files:
74
75
  - lib/extlib/inflection.rb
75
76
  - lib/extlib/lazy_array.rb
76
77
  - lib/extlib/lazy_module.rb
78
+ - lib/extlib/local_object_space.rb
77
79
  - lib/extlib/logger.rb
78
80
  - lib/extlib/mash.rb
79
81
  - lib/extlib/module.rb
@@ -89,6 +91,7 @@ files:
89
91
  - lib/extlib/struct.rb
90
92
  - lib/extlib/symbol.rb
91
93
  - lib/extlib/time.rb
94
+ - lib/extlib/try_dup.rb
92
95
  - lib/extlib/virtual_file.rb
93
96
  - spec/array_spec.rb
94
97
  - spec/blank_spec.rb
@@ -136,18 +139,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
136
139
  requirements:
137
140
  - - ">="
138
141
  - !ruby/object:Gem::Version
142
+ segments:
143
+ - 0
139
144
  version: "0"
140
- version:
141
145
  required_rubygems_version: !ruby/object:Gem::Requirement
142
146
  requirements:
143
147
  - - ">="
144
148
  - !ruby/object:Gem::Version
149
+ segments:
150
+ - 0
145
151
  version: "0"
146
- version:
147
152
  requirements: []
148
153
 
149
154
  rubyforge_project: extlib
150
- rubygems_version: 1.3.5
155
+ rubygems_version: 1.3.6
151
156
  signing_key:
152
157
  specification_version: 3
153
158
  summary: Support library for DataMapper and Merb