merb_datamapper 0.9.2 → 0.9.3

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 (35) hide show
  1. data/History.txt +1 -0
  2. data/Manifest.txt +33 -0
  3. data/README.txt +13 -0
  4. data/Rakefile +47 -35
  5. data/TODO +10 -4
  6. data/datamapper_generators/migration/USAGE +2 -3
  7. data/datamapper_generators/migration/migration_generator.rb +6 -6
  8. data/datamapper_generators/migration/templates/new_migration.erb +3 -3
  9. data/datamapper_generators/model/model_generator.rb +17 -10
  10. data/datamapper_generators/model/templates/app/models/%model_file_name%.rb +7 -5
  11. data/datamapper_generators/resource_controller/resource_controller_generator.rb +62 -27
  12. data/datamapper_generators/resource_controller/templates/app/controllers/%controller_file_name%.rb +6 -6
  13. data/datamapper_generators/resource_controller/templates/app/helpers/%controller_file_name%_helper.rb +1 -1
  14. data/datamapper_generators/resource_controller/templates/app/views/%controller_file_name%/edit.html.erb +19 -1
  15. data/datamapper_generators/resource_controller/templates/app/views/%controller_file_name%/index.html.erb +22 -1
  16. data/datamapper_generators/resource_controller/templates/app/views/%controller_file_name%/new.html.erb +18 -1
  17. data/datamapper_generators/resource_controller/templates/app/views/%controller_file_name%/show.html.erb +12 -1
  18. data/datamapper_generators/resource_migration/USAGE +4 -0
  19. data/datamapper_generators/resource_migration/resource_migration_generator.rb +122 -0
  20. data/datamapper_generators/resource_migration/templates/class_migration.erb +13 -0
  21. data/lib/merb/orms/data_mapper/connection.rb +61 -26
  22. data/lib/merb/orms/data_mapper/database.yml.sample +32 -12
  23. data/lib/merb/orms/data_mapper/resource.rb +12 -0
  24. data/lib/merb/session/data_mapper_session.rb +47 -40
  25. data/lib/merb_datamapper.rb +15 -11
  26. data/lib/merb_datamapper/merbtasks.rb +42 -13
  27. data/lib/merb_datamapper/version.rb +5 -0
  28. data/spec/connection_spec.rb +67 -0
  29. data/spec/spec.opts +2 -0
  30. data/spec/spec_helper.rb +15 -0
  31. metadata +58 -45
  32. data/README +0 -10
  33. data/lib/merb/orms/data_mapper/base.rb +0 -6
  34. data/specs/merb_sequel_spec.rb +0 -0
  35. data/specs/spec_helper.rb +0 -2
@@ -1,16 +1,20 @@
1
1
  if defined?(Merb::Plugins)
2
- require File.join(File.dirname(__FILE__) / "merb" / "orms" / "data_mapper" / "connection")
3
- require File.join(File.dirname(__FILE__) / "merb" / "orms" / "data_mapper" / "base")
4
- Merb::Plugins.add_rakefiles "merb_datamapper" / "merbtasks"
5
-
6
- class Merb::Orms::DataMapper::Connect < Merb::BootLoader
2
+ require 'rubygems'
3
+ require 'merb_datamapper/version'
7
4
 
8
- after BeforeAppRuns
5
+ gem 'dm-core', DataMapper::MerbDataMapper::VERSION
6
+ require 'dm-core'
9
7
 
10
- def self.run
11
- Merb::Orms::DataMapper.connect
12
- Merb::Orms::DataMapper.register_session_type
13
- end
8
+ if File.file?(Merb.dir_for(:config) / "database.yml")
9
+ require File.join(File.dirname(__FILE__) / "merb" / "orms" / "data_mapper" / "connection")
14
10
 
11
+ Merb::Orms::DataMapper.connect
12
+ Merb::Orms::DataMapper.register_session_type
13
+ else
14
+ Merb.logger.info "No database.yml file found in #{Merb.dir_for(:config)}, assuming database connection(s) established in the environment file in #{Merb.dir_for(:config)}/environments"
15
15
  end
16
- end
16
+
17
+ require File.join(File.dirname(__FILE__) / "merb" / "orms" / "data_mapper" / "resource")
18
+
19
+ Merb::Plugins.add_rakefiles "merb_datamapper" / "merbtasks"
20
+ end
@@ -1,31 +1,60 @@
1
1
  require 'fileutils'
2
2
 
