data_objects 0.9.11 → 0.9.12

Sign up to get free protection for your applications and to get access to all the features.
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