datamapper4rails 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +6 -0
- data/Manifest.txt +37 -0
- data/README.txt +151 -0
- data/Rakefile +48 -0
- data/datamapper_rails_templates.rb +114 -0
- data/generators/datamapper_install/datamapper_install_generator.rb +12 -0
- data/generators/datamapper_install/templates/datamapper.rake +88 -0
- data/generators/datamapper_model/datamapper_model_generator.rb +18 -0
- data/generators/datamapper_model/templates/migration.rb +18 -0
- data/generators/datamapper_model/templates/model.rb +14 -0
- data/generators/datamapper_rspec_model/datamapper_rspec_model_generator.rb +18 -0
- data/generators/datamapper_rspec_model/templates/model_spec.rb +44 -0
- data/generators/datamapper_rspec_scaffold/datamapper_rspec_scaffold_generator.rb +20 -0
- data/generators/datamapper_rspec_scaffold/templates/controller_spec.rb +171 -0
- data/generators/datamapper_rspec_scaffold/templates/edit_erb_spec.rb +25 -0
- data/generators/datamapper_scaffold/datamapper_scaffold_generator.rb +31 -0
- data/generators/datamapper_scaffold/templates/controller.rb +90 -0
- data/generators/datamapper_scaffold/templates/functional_test.rb +49 -0
- data/generators/datamapper_scaffold/templates/view_edit.html.erb +18 -0
- data/generators/datamapper_scaffold/templates/view_index.html.erb +24 -0
- data/generators/datamapper_scaffold/templates/view_new.html.erb +17 -0
- data/generators/datamapper_scaffold/templates/view_show.html.erb +10 -0
- data/lib/datamapper4rails.rb +14 -0
- data/lib/datamapper4rails/adapters/base_adapter.rb +198 -0
- data/lib/datamapper4rails/adapters/restful_adapter.rb +320 -0
- data/lib/datamapper4rails/datamapper_store.rb +28 -0
- data/lib/datamapper4rails/identity_maps.rb +25 -0
- data/lib/datamapper4rails/integration_test.rb +45 -0
- data/lib/datamapper4rails/overlay.rb +69 -0
- data/lib/datamapper4rails/preload_models.rb +26 -0
- data/lib/datamapper4rails/restful_transactions.rb +43 -0
- data/lib/datamapper4rails/rspec.rb +8 -0
- data/lib/datamapper4rails/rspec_default_values.rb +23 -0
- data/lib/datamapper4rails/version.rb +3 -0
- data/spec/datamapper_store_spec.rb +23 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +34 -0
- metadata +124 -0
data/History.txt
ADDED
data/Manifest.txt
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
History.txt
|
2
|
+
Manifest.txt
|
3
|
+
README.txt
|
4
|
+
Rakefile
|
5
|
+
datamapper_rails_templates.rb
|
6
|
+
generators/datamapper_install/datamapper_install_generator.rb
|
7
|
+
generators/datamapper_install/templates/datamapper.rake
|
8
|
+
generators/datamapper_model/datamapper_model_generator.rb
|
9
|
+
generators/datamapper_model/templates/migration.rb
|
10
|
+
generators/datamapper_model/templates/model.rb
|
11
|
+
generators/datamapper_rspec_model/datamapper_rspec_model_generator.rb
|
12
|
+
generators/datamapper_rspec_model/templates/model_spec.rb
|
13
|
+
generators/datamapper_rspec_scaffold/datamapper_rspec_scaffold_generator.rb
|
14
|
+
generators/datamapper_rspec_scaffold/templates/controller_spec.rb
|
15
|
+
generators/datamapper_rspec_scaffold/templates/edit_erb_spec.rb
|
16
|
+
generators/datamapper_scaffold/datamapper_scaffold_generator.rb
|
17
|
+
generators/datamapper_scaffold/templates/controller.rb
|
18
|
+
generators/datamapper_scaffold/templates/functional_test.rb
|
19
|
+
generators/datamapper_scaffold/templates/view_edit.html.erb
|
20
|
+
generators/datamapper_scaffold/templates/view_index.html.erb
|
21
|
+
generators/datamapper_scaffold/templates/view_new.html.erb
|
22
|
+
generators/datamapper_scaffold/templates/view_show.html.erb
|
23
|
+
lib/datamapper4rails.rb
|
24
|
+
lib/datamapper4rails/adapters/base_adapter.rb
|
25
|
+
lib/datamapper4rails/adapters/restful_adapter.rb
|
26
|
+
lib/datamapper4rails/datamapper_store.rb
|
27
|
+
lib/datamapper4rails/integration_test.rb
|
28
|
+
lib/datamapper4rails/identity_maps.rb
|
29
|
+
lib/datamapper4rails/overlay.rb
|
30
|
+
lib/datamapper4rails/preload_models.rb
|
31
|
+
lib/datamapper4rails/restful_transactions.rb
|
32
|
+
lib/datamapper4rails/rspec_default_values.rb
|
33
|
+
lib/datamapper4rails/rspec.rb
|
34
|
+
lib/datamapper4rails/version.rb
|
35
|
+
spec/datamapper_store_spec.rb
|
36
|
+
spec/spec.opts
|
37
|
+
spec/spec_helper.rb
|
data/README.txt
ADDED
@@ -0,0 +1,151 @@
|
|
1
|
+
= datamapper4rails
|
2
|
+
|
3
|
+
* http://datamapper4rail.rubyforge.org
|
4
|
+
* http://github.org/mkristian/datamapper4rails
|
5
|
+
|
6
|
+
== DESCRIPTION:
|
7
|
+
|
8
|
+
collection of datamapper related extensions. mostly needed to run within rails. the restful transactions is around filter for rails actions if needed to control such transaction on per action base otherwise use the rack extension from rack-datamapper. datamapper store is a session store for rails which uses datamapper as persistent layer and is just a wrapper around the datamapper session store from rack-datamapper. the generators produces datamapper models for your rails application.
|
9
|
+
|
10
|
+
== FEATURES/PROBLEMS:
|
11
|
+
|
12
|
+
* the generators introduce an "overlay" of templates. with that a generator can reuse the generator code and just replace one or more templates. i.e. datamapper_model just replaces the model.rb template to produce model using datamapper.
|
13
|
+
|
14
|
+
== SYNOPSIS:
|
15
|
+
|
16
|
+
=== restful transaction
|
17
|
+
|
18
|
+
wraps all modifying requests (POST, PUT, DELETE) into a transaction. any error/exception as well render of a page will rollback the transaction. typically if a POST, PUT or DELETE succeeds then a redirect gets send back to browser.
|
19
|
+
|
20
|
+
credits of the main idea goes to http://www.redhillonrails.org
|
21
|
+
|
22
|
+
is implemented as around filter in rails and gets prepend to the filters of the action_controller of rails
|
23
|
+
|
24
|
+
require 'datamapper4rails/restful_transations'
|
25
|
+
|
26
|
+
=== restful transactions, transactions or identity_maps from rack-datamapper
|
27
|
+
|
28
|
+
inside rails add something like this to your config
|
29
|
+
|
30
|
+
config.middleware.use 'DataMapper::IdentityMaps'
|
31
|
+
config.middleware.use 'DataMapper::RestfulTransactions'
|
32
|
+
|
33
|
+
or add the repository name to it if you want something else then :default
|
34
|
+
|
35
|
+
config.middleware.use 'DataMapper::IdentityMaps', :ldap
|
36
|
+
config.middleware.use 'DataMapper::RestfulTransactions', :users
|
37
|
+
|
38
|
+
|
39
|
+
=== datamapper session store
|
40
|
+
|
41
|
+
add in your config/initializers/session.rb
|
42
|
+
|
43
|
+
ActionController::Base.session_store = :datamapper_store
|
44
|
+
|
45
|
+
in case you need a memory cache for your sessions on top of it add the following. but be aware that there is no cleanup of the memory session.
|
46
|
+
|
47
|
+
ActionController::Base.session = { :cache => true }
|
48
|
+
|
49
|
+
=== generators for datamapper models
|
50
|
+
|
51
|
+
IMPORTANT: datamapper_scaffold generate valid application code but the test do NOT run due to missing fixtures with datamapper. the rspec version works well though.
|
52
|
+
|
53
|
+
* datamapper-install: rake task for datamapper with automigrate, autoupgrade and migrate
|
54
|
+
* datamapper_model
|
55
|
+
* datamapper_rspec_model
|
56
|
+
* datamapper_scaffold
|
57
|
+
* datamapper_rspec_scaffold
|
58
|
+
|
59
|
+
the last four generators follow the parameters of the underlying generator:
|
60
|
+
generator_name model_name [[attribute_name:attribute_type] ...]
|
61
|
+
|
62
|
+
to use the overlay write the generator like this
|
63
|
+
|
64
|
+
class MyModelGenerator < ModelGenerator
|
65
|
+
def manifest
|
66
|
+
overlay_dirs.add_generator("model")
|
67
|
+
super
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
and put whatever templates you want to overwrite in your templates directory, i.e. all your models need to have nice to_s methods.
|
72
|
+
|
73
|
+
=== patch for the rspec-rails gem
|
74
|
+
|
75
|
+
add a file like spec/support/datamapper with
|
76
|
+
|
77
|
+
require 'datamapper4rails/rspec'
|
78
|
+
|
79
|
+
this allows rspec to stub_model with datamapper
|
80
|
+
|
81
|
+
=== restful adapter
|
82
|
+
|
83
|
+
DEPRECATED
|
84
|
+
this comes partly from dm-ldap-adapter and partly from dm-more/adapter/rest_adapter. the restful adapter allows to Create, Retrieve, Update and Delete resources via a restful service.
|
85
|
+
|
86
|
+
== rails template
|
87
|
+
|
88
|
+
there is a rails template 'datamapper_rails_templates.rb' in root of the gem - do not know where and how to pack it. the latest I keep on 'github.org/jeremy/rails-templates'
|
89
|
+
|
90
|
+
=== to test the template there is helper class
|
91
|
+
|
92
|
+
task :integration_tests => [:install] do
|
93
|
+
require 'datamapper4rails/integration_test'
|
94
|
+
Datamapper4Rails::IntegrationTest.new do |t|
|
95
|
+
t.rails_template = 'my_template.rb'
|
96
|
+
t.directory = 'tmp' # defaults to tmp and is also the generated application name
|
97
|
+
t.generate "datamapper_model role name:string"
|
98
|
+
t.generate "datamapper_scaffold domain name:string"
|
99
|
+
t.generate "datamapper_rspec_model user name:string"
|
100
|
+
t.generate "datamapper_rspec_scaffold group name:string"
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
== more examples
|
105
|
+
|
106
|
+
just run 'rake integration' and have a look at the sample rails application in 'tmp'
|
107
|
+
|
108
|
+
== jruby
|
109
|
+
|
110
|
+
at the time of writing there is a bug/restriction in rails which prevents unpacked gems with java extension or version number postfixed with '-java' to work.
|
111
|
+
|
112
|
+
if you are familiar with maven (maven.apache.org) you can use the maven plugin from github.org/mkristian/rails-maven-plugin to freeze rails gems and patch it in place
|
113
|
+
|
114
|
+
mvn de.saumya.mojo:rails-maven-plugin:rails-freeze-gems
|
115
|
+
|
116
|
+
the 'rake integration_tests' does not work due to the fact that generating rails with a template falls back to native ruby for certain tasks which will fail due to missing (java) gems.
|
117
|
+
|
118
|
+
same is true for using the rails template. in case you want to use a rails template directly with jruby consider the rails-maven-plugin which can setup a mavenized rails application with the help of rails templates.
|
119
|
+
|
120
|
+
== REQUIREMENTS:
|
121
|
+
|
122
|
+
* rails_datamapper, rack-datamapper
|
123
|
+
|
124
|
+
== INSTALL:
|
125
|
+
|
126
|
+
* sudo gem install datamapper4rails
|
127
|
+
|
128
|
+
== LICENSE:
|
129
|
+
|
130
|
+
(The MIT License)
|
131
|
+
|
132
|
+
Copyright (c) 2009 Kristian Meier
|
133
|
+
|
134
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
135
|
+
a copy of this software and associated documentation files (the
|
136
|
+
'Software'), to deal in the Software without restriction, including
|
137
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
138
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
139
|
+
permit persons to whom the Software is furnished to do so, subject to
|
140
|
+
the following conditions:
|
141
|
+
|
142
|
+
The above copyright notice and this permission notice shall be
|
143
|
+
included in all copies or substantial portions of the Software.
|
144
|
+
|
145
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
146
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
147
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
148
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
149
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
150
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
151
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'hoe'
|
5
|
+
|
6
|
+
require 'spec'
|
7
|
+
require 'spec/rake/spectask'
|
8
|
+
require 'pathname'
|
9
|
+
|
10
|
+
require './lib/datamapper4rails/version.rb'
|
11
|
+
|
12
|
+
Hoe.new('datamapper4rails', Datamapper4rails::VERSION) do |p|
|
13
|
+
p.rubyforge_name = 'datamapper4rail'
|
14
|
+
p.developer('mkristian', 'm.kristian@web.de')
|
15
|
+
p.extra_deps = [['rack-datamapper', '~>0.2'], 'rails_datamapper']
|
16
|
+
p.remote_rdoc_dir = '' # Release to root
|
17
|
+
end
|
18
|
+
|
19
|
+
desc 'Install the package as a gem.'
|
20
|
+
task :install => [:clean, :package] do
|
21
|
+
gem = Dir['pkg/*.gem'].first
|
22
|
+
sh "gem install --local #{gem} --no-ri --no-rdoc"
|
23
|
+
end
|
24
|
+
|
25
|
+
desc 'Run specifications'
|
26
|
+
Spec::Rake::SpecTask.new(:spec) do |t|
|
27
|
+
if File.exists?('spec/spec.opts')
|
28
|
+
t.spec_opts << '--options' << 'spec/spec.opts'
|
29
|
+
end
|
30
|
+
t.spec_files = Pathname.glob('./spec/**/*_spec.rb')
|
31
|
+
end
|
32
|
+
|
33
|
+
desc 'generate rails using all generators and run the specs'
|
34
|
+
task :integration_tests => [:spec, :install] do
|
35
|
+
require 'datamapper4rails/integration_test'
|
36
|
+
Datamapper4Rails::IntegrationTest.new do |t|
|
37
|
+
t.generate "datamapper_model role name:string"
|
38
|
+
t.generate "datamapper_scaffold domain name:string"
|
39
|
+
t.generate "datamapper_rspec_model user name:string"
|
40
|
+
t.generate "datamapper_rspec_scaffold group name:string"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
require 'yard'
|
45
|
+
|
46
|
+
YARD::Rake::YardocTask.new
|
47
|
+
|
48
|
+
# vim: syntax=Ruby
|
@@ -0,0 +1,114 @@
|
|
1
|
+
# inspired by http://www.rowtheboat.com/archives/32
|
2
|
+
###################################################
|
3
|
+
|
4
|
+
# get all datamapper related gems
|
5
|
+
gem "addressable", :lib => "addressable/uri"
|
6
|
+
|
7
|
+
# assume sqlite3 to be database
|
8
|
+
gem "do_sqlite3"
|
9
|
+
|
10
|
+
# assume you want to have validations and timestamps in your models
|
11
|
+
gem 'dm-validations'
|
12
|
+
gem 'dm-timestamps'
|
13
|
+
gem 'dm-migrations'
|
14
|
+
gem 'dm-serializer' # to allow xml interface to work
|
15
|
+
|
16
|
+
# assume you prefer rspec over unit tests
|
17
|
+
gem "rspec", :lib => false
|
18
|
+
gem "rspec-rails", :lib => false
|
19
|
+
|
20
|
+
# this pulls in rails_datamapper and rack_datamapper
|
21
|
+
gem "datamapper4rails"
|
22
|
+
|
23
|
+
# install all gems
|
24
|
+
rake "gems:install"
|
25
|
+
|
26
|
+
# install specs rake tasks
|
27
|
+
generate("rspec", "-f")
|
28
|
+
|
29
|
+
# install datamapper rake tasks
|
30
|
+
generate("datamapper_install")
|
31
|
+
|
32
|
+
# fix config files to work with datamapper instead of active_record
|
33
|
+
environment ""
|
34
|
+
environment "config.frameworks -= [ :active_record ]"
|
35
|
+
environment "# deactive active_record"
|
36
|
+
gsub_file 'spec/spec_helper.rb', /^\s*config[.]/, ' #\0'
|
37
|
+
gsub_file 'test/test_helper.rb', /^[^#]*fixtures/, ' #\0'
|
38
|
+
|
39
|
+
file 'spec/support/datamapper.rb', <<-CODE
|
40
|
+
require 'datamapper4rails/rspec'
|
41
|
+
CODE
|
42
|
+
|
43
|
+
# add middleware
|
44
|
+
def middleware(name)
|
45
|
+
log "middleware", name
|
46
|
+
environment "config.middleware.use '#{name}'"
|
47
|
+
end
|
48
|
+
|
49
|
+
environment ""
|
50
|
+
middleware "DataMapper::RestfulTransactions"
|
51
|
+
middleware "DataMapper::IdentityMaps"
|
52
|
+
middleware "Rack::Deflater"
|
53
|
+
environment "# add middleware"
|
54
|
+
|
55
|
+
|
56
|
+
# init a session store
|
57
|
+
initializer 'datamapper_store.rb', <<-CODE
|
58
|
+
# init a session store which uses a memory cache and a persistent store
|
59
|
+
# cleanup can be a problem. jruby uses soft-references for the cache so
|
60
|
+
# memory cleanup with jruby is not a problem.
|
61
|
+
require 'ixtlan/session'
|
62
|
+
ActionController::Base.session_store = :datamapper_store
|
63
|
+
ActionController::Base.session = {
|
64
|
+
:cache => true,
|
65
|
+
}
|
66
|
+
CODE
|
67
|
+
|
68
|
+
# gzip fix for jruby
|
69
|
+
initializer 'monkey_patches.rb', <<-CODE
|
70
|
+
if RUBY_PLATFORM =~ /java/
|
71
|
+
require 'zlib'
|
72
|
+
class Zlib::GzipWriter
|
73
|
+
def <<(arg)
|
74
|
+
write(arg)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
CODE
|
79
|
+
|
80
|
+
file 'prepare_jruby.sh', <<-CODE
|
81
|
+
#!/bin/bash
|
82
|
+
|
83
|
+
echo
|
84
|
+
echo "shall freeze rails and fix a bug which prevents rails to use certain"
|
85
|
+
echo "java gems like the dataobjects drivers !!"
|
86
|
+
echo
|
87
|
+
|
88
|
+
mvn --version
|
89
|
+
if [ $? -ne 0 ] ; then
|
90
|
+
|
91
|
+
echo "please install maven >= 2.0.9 from maven.apache.org"
|
92
|
+
exit -1
|
93
|
+
fi
|
94
|
+
|
95
|
+
mvn de.saumya.mojo:rails-maven-plugin:rails-freeze-gems de.saumya.mojo:rails-maven-plugin:gems-install
|
96
|
+
|
97
|
+
echo
|
98
|
+
echo "you can run rails with (no need to install jruby !!)"
|
99
|
+
echo
|
100
|
+
echo "\tmvn de.saumya.mojo:rails-maven-plugin:server"
|
101
|
+
echo
|
102
|
+
echo "more info on"
|
103
|
+
echo "\thttp://github.org/mkristian/rails-maven-plugin"
|
104
|
+
echo
|
105
|
+
CODE
|
106
|
+
|
107
|
+
rake 'db:sessions:create'
|
108
|
+
|
109
|
+
logger.info
|
110
|
+
logger.info
|
111
|
+
logger.info "info mavenized rails application"
|
112
|
+
logger.info "\thttp://github.org/mkristian/rails-maven-plugin"
|
113
|
+
logger.info
|
114
|
+
logger.info
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# this file is from dm-more/rails_datamapper
|
2
|
+
# add adjusted to use the rack_datamapper session store
|
3
|
+
|
4
|
+
# Monkey patch to allow overriding defined rake tasks (instead of
|
5
|
+
# adding to them, which is the default behaviour when specifying tasks
|
6
|
+
# >1 times).
|
7
|
+
|
8
|
+
Rake::TaskManager.class_eval do
|
9
|
+
def remove_task(task_name)
|
10
|
+
@tasks.delete(task_name.to_s)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def remove_task(task_name)
|
15
|
+
returning Rake.application do |app|
|
16
|
+
app.remove_task(app[task_name].name)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
# Until AR/DM co-existence becomes practically possible, presume
|
21
|
+
# mutual exclusivity between the two. Thus we wipe all pre-existing
|
22
|
+
# db tasks which we assume to be ActiveRecord-based and thus won't
|
23
|
+
# work).
|
24
|
+
|
25
|
+
Rake.application.tasks.select do |t|
|
26
|
+
t.class == Rake::Task && t.name.starts_with?("db")
|
27
|
+
end.each { |t| remove_task(t.name) }
|
28
|
+
|
29
|
+
namespace :db do
|
30
|
+
|
31
|
+
desc 'Perform automigration'
|
32
|
+
task :automigrate => :environment do
|
33
|
+
FileList["app/models/**/*.rb"].each do |model|
|
34
|
+
load model
|
35
|
+
end
|
36
|
+
::DataMapper.auto_migrate!
|
37
|
+
end
|
38
|
+
|
39
|
+
desc 'Perform non destructive automigration'
|
40
|
+
task :autoupgrade => :environment do
|
41
|
+
FileList["app/models/**/*.rb"].each do |model|
|
42
|
+
load model
|
43
|
+
end
|
44
|
+
::DataMapper.auto_upgrade!
|
45
|
+
end
|
46
|
+
|
47
|
+
# this is needed for rspec and test tasks
|
48
|
+
namespace :test do
|
49
|
+
RAILS_ENV = 'test'
|
50
|
+
task :prepare => :automigrate
|
51
|
+
end
|
52
|
+
|
53
|
+
namespace :migrate do
|
54
|
+
task :load => :environment do
|
55
|
+
require 'dm-migrations/migration_runner'
|
56
|
+
FileList['db/migrate/*.rb'].each do |migration|
|
57
|
+
load migration
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
desc 'Migrate up using migrations'
|
62
|
+
task :up, :version, :needs => :load do |t, args|
|
63
|
+
version = args[:version]
|
64
|
+
migrate_up!(version)
|
65
|
+
end
|
66
|
+
|
67
|
+
desc 'Migrate down using migrations'
|
68
|
+
task :down, :version, :needs => :load do |t, args|
|
69
|
+
version = args[:version]
|
70
|
+
migrate_down!(version)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
desc 'Migrate the database to the latest version'
|
75
|
+
task :migrate => 'db:migrate:up'
|
76
|
+
|
77
|
+
namespace :sessions do
|
78
|
+
desc "Creates the sessions table for rack DataMapperStore (works only with the default session class)"
|
79
|
+
task :create => :environment do
|
80
|
+
::DataMapper::Session::Abstract::Session.auto_migrate!
|
81
|
+
end
|
82
|
+
|
83
|
+
desc "Clear the sessions table for rack DataMapperStore (works only with the default session class)"
|
84
|
+
task :clear => :environment do
|
85
|
+
::DataMapper::Session::Abstract::Session.all.destroy!
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|