3
3
  namespace :dm do
4
-
4
+
5
5
  task :merb_start do
6
- Merb.start :adapter => 'runner',
7
- :environment => ENV['MERB_ENV'] || 'development'
6
+ Merb.start_environment :adapter => 'runner',
7
+ :environment => ENV['MERB_ENV'] || 'development'
8
8
  end
9
-
9
+
10
10
  namespace :db do
11
+ desc "Create a sample database.yml file"
12
+ task :database_yaml => :merb_start do
13
+ sample_location = File.join(File.dirname(__FILE__), "..", "merb", "orms", "data_mapper", "database.yml.sample")
14
+ target_location = Merb.dir_for(:config)
15
+ FileUtils.cp sample_location, target_location
16
+ end
11
17
  desc "Perform automigration"
12
18
  task :automigrate => :merb_start do
13
- DataMapper::Persistence.auto_migrate!
19
+ ::DataMapper::AutoMigrator.auto_migrate
20
+ end
21
+ desc "Perform non destructive automigration"
22
+ task :autoupgrade => :merb_start do
23
+ ::DataMapper::AutoMigrator.auto_upgrade
24
+ end
25
+
26
+ namespace :migrate do
27
+ task :load => :merb_start do
28
+ gem 'dm-migrations'
29
+ require 'migration_runner'
30
+ FileList["schema/migrations/*.rb"].each do |migration|
31
+ load migration
32
+ end
33
+ end
34
+
35
+ desc "Migrate up using migrations"
36
+ task :up, :version, :needs => :load do |t, args|
37
+ version = args[:version] || ENV['VERSION']
38
+ migrate_up!(version)
39
+ end
40
+ desc "Migrate down using migrations"
41
+ task :down, :version, :needs => :load do |t, args|
42
+ version = args[:version] || ENV['VERSION']
43
+ migrate_down!(version)
44
+ end
14
45
  end
15
46
  end
16
-
47
+
17
48
  namespace :sessions do
18
- desc "Creates session migration"
49
+ desc "Perform automigration for sessions"
19
50
  task :create => :merb_start do
20
- dest = File.join(Merb.root, "schema", "migrations","001_add_sessions_table.rb")
21
- source = File.join(File.dirname(__FILE__), "merb", "session","001_add_sessions_table.rb")
22
- #FileUtils.cp source, dest unless File.exists?(dest)
51
+ Merb::DataMapperSession.auto_migrate!
23
52
  end
24
-
53
+
25
54
  desc "Clears sessions"
26
55
  task :clear => :merb_start do
27
56
  table_name = ((Merb::Plugins.config[:datamapper] || {})[:session_table_name] || "sessions")
28
- #Merb::Orms::DataMapper.connect.execute("DELETE FROM #{table_name}")
57
+ ::DataMapper.repository.adapter.execute("DELETE FROM #{table_name}")
29
58
  end
30
59
  end
