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.
Files changed (45) hide show
  1. data/Manifest.txt +19 -1
  2. data/Rakefile +6 -80
  3. data/lib/data_objects.rb +1 -6
  4. data/lib/data_objects/command.rb +51 -1
  5. data/lib/data_objects/connection.rb +13 -2
  6. data/lib/data_objects/logger.rb +40 -32
  7. data/lib/data_objects/quoting.rb +28 -32
  8. data/lib/data_objects/reader.rb +6 -5
  9. data/lib/data_objects/result.rb +7 -1
  10. data/lib/data_objects/spec/command_spec.rb +191 -0
  11. data/lib/data_objects/spec/connection_spec.rb +106 -0
  12. data/lib/data_objects/spec/encoding_spec.rb +31 -0
  13. data/lib/data_objects/spec/quoting_spec.rb +0 -0
  14. data/lib/data_objects/spec/reader_spec.rb +156 -0
  15. data/lib/data_objects/spec/result_spec.rb +58 -0
  16. data/lib/data_objects/spec/typecast/array_spec.rb +36 -0
  17. data/lib/data_objects/spec/typecast/bigdecimal_spec.rb +107 -0
  18. data/lib/data_objects/spec/typecast/boolean_spec.rb +107 -0
  19. data/lib/data_objects/spec/typecast/byte_array_spec.rb +86 -0
  20. data/lib/data_objects/spec/typecast/class_spec.rb +63 -0
  21. data/lib/data_objects/spec/typecast/date_spec.rb +108 -0
  22. data/lib/data_objects/spec/typecast/datetime_spec.rb +110 -0
  23. data/lib/data_objects/spec/typecast/float_spec.rb +111 -0
  24. data/lib/data_objects/spec/typecast/integer_spec.rb +86 -0
  25. data/lib/data_objects/spec/typecast/ipaddr_spec.rb +0 -0
  26. data/lib/data_objects/spec/typecast/nil_spec.rb +116 -0
  27. data/lib/data_objects/spec/typecast/range_spec.rb +36 -0
  28. data/lib/data_objects/spec/typecast/string_spec.rb +86 -0
  29. data/lib/data_objects/spec/typecast/time_spec.rb +64 -0
  30. data/lib/data_objects/transaction.rb +20 -13
  31. data/lib/data_objects/uri.rb +24 -2
  32. data/lib/data_objects/version.rb +2 -1
  33. data/spec/command_spec.rb +1 -17
  34. data/spec/connection_spec.rb +1 -23
  35. data/spec/lib/pending_helpers.rb +11 -0
  36. data/spec/lib/rspec_immediate_feedback_formatter.rb +53 -0
  37. data/spec/result_spec.rb +0 -3
  38. data/tasks/gem.rake +49 -0
  39. data/tasks/install.rake +13 -0
  40. data/tasks/release.rake +74 -0
  41. data/tasks/spec.rake +18 -0
  42. metadata +51 -30
  43. data/.gitignore +0 -2
  44. data/spec/dataobjects_spec.rb +0 -1
  45. 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"]
@@ -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
@@ -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.11
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-01-19 00:00:00 +01:00
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: "2.0"
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.9
33
+ version: 0.9.12
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
- name: hoe
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.8.2
43
+ version: 1.2.0
44
44
  version:
45
- description: The Core DataObjects class
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
- - History.txt
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://rubyforge.org/projects/dorb
104
+ homepage: http://github.com/datamapper/do
105
+ licenses: []
106
+
85
107
  post_install_message:
86
- rdoc_options:
87
- - --main
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.1
127
+ rubygems_version: 1.3.3
107
128
  signing_key:
108
- specification_version: 2
109
- summary: The Core DataObjects class
129
+ specification_version: 3
130
+ summary: DataObjects basic API and shared driver specifications
110
131
  test_files: []
111
132
 
data/.gitignore DELETED
@@ -1,2 +0,0 @@
1
- pkg
2
- *.db
@@ -1 +0,0 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
data/spec/spec.opts DELETED
@@ -1,2 +0,0 @@
1
- --format specdoc
2
- --colour