data_objects 0.9.11 → 0.9.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Manifest.txt +19 -1
- data/Rakefile +6 -80
- data/lib/data_objects.rb +1 -6
- data/lib/data_objects/command.rb +51 -1
- data/lib/data_objects/connection.rb +13 -2
- data/lib/data_objects/logger.rb +40 -32
- data/lib/data_objects/quoting.rb +28 -32
- data/lib/data_objects/reader.rb +6 -5
- data/lib/data_objects/result.rb +7 -1
- data/lib/data_objects/spec/command_spec.rb +191 -0
- data/lib/data_objects/spec/connection_spec.rb +106 -0
- data/lib/data_objects/spec/encoding_spec.rb +31 -0
- data/lib/data_objects/spec/quoting_spec.rb +0 -0
- data/lib/data_objects/spec/reader_spec.rb +156 -0
- data/lib/data_objects/spec/result_spec.rb +58 -0
- data/lib/data_objects/spec/typecast/array_spec.rb +36 -0
- data/lib/data_objects/spec/typecast/bigdecimal_spec.rb +107 -0
- data/lib/data_objects/spec/typecast/boolean_spec.rb +107 -0
- data/lib/data_objects/spec/typecast/byte_array_spec.rb +86 -0
- data/lib/data_objects/spec/typecast/class_spec.rb +63 -0
- data/lib/data_objects/spec/typecast/date_spec.rb +108 -0
- data/lib/data_objects/spec/typecast/datetime_spec.rb +110 -0
- data/lib/data_objects/spec/typecast/float_spec.rb +111 -0
- data/lib/data_objects/spec/typecast/integer_spec.rb +86 -0
- data/lib/data_objects/spec/typecast/ipaddr_spec.rb +0 -0
- data/lib/data_objects/spec/typecast/nil_spec.rb +116 -0
- data/lib/data_objects/spec/typecast/range_spec.rb +36 -0
- data/lib/data_objects/spec/typecast/string_spec.rb +86 -0
- data/lib/data_objects/spec/typecast/time_spec.rb +64 -0
- data/lib/data_objects/transaction.rb +20 -13
- data/lib/data_objects/uri.rb +24 -2
- data/lib/data_objects/version.rb +2 -1
- data/spec/command_spec.rb +1 -17
- data/spec/connection_spec.rb +1 -23
- data/spec/lib/pending_helpers.rb +11 -0
- data/spec/lib/rspec_immediate_feedback_formatter.rb +53 -0
- data/spec/result_spec.rb +0 -3
- data/tasks/gem.rake +49 -0
- data/tasks/install.rake +13 -0
- data/tasks/release.rake +74 -0
- data/tasks/spec.rake +18 -0
- metadata +51 -30
- data/.gitignore +0 -2
- data/spec/dataobjects_spec.rb +0 -1
- data/spec/spec.opts +0 -2
data/tasks/gem.rake
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'rubygems/package_task'
|
2
|
+
|
3
|
+
GEM_SPEC = Gem::Specification.new do |s|
|
4
|
+
# basic information
|
5
|
+
s.name = "data_objects"
|
6
|
+
s.version = DataObjects::VERSION
|
7
|
+
s.platform = Gem::Platform::RUBY
|
8
|
+
|
9
|
+
# description and details
|
10
|
+
s.summary = 'DataObjects basic API and shared driver specifications'
|
11
|
+
s.description = "Provide a standard and simplified API for communicating with RDBMS from Ruby"
|
12
|
+
|
13
|
+
# dependencies
|
14
|
+
s.add_dependency "addressable", "~>2.0.0"
|
15
|
+
s.add_dependency "extlib", "~>0.9.12"
|
16
|
+
|
17
|
+
# development dependencies
|
18
|
+
s.add_development_dependency 'rspec', '~>1.2.0'
|
19
|
+
|
20
|
+
# components, files and paths
|
21
|
+
s.files = FileList["lib/**/*.rb", "spec/**/*.rb", "tasks/**/*.rake",
|
22
|
+
"LICENSE", "Rakefile", "*.{rdoc,txt,yml}"]
|
23
|
+
|
24
|
+
s.require_path = 'lib'
|
25
|
+
|
26
|
+
# documentation
|
27
|
+
s.has_rdoc = false
|
28
|
+
|
29
|
+
# project information
|
30
|
+
s.homepage = 'http://github.com/datamapper/do'
|
31
|
+
s.rubyforge_project = 'dorb'
|
32
|
+
|
33
|
+
# author and contributors
|
34
|
+
s.author = 'Dirkjan Bussink'
|
35
|
+
s.email = 'd.bussink@gmail.com'
|
36
|
+
end
|
37
|
+
|
38
|
+
gem_package = Gem::PackageTask.new(GEM_SPEC) do |pkg|
|
39
|
+
pkg.need_tar = false
|
40
|
+
pkg.need_zip = false
|
41
|
+
end
|
42
|
+
|
43
|
+
file "#{GEM_SPEC.name}.gemspec" => ['Rakefile', 'tasks/gem.rake'] do |t|
|
44
|
+
puts "Generating #{t.name}"
|
45
|
+
File.open(t.name, 'w') { |f| f.puts GEM_SPEC.to_yaml }
|
46
|
+
end
|
47
|
+
|
48
|
+
desc "Generate or update the standalone gemspec file for the project"
|
49
|
+
task :gemspec => ["#{GEM_SPEC.name}.gemspec"]
|
data/tasks/install.rake
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
def sudo_gem(cmd)
|
2
|
+
sh "#{SUDO} #{RUBY} -S gem #{cmd}", :verbose => false
|
3
|
+
end
|
4
|
+
|
5
|
+
desc "Install #{GEM_SPEC.name} #{GEM_SPEC.version}"
|
6
|
+
task :install => [ :package ] do
|
7
|
+
sudo_gem "install --local pkg/#{GEM_SPEC.name}-#{GEM_SPEC.version} --no-update-sources"
|
8
|
+
end
|
9
|
+
|
10
|
+
desc "Uninstall #{GEM_SPEC.name} #{GEM_SPEC.version}"
|
11
|
+
task :uninstall => [ :clean ] do
|
12
|
+
sudo_gem "uninstall #{GEM_SPEC.name} -v#{GEM_SPEC.version} -I -x"
|
13
|
+
end
|
data/tasks/release.rake
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
begin
|
2
|
+
gem 'rubyforge', '~> 1.0.1'
|
3
|
+
require 'rubyforge'
|
4
|
+
rescue Exception
|
5
|
+
nil
|
6
|
+
end
|
7
|
+
|
8
|
+
if defined?(RubyForge) then
|
9
|
+
if defined?(GEM_SPEC) then
|
10
|
+
desc 'Package and upload to RubyForge'
|
11
|
+
task :release => [:clobber, :package] do |t|
|
12
|
+
ver = ENV['VERSION'] or fail "Must supply VERSION (rake release VERSION=x.y.z)."
|
13
|
+
|
14
|
+
# compare versions to avoid mistakes
|
15
|
+
unless ver == GEM_SPEC.version.to_s then
|
16
|
+
fail "Version mismatch (supplied and specification versions differ)."
|
17
|
+
end
|
18
|
+
|
19
|
+
# no rubyforge project? no release for you!
|
20
|
+
if GEM_SPEC.rubyforge_project == 'TODO' or GEM_SPEC.rubyforge_project.nil? then
|
21
|
+
fail "Must define rubyforge_project in your gem specification."
|
22
|
+
end
|
23
|
+
|
24
|
+
# instantiate a RubyForge object
|
25
|
+
rf = RubyForge.new
|
26
|
+
|
27
|
+
# read project info and overview
|
28
|
+
notes = begin
|
29
|
+
r = File.read("README.rdoc")
|
30
|
+
r.split(/^(=+ .*)/)[1..4].join.strip
|
31
|
+
rescue
|
32
|
+
warn "Missing README.rdoc"
|
33
|
+
''
|
34
|
+
end
|
35
|
+
|
36
|
+
# read changes
|
37
|
+
changes = begin
|
38
|
+
h = File.read("History.txt")
|
39
|
+
h.split(/^(==+ .*)/)[1..2].join.strip
|
40
|
+
rescue
|
41
|
+
warn "Missing History.txt"
|
42
|
+
''
|
43
|
+
end
|
44
|
+
|
45
|
+
# build the configuration for the release
|
46
|
+
config = Hash.new
|
47
|
+
config["release_notes"] = notes
|
48
|
+
config["release_changes"] = changes
|
49
|
+
config["preformatted"] = true
|
50
|
+
|
51
|
+
# prepare configuration
|
52
|
+
rf.configure config
|
53
|
+
|
54
|
+
files = FileList["pkg/#{GEM_SPEC.name}-#{GEM_SPEC.version}*.*"].to_a
|
55
|
+
fail "No files found for the release." if files.empty?
|
56
|
+
|
57
|
+
puts "Logging in RubyForge..."
|
58
|
+
rf.login
|
59
|
+
|
60
|
+
puts "Files to upload:"
|
61
|
+
files.each do |f|
|
62
|
+
puts " * #{f}"
|
63
|
+
end
|
64
|
+
|
65
|
+
puts "Releasing #{GEM_SPEC.name} version #{GEM_SPEC.version}..."
|
66
|
+
rf.add_release GEM_SPEC.rubyforge_project, GEM_SPEC.name, GEM_SPEC.version, *files
|
67
|
+
puts "Done."
|
68
|
+
end
|
69
|
+
else
|
70
|
+
warn "no GEM_SPEC is found or defined. 'release' task cannot work without it."
|
71
|
+
end
|
72
|
+
else
|
73
|
+
warn "rubyforge gem is required to generate releases, please install it (gem install rubyforge)."
|
74
|
+
end
|
data/tasks/spec.rake
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# Specs
|
2
|
+
require 'spec/rake/spectask'
|
3
|
+
|
4
|
+
desc 'Run specifications'
|
5
|
+
Spec::Rake::SpecTask.new(:spec) do |t|
|
6
|
+
t.spec_opts << '--options' << ROOT + 'spec/spec.opts'
|
7
|
+
t.spec_files = Pathname.glob(ENV['FILES'] || 'spec/**/*_spec.rb').map { |f| f.to_s }
|
8
|
+
|
9
|
+
begin
|
10
|
+
# RCov is run by default, except on the JRuby platform
|
11
|
+
t.rcov = JRUBY ? false : (ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true)
|
12
|
+
t.rcov_opts << '--exclude' << 'spec'
|
13
|
+
t.rcov_opts << '--text-summary'
|
14
|
+
t.rcov_opts << '--sort' << 'coverage' << '--sort-reverse'
|
15
|
+
rescue Exception
|
16
|
+
# rcov not installed
|
17
|
+
end
|
18
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: data_objects
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dirkjan Bussink
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-05-17 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ~>
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
23
|
+
version: 2.0.0
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: extlib
|
@@ -30,62 +30,83 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.9.
|
33
|
+
version: 0.9.12
|
34
34
|
version:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
36
|
+
name: rspec
|
37
37
|
type: :development
|
38
38
|
version_requirement:
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
|
-
- -
|
41
|
+
- - ~>
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 1.
|
43
|
+
version: 1.2.0
|
44
44
|
version:
|
45
|
-
description:
|
46
|
-
email:
|
47
|
-
- d.bussink@gmail.com
|
45
|
+
description: Provide a standard and simplified API for communicating with RDBMS from Ruby
|
46
|
+
email: d.bussink@gmail.com
|
48
47
|
executables: []
|
49
48
|
|
50
49
|
extensions: []
|
51
50
|
|
52
|
-
extra_rdoc_files:
|
53
|
-
|
54
|
-
- Manifest.txt
|
55
|
-
- README.txt
|
51
|
+
extra_rdoc_files: []
|
52
|
+
|
56
53
|
files:
|
57
|
-
- .gitignore
|
58
|
-
- History.txt
|
59
|
-
- LICENSE
|
60
|
-
- Manifest.txt
|
61
|
-
- README.txt
|
62
|
-
- Rakefile
|
63
|
-
- lib/data_objects.rb
|
64
54
|
- lib/data_objects/command.rb
|
65
55
|
- lib/data_objects/connection.rb
|
66
56
|
- lib/data_objects/logger.rb
|
67
57
|
- lib/data_objects/quoting.rb
|
68
58
|
- lib/data_objects/reader.rb
|
69
59
|
- lib/data_objects/result.rb
|
60
|
+
- lib/data_objects/spec/command_spec.rb
|
61
|
+
- lib/data_objects/spec/connection_spec.rb
|
62
|
+
- lib/data_objects/spec/encoding_spec.rb
|
63
|
+
- lib/data_objects/spec/quoting_spec.rb
|
64
|
+
- lib/data_objects/spec/reader_spec.rb
|
65
|
+
- lib/data_objects/spec/result_spec.rb
|
66
|
+
- lib/data_objects/spec/typecast/array_spec.rb
|
67
|
+
- lib/data_objects/spec/typecast/bigdecimal_spec.rb
|
68
|
+
- lib/data_objects/spec/typecast/boolean_spec.rb
|
69
|
+
- lib/data_objects/spec/typecast/byte_array_spec.rb
|
70
|
+
- lib/data_objects/spec/typecast/class_spec.rb
|
71
|
+
- lib/data_objects/spec/typecast/date_spec.rb
|
72
|
+
- lib/data_objects/spec/typecast/datetime_spec.rb
|
73
|
+
- lib/data_objects/spec/typecast/float_spec.rb
|
74
|
+
- lib/data_objects/spec/typecast/integer_spec.rb
|
75
|
+
- lib/data_objects/spec/typecast/ipaddr_spec.rb
|
76
|
+
- lib/data_objects/spec/typecast/nil_spec.rb
|
77
|
+
- lib/data_objects/spec/typecast/range_spec.rb
|
78
|
+
- lib/data_objects/spec/typecast/string_spec.rb
|
79
|
+
- lib/data_objects/spec/typecast/time_spec.rb
|
70
80
|
- lib/data_objects/transaction.rb
|
71
81
|
- lib/data_objects/uri.rb
|
72
82
|
- lib/data_objects/version.rb
|
83
|
+
- lib/data_objects.rb
|
73
84
|
- spec/command_spec.rb
|
74
85
|
- spec/connection_spec.rb
|
75
|
-
- spec/dataobjects_spec.rb
|
76
86
|
- spec/do_mock.rb
|
87
|
+
- spec/lib/pending_helpers.rb
|
88
|
+
- spec/lib/rspec_immediate_feedback_formatter.rb
|
77
89
|
- spec/reader_spec.rb
|
78
90
|
- spec/result_spec.rb
|
79
|
-
- spec/spec.opts
|
80
91
|
- spec/spec_helper.rb
|
81
92
|
- spec/transaction_spec.rb
|
82
93
|
- spec/uri_spec.rb
|
94
|
+
- tasks/gem.rake
|
95
|
+
- tasks/install.rake
|
96
|
+
- tasks/release.rake
|
97
|
+
- tasks/spec.rake
|
98
|
+
- LICENSE
|
99
|
+
- Rakefile
|
100
|
+
- History.txt
|
101
|
+
- Manifest.txt
|
102
|
+
- README.txt
|
83
103
|
has_rdoc: true
|
84
|
-
homepage: http://
|
104
|
+
homepage: http://github.com/datamapper/do
|
105
|
+
licenses: []
|
106
|
+
|
85
107
|
post_install_message:
|
86
|
-
rdoc_options:
|
87
|
-
|
88
|
-
- README.txt
|
108
|
+
rdoc_options: []
|
109
|
+
|
89
110
|
require_paths:
|
90
111
|
- lib
|
91
112
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -103,9 +124,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
124
|
requirements: []
|
104
125
|
|
105
126
|
rubyforge_project: dorb
|
106
|
-
rubygems_version: 1.3.
|
127
|
+
rubygems_version: 1.3.3
|
107
128
|
signing_key:
|
108
|
-
specification_version:
|
109
|
-
summary:
|
129
|
+
specification_version: 3
|
130
|
+
summary: DataObjects basic API and shared driver specifications
|
110
131
|
test_files: []
|
111
132
|
|
data/.gitignore
DELETED
data/spec/dataobjects_spec.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
|
data/spec/spec.opts
DELETED