31
- end
60
+ end
@@ -0,0 +1,5 @@
1
+ module DataMapper
2
+ module MerbDataMapper
3
+ VERSION = "0.9.3"
4
+ end
5
+ end
@@ -0,0 +1,67 @@
1
+ require File.join(File.dirname(__FILE__), 'spec_helper')
2
+ require File.join(File.dirname(__FILE__), '..', 'lib', 'merb', 'orms', 'data_mapper', 'connection')
3
+
4
+ describe 'Merb datamapper' do
5
+ it "should read the configuration file" do
6
+
7
+ end
8
+
9
+ it 'should return an option hash with symbol keys' do
10
+ Merb.should_receive(:environment).once.and_return('development')
11
+
12
+ config = {
13
+ 'development' => {
14
+ 'adapter' => 'myadapter',
15
+ 'more_stuff' => 'more_stuff',
16
+ 'repositories' => {
17
+ 'repo1' => {
18
+ 'adapter' => 'mysql',
19
+ },
20
+ },
21
+ },
22
+ }
23
+
24
+ Merb::Orms::DataMapper.should_receive(:full_config).once.and_return(config)
25
+ Merb::Orms::DataMapper.config.should have_key(:adapter)
26
+ Merb::Orms::DataMapper.config[:adapter].should == 'myadapter'
27
+ Merb::Orms::DataMapper.config.should have_key(:repositories)
28
+ Merb::Orms::DataMapper.config[:repositories].should have_key(:repo1)
29
+ Merb::Orms::DataMapper.config[:repositories][:repo1].should have_key(:adapter)
30
+ Merb::Orms::DataMapper.config[:repositories][:repo1][:adapter].should == 'mysql'
31
+ end
32
+
33
+ it "should create a default repository" do
34
+ config = {
35
+ :adapter => 'mysql',
36
+ :database => 'mydb'
37
+ }
38
+
39
+ Merb::Orms::DataMapper.should_receive(:config).and_return(config)
40
+ DataMapper.should_receive(:setup).with(:default, config)
41
+
42
+ Merb::Orms::DataMapper.setup_connections
43
+ end
44
+
45
+ it "should create additional repositories" do
46
+ conf_mysql = {
47
+ :adapter => "mysql",
48
+ :database => "db"
49
+ }
50
+ conf_postgres = {
51
+ :adapter => "postgres",
52
+ :database => "dbp"
53
+ }
54
+ config = {
55
+ :repositories => {
56
+ :repo1 => conf_mysql,
57
+ :repo2 => conf_postgres
58
+ }
59
+ }
60
+
61
+ Merb::Orms::DataMapper.should_receive(:config).and_return(config)
62
+ DataMapper.should_receive(:setup).with(:repo1, conf_mysql)
63
+ DataMapper.should_receive(:setup).with(:repo2, conf_postgres)
64
+
65
+ Merb::Orms::DataMapper.setup_connections
66
+ end
67
+ end
data/spec/spec.opts ADDED
@@ -0,0 +1,2 @@
1
+ --format specdoc
2
+ --colour
@@ -0,0 +1,15 @@
1
+ $TESTING=true
2
+ $:.push File.join(File.dirname(__FILE__), '..', 'lib')
3
+
4
+ require 'rubygems'
5
+
6
+ gem 'dm-core', '=0.9.3'
7
+ require 'dm-core'
8
+
9
+ module Merb
10
+ module Plugins
11
+ def self.config
12
+ @config ||= {}
13
+ end
14
+ end
15
+ end
metadata CHANGED
@@ -1,95 +1,108 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: merb_datamapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Toy
8
- autorequire: merb_datamapper
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-03-24 00:00:00 -05:00
12
+ date: 2008-07-29 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: dm-core
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - "="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.9.3
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: dm-migrations
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.9.3
34
+ version:
15
35
  - !ruby/object:Gem::Dependency
16
36
  name: merb-core
37
+ type: :runtime
17
38
  version_requirement:
18
39
  version_requirements: !ruby/object:Gem::Requirement
19
40
  requirements:
20
41
  - - ">="
21
42
  - !ruby/object:Gem::Version
22
- version: 0.9.2
43
+ version: 0.9.3
23
44
  version:
24
45
  - !ruby/object:Gem::Dependency
25
- name: datamapper
46
+ name: hoe
47
+ type: :runtime
26
48
  version_requirement:
27
49
  version_requirements: !ruby/object:Gem::Requirement
28
50
  requirements:
29
51
  - - ">="
30
52
  - !ruby/object:Gem::Version
31
- version: 0.2.3
53
+ version: 1.6.0
32
54
  version:
33
- description: Merb plugin that provides DataMapper support for Merb
34
- email: jtoy@rubynow.com
55
+ description: DataMapper plugin providing DataMapper support for Merb
56
+ email:
57
+ - jtoy@rubynow.com
35
58
  executables: []
36
59
 
37
60
  extensions: []
38
61
 
39
62
  extra_rdoc_files:
40
- - README
63
+ - README.txt
41
64
  - LICENSE
42
65
  - TODO
43
66
  files:
67
+ - History.txt
44
68
  - LICENSE
45
- - README
69
+ - Manifest.txt
70
+ - README.txt
46
71
  - Rakefile
47
72
  - TODO
48
- - lib/merb
49
- - lib/merb/orms
50
- - lib/merb/orms/data_mapper
51
- - lib/merb/orms/data_mapper/base.rb
52
- - lib/merb/orms/data_mapper/connection.rb
53
- - lib/merb/orms/data_mapper/database.yml.sample
54
- - lib/merb/session
55
- - lib/merb/session/data_mapper_session.rb
56
- - lib/merb_datamapper
57
- - lib/merb_datamapper/merbtasks.rb
58
- - lib/merb_datamapper.rb
59
- - specs/merb_sequel_spec.rb
60
- - specs/spec_helper.rb
61
- - datamapper_generators/migration
73
+ - datamapper_generators/migration/USAGE
62
74
  - datamapper_generators/migration/migration_generator.rb
63
- - datamapper_generators/migration/templates
64
75
  - datamapper_generators/migration/templates/new_migration.erb
65
- - datamapper_generators/migration/USAGE
66
- - datamapper_generators/model
76
+ - datamapper_generators/model/USAGE
67
77
  - datamapper_generators/model/model_generator.rb
68
- - datamapper_generators/model/templates
69
- - datamapper_generators/model/templates/app
70
- - datamapper_generators/model/templates/app/models
71
78
  - datamapper_generators/model/templates/app/models/%model_file_name%.rb
72
- - datamapper_generators/model/USAGE
73
- - datamapper_generators/resource_controller
79
+ - datamapper_generators/resource_controller/USAGE
74
80
  - datamapper_generators/resource_controller/resource_controller_generator.rb
75
- - datamapper_generators/resource_controller/templates
76
- - datamapper_generators/resource_controller/templates/app
77
- - datamapper_generators/resource_controller/templates/app/controllers
78
81
  - datamapper_generators/resource_controller/templates/app/controllers/%controller_file_name%.rb
79
- - datamapper_generators/resource_controller/templates/app/helpers
80
82
  - datamapper_generators/resource_controller/templates/app/helpers/%controller_file_name%_helper.rb
81
- - datamapper_generators/resource_controller/templates/app/views
82
- - datamapper_generators/resource_controller/templates/app/views/%controller_file_name%
83
83
  - datamapper_generators/resource_controller/templates/app/views/%controller_file_name%/edit.html.erb
84
84
  - datamapper_generators/resource_controller/templates/app/views/%controller_file_name%/index.html.erb
85
85
  - datamapper_generators/resource_controller/templates/app/views/%controller_file_name%/new.html.erb
86
86
  - datamapper_generators/resource_controller/templates/app/views/%controller_file_name%/show.html.erb
87
- - datamapper_generators/resource_controller/USAGE
87
+ - datamapper_generators/resource_migration/USAGE
88
+ - datamapper_generators/resource_migration/resource_migration_generator.rb
89
+ - datamapper_generators/resource_migration/templates/class_migration.erb
90
+ - lib/merb/orms/data_mapper/connection.rb
91
+ - lib/merb/orms/data_mapper/database.yml.sample
92
+ - lib/merb/orms/data_mapper/resource.rb
93
+ - lib/merb/session/data_mapper_session.rb
94
+ - lib/merb_datamapper.rb
95
+ - lib/merb_datamapper/merbtasks.rb
96
+ - lib/merb_datamapper/version.rb
97
+ - spec/connection_spec.rb
98
+ - spec/spec.opts
99
+ - spec/spec_helper.rb
88
100
  has_rdoc: true
89
- homepage: http://merbivore.com
101
+ homepage: http://github.com/sam/dm-more/tree/master/merb_datamapper
90
102
  post_install_message:
91
- rdoc_options: []
92
-
103
+ rdoc_options:
104
+ - --main
105
+ - README.txt
93
106
  require_paths:
94
107
  - lib
95
108
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -106,10 +119,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
119
  version:
107
120
  requirements: []
108
121
 
109
- rubyforge_project:
110
- rubygems_version: 1.0.1
122
+ rubyforge_project: datamapper
123
+ rubygems_version: 1.2.0
111
124
  signing_key:
112
125
  specification_version: 2
113
- summary: Merb plugin that provides DataMapper support for Merb
126
+ summary: DataMapper plugin providing DataMapper support for Merb
114
127
  test_files: []
115
128
 
data/README DELETED
@@ -1,10 +0,0 @@
1
- merb_datamapper
2
- =================
3
-
4
- A plugin for the Merb framework that provides DataMapper access
5
-
6
- To use sessions:
7
- 1. set the session store to datamapper in merb.yml:
8
- :session_store: datamapper
9
- 2. add the dependency in dependencies.rb:
10
- use_orm :datamapper
@@ -1,6 +0,0 @@
1
- module Merb::Orms::DataMapper::Base
2
- def to_param
3
- key
4
- end
5
- end
6
- DataMapper::Base.send(:include, Merb::Orms::DataMapper::Base)
File without changes
data/specs/spec_helper.rb DELETED
@@ -1,2 +0,0 @@
1
- $TESTING=true
2
- $:.push File.join(File.dirname(__FILE__), '..', 'lib')