merb_datamapper 1.0.15 → 1.1.0.pre

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/README ADDED
@@ -0,0 +1,40 @@
1
+ = merb_datamapper
2
+
3
+ A plugin for the Merb framework that provides DataMapper access
4
+
5
+ == Features
6
+
7
+ * Automatic connection to a data-store through DataMapper, via database.yml
8
+ * Easy use of multiple repositories.
9
+ * Generators for models, controllers and migrations.
10
+ * Sessions stored in a data-store managed by DataMapper
11
+ * wraps actions in DataMapper repository blocks, to enable the IdentityMap
12
+
13
+ === Sessions
14
+
15
+ To use sessions:
16
+
17
+ 1. set the session store to datamapper in init.rb:
18
+ Merb::Config.use { |c|
19
+ c[:session_store] = 'datamapper'
20
+ }
21
+
22
+ 2. add the dependency in init.rb:
23
+ use_orm :datamapper
24
+
25
+ Sessions can be configured by a few plugin options:
26
+
27
+ [:session_storage_name] The name of the table to use to store the sessions (defaults to 'session')
28
+ [:session_repository_name] The repository to use for sessions. (defaults to <tt>:default</tt>)
29
+
30
+ === Repository Blocks
31
+
32
+ Repository Blocks are a DataMapper feature, which enables the use of the
33
+ DataMapper IdentityMap, which can help with certain DataMapper features such as
34
+ strategic eager loading. Read on http://www.datamapper.org for more information
35
+ on these features.
36
+
37
+ If, for whatever reason, it doesn't suit you, it can be disabled via setting the
38
+ <tt>:use_reposity_block</tt> option to <tt>false</tt>.
39
+
40
+ Merb::Plugins[:merb_datamapper][:use_reposity_block] = false
data/Rakefile CHANGED
@@ -1,80 +1,58 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), "..", "rake_helpers"))
2
-
3
- ##############################################################################
4
- # Package && release
5
- ##############################################################################
6
- RUBY_FORGE_PROJECT = "merb"
7
- PROJECT_URL = "http://merbivore.com"
8
- PROJECT_SUMMARY = "DataMapper plugin providing DataMapper support for Merb"
9
- PROJECT_DESCRIPTION = PROJECT_SUMMARY
10
-
11
- GEM_AUTHOR = "Jason Toy"
12
- GEM_EMAIL = "jtoy@rubynow.com"
13
-
14
- GEM_NAME = "merb_datamapper"
15
- PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
16
- GEM_VERSION = Merb::VERSION + PKG_BUILD
17
-
18
- RELEASE_NAME = "REL #{GEM_VERSION}"
19
-
20
- GEM_DEPENDENCIES = [
21
- ["dm-core", "~> #{Merb::DM_VERSION}"],
22
- ["dm-migrations", "~> #{Merb::DM_VERSION}"],
23
- ["merb-core", "~> #{GEM_VERSION}"]
24
- ]
25
-
26
- require "extlib/tasks/release"
27
-
28
- spec = Gem::Specification.new do |s|
29
- s.rubyforge_project = RUBY_FORGE_PROJECT
30
- s.name = GEM_NAME
31
- s.version = GEM_VERSION
32
- s.platform = Gem::Platform::RUBY
33
- s.has_rdoc = true
34
- s.extra_rdoc_files = ["LICENSE", 'TODO']
35
- s.summary = PROJECT_SUMMARY
36
- s.description = PROJECT_DESCRIPTION
37
- s.author = GEM_AUTHOR
38
- s.email = GEM_EMAIL
39
- s.homepage = PROJECT_URL
40
- GEM_DEPENDENCIES.each do |gem, version|
41
- s.add_dependency gem, version
42
- end
43
- s.require_path = 'lib'
44
- s.files = %w(LICENSE Rakefile TODO Generators) + Dir.glob("{lib}/**/*")
45
- end
1
+ require 'rubygems'
2
+ require 'rake'
46
3
 
47
- Rake::GemPackageTask.new(spec) do |pkg|
48
- pkg.gem_spec = spec
49
- end
4
+ # Assume a typical dev checkout to fetch the current merb-core version
5
+ require File.expand_path('../../merb/merb-core/lib/merb-core/version', __FILE__)
50
6
 
51
- desc "Install the gem"
52
- task :install do
53
- Merb::RakeHelper.install(GEM_NAME, :version => GEM_VERSION)
54
- end
7
+ # Load this library's version information
8
+ require File.expand_path('../lib/merb_datamapper/version', __FILE__)
55
9
 
56
- desc "Uninstall the gem"
57
- task :uninstall do
58
- Merb::RakeHelper.uninstall(GEM_NAME, :version => GEM_VERSION)
59
- end
10
+ begin
11
+
12
+ gem 'jeweler', '~> 1.4'
13
+ require 'jeweler'
14
+
15
+ Jeweler::Tasks.new do |gemspec|
16
+
17
+ gemspec.version = Merb::DataMapper::VERSION
18
+
19
+ gemspec.name = "merb_datamapper"
20
+ gemspec.description = "Merb plugin that provides support for datamapper"
21
+ gemspec.summary = "Merb plugin that allows you to use datamapper with your merb app"
22
+
23
+ gemspec.authors = [ "Jason Toy" ]
24
+ gemspec.email = "jtoy@rubynow.com"
25
+ gemspec.homepage = "http://github.com/merb/merb_datamapper"
26
+
27
+ gemspec.files = %w(Generators LICENSE Rakefile README TODO) + Dir['{lib,spec}/**/*']
28
+
29
+ # Runtime dependencies
30
+ gemspec.add_dependency 'merb-core', "= #{Merb::VERSION}"
31
+ gemspec.add_dependency 'dm-core', Merb::DataMapper::DM_VERSION_REQUIREMENT
32
+ gemspec.add_dependency 'dm-migrations', Merb::DataMapper::DM_VERSION_REQUIREMENT
33
+
34
+ # Development dependencies
35
+ gemspec.add_development_dependency 'rspec', '>= 1.2.9'
60
36
 
61
- desc "Create a gemspec file"
62
- task :gemspec do
63
- File.open("#{GEM_NAME}.gemspec", "w") do |file|
64
- file.puts spec.to_ruby
65
37
  end
38
+
39
+ Jeweler::GemcutterTasks.new
40
+
41
+ rescue LoadError
42
+ puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
66
43
  end
67
44
 
68
- desc "Run all examples (or a specific spec with TASK=xxxx)"
69
- Spec::Rake::SpecTask.new('spec') do |t|
70
- t.spec_opts = ["-cfs"]
71
- t.spec_files = begin
72
- if ENV["TASK"]
73
- ENV["TASK"].split(',').map { |task| "spec/**/#{task}_spec.rb" }
74
- else
75
- FileList['spec/**/*_spec.rb']
76
- end
77
- end
45
+ require 'spec/rake/spectask'
46
+ Spec::Rake::SpecTask.new(:spec) do |spec|
47
+ spec.spec_opts << '--options' << 'spec/spec.opts' if File.exists?('spec/spec.opts')
48
+ spec.libs << 'lib' << 'spec'
49
+ spec.spec_files = FileList['spec/**/*_spec.rb']
50
+ end
51
+
52
+ Spec::Rake::SpecTask.new(:rcov) do |spec|
53
+ spec.libs << 'lib' << 'spec'
54
+ spec.pattern = 'spec/**/*_spec.rb'
55
+ spec.rcov = true
78
56
  end
79
57
 
80
58
  desc 'Default: run spec examples'
@@ -40,8 +40,9 @@ class <%= class_name %> < Application
40
40
  @<%= singular_model %> = <%= model_class_name %>.get(id)
41
41
  raise NotFound unless @<%= singular_model %>
42
42
  if @<%= singular_model %>.update(<%= singular_model %>)
43
- redirect resource(@<%= singular_model %>)
43
+ redirect resource(@<%= singular_model %>), :message => {:notice => "<%= model_class_name %> was successfully updated"}
44
44
  else
45
+ message[:error] = "<%= model_class_name %> failed to be updated"
45
46
  display @<%= singular_model %>, :edit
46
47
  end
47
48
  end
@@ -50,7 +51,7 @@ class <%= class_name %> < Application
50
51
  @<%= singular_model %> = <%= model_class_name %>.get(id)
51
52
  raise NotFound unless @<%= singular_model %>
52
53
  if @<%= singular_model %>.destroy
53
- redirect resource(:<%= plural_model %>)
54
+ redirect resource(:<%= plural_model %>), :message => {:notice => "<%= model_class_name %> was successfully deleted"}
54
55
  else
55
56
  raise InternalServerError
56
57
  end
@@ -7,10 +7,10 @@ module Merb
7
7
  def self.default_repository_name
8
8
  Merb::Plugins.config[:merb_datamapper][:session_repository_name]
9
9
  end
10
-
10
+
11
11
  storage_names[default_repository_name] = Merb::Plugins.config[:merb_datamapper][:session_storage_name]
12
12
 
13
- property :session_id, String, :length => 32, :nullable => false, :key => true
13
+ property :session_id, String, :length => 32, :required => true, :key => true
14
14
  property :data, Object, :default => {}, :lazy => false
15
15
  property :created_at, DateTime, :default => Proc.new { |r, p| DateTime.now }
16
16
 
@@ -1,5 +1,5 @@
1
1
  require 'fileutils'
2
- require 'merb/orms/data_mapper/connection'
2
+ require 'merb_datamapper/connection'
3
3
 
4
4
  namespace :db do
5
5
 
@@ -10,7 +10,7 @@ namespace :db do
10
10
 
11
11
  desc "Create a sample database.yml file"
12
12
  task :database_yaml => :merb_env do
13
- sample_location = File.join(File.dirname(__FILE__), "..", "merb", "orms", "data_mapper", "database.yml.sample")
13
+ sample_location = File.expand_path('../database.yml.sample', __FILE__)
14
14
  target_location = Merb.dir_for(:config)
15
15
  FileUtils.cp sample_location, target_location
16
16
  end
@@ -54,7 +54,8 @@ namespace :db do
54
54
  when 'postgres'
55
55
  `createdb -U #{config[:username]} #{config[:database]}`
56
56
  when 'mysql'
57
- `mysqladmin -u #{config[:username]} #{config[:password] ? "-p'#{config[:password]}'" : ''} create #{config[:database]}`
57
+ user, password, database = config[:username], config[:password], config[:database]
58
+ `mysql -u #{user} #{password ? "-p #{password}" : ''} -e "create database #{database}"`
58
59
  when 'sqlite3'
59
60
  Rake::Task['rake:db:automigrate'].invoke
60
61
  else
@@ -62,13 +63,16 @@ namespace :db do
62
63
  end
63
64
  end
64
65
 
65
- desc "Drop the database (postgres only)"
66
+ desc "Drop the database (postgres and mysql only)"
66
67
  task :drop do
67
68
  config = Merb::Orms::DataMapper.config
68
69
  puts "Dropping database '#{config[:database]}'"
69
70
  case config[:adapter]
70
71
  when 'postgres'
71
72
  `dropdb -U #{config[:username]} #{config[:database]}`
73
+ when 'mysql'
74
+ user, password, database = config[:username], config[:password], config[:database]
75
+ `mysql -u #{user} #{password ? "-p #{password}" : ''} -e "drop database #{database}"`
72
76
  else
73
77
  raise "Adapter #{config[:adapter]} not supported for dropping databases yet.\ntry db:automigrate"
74
78
  end
@@ -1,5 +1,6 @@
1
- module DataMapper
2
- module MerbDataMapper
3
- VERSION = "1.0"
1
+ module Merb
2
+ module DataMapper
3
+ VERSION = '1.1.0.pre'.freeze
4
+ DM_VERSION_REQUIREMENT = '~> 0.10'.freeze
4
5
  end
5
6
  end
@@ -1,7 +1,8 @@
1
1
  if defined?(Merb::Plugins)
2
+
2
3
  require 'dm-core'
4
+ require 'merb_datamapper/connection'
3
5
 
4
- require File.dirname(__FILE__) / "merb" / "orms" / "data_mapper" / "connection"
5
6
  Merb::Plugins.add_rakefiles "merb_datamapper" / "merbtasks"
6
7
 
7
8
  # conditionally assign things, so as not to override previously set options.
@@ -18,6 +19,14 @@ if defined?(Merb::Plugins)
18
19
  Merb::Plugins.config[:merb_datamapper][:session_repository_name] = :default
19
20
  end
20
21
 
22
+ module DataMapper
23
+ module Resource
24
+
25
+ # actionorm compliance
26
+ alias new_record? new?
27
+
28
+ end
29
+ end
21
30
 
22
31
  class Merb::Orms::DataMapper::Connect < Merb::BootLoader
23
32
  after BeforeAppLoads
@@ -38,7 +47,7 @@ if defined?(Merb::Plugins)
38
47
  Merb.logger.verbose! "Checking if we need to use DataMapper sessions"
39
48
  if Merb::Config.session_store == 'datamapper'
40
49
  Merb.logger.verbose! "Using DataMapper sessions"
41
- require File.dirname(__FILE__) / "merb" / "session" / "data_mapper_session"
50
+ require 'merb_datamapper/data_mapper_session'
42
51
  end
43
52
 
44
53
  # take advantage of the fact #id returns the key of the model, unless #id is a property
@@ -52,14 +61,15 @@ if defined?(Merb::Plugins)
52
61
  after LoadClasses
53
62
 
54
63
  def self.run
64
+
55
65
  Merb.logger.verbose! 'Merb::Orms::DataMapper::Associations - defining lazy relationship properties'
56
-
66
+
57
67
  DataMapper::Model.descendants.each do |model|
58
68
  model.relationships.each_value { |r| r.child_key }
59
69
  end
60
70
 
61
71
  Merb.logger.verbose! 'Merb::Orms::DataMapper::Associations - complete'
62
-
72
+
63
73
  end
64
74
  end
65
75
 
@@ -88,5 +98,5 @@ if defined?(Merb::Plugins)
88
98
  Merb.add_generators generators / 'data_mapper_model'
89
99
  Merb.add_generators generators / 'data_mapper_resource_controller'
90
100
  Merb.add_generators generators / 'data_mapper_migration'
91
-
101
+
92
102
  end
@@ -0,0 +1,67 @@
1
+ require 'spec_helper'
2
+ require 'merb_datamapper/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
@@ -0,0 +1,10 @@
1
+ class IdMap < Application
2
+ def index
3
+ return 'false' unless Post.get(1)
4
+ if (Post.get(1).object_id == Post.first(:id => 1).object_id)
5
+ "true"
6
+ else
7
+ "false"
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,6 @@
1
+ class Post
2
+ include DataMapper::Resource
3
+ property :id, Serial
4
+ property :title, String
5
+ end
6
+
@@ -0,0 +1,9 @@
1
+ class Session < Application
2
+ def set
3
+ session[:key] = 'value'
4
+ end
5
+
6
+ def get
7
+ session[:key]
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe "With the identity map enabled" do
4
+ before(:each) do
5
+ @response = request('/id_map/')
6
+ end
7
+ it "/id_map returns 'true'" do
8
+ @response.should have_body('true')
9
+ end
10
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+ require 'merb_datamapper/data_mapper_session'
3
+
4
+ describe Merb::DataMapperSession do
5
+
6
+ before(:each) do
7
+ @session_class = Merb::DataMapperSession
8
+ @session = @session_class.generate
9
+ end
10
+
11
+ it "should have a session_store_type class attribute" do
12
+ @session.class.session_store_type.should == :datamapper
13
+ end
14
+
15
+ it "should persist values" do
16
+ response = request('/session/set')
17
+ response.should be_successful
18
+ response.body.should == 'value'
19
+ response = request('/session/get')
20
+ response.should be_successful
21
+ response.body.should == 'value'
22
+ end
23
+ end
@@ -0,0 +1,124 @@
1
+ require 'spec_helper'
2
+ require 'merb_datamapper/data_mapper_session'
3
+
4
+ describe Merb::DataMapperSessionStore do
5
+ before(:all) do
6
+ DataMapper.setup(:default, "sqlite3::memory:")
7
+ end
8
+
9
+ before(:each) do
10
+ @session_container = Merb::DataMapperSessionStore
11
+ @session_container.auto_migrate!
12
+ @sess_id = 'a'*32
13
+ end
14
+
15
+
16
+ describe "#retrieve_session" do
17
+ it "responds to retrieve_session" do
18
+ @session_container.should respond_to(:retrieve_session)
19
+ end
20
+ it "returns the data when given an existing session id" do
21
+ @session_container.create(:session_id => @sess_id, :data => {:foo => 'bar'})
22
+ session_data = @session_container.retrieve_session(@sess_id)
23
+ session_data.should_not be_nil
24
+ session_data[:foo].should == 'bar'
25
+ end
26
+ it "returns nil when a non-existent session_id is used" do
27
+ @session_container.retrieve_session(@sess_id).should be_nil
28
+ end
29
+ end
30
+
31
+
32
+ describe "#store_session" do
33
+ it "responds to store_session" do
34
+ @session_container.should respond_to(:store_session)
35
+ end
36
+
37
+ describe "when a session_id doesn't exist" do
38
+ it "creates a new record" do
39
+ @session_container.all.should be_empty
40
+ @session_container.store_session(@sess_id, {:foo => 'bar'})
41
+ @session_container.all.should_not be_empty
42
+ end
43
+
44
+ it "saves the data" do
45
+ @session_container.store_session(@sess_id, {:foo => 'bar'})
46
+ session_data = @session_container.retrieve_session(@sess_id)
47
+ session_data.should_not be_nil
48
+ session_data[:foo].should == 'bar'
49
+ end
50
+ end
51
+
52
+ describe "when a session_id does exist" do
53
+ before(:each) do
54
+ @session_container.store_session(@sess_id, {:foo => 'bar'})
55
+ end
56
+
57
+ it "doesn't create a new session" do
58
+ @session_container.all.size.should == 1
59
+ @session_container.store_session(@sess_id, {:foo => 'FOOOO'})
60
+ @session_container.all.size.should == 1
61
+ end
62
+
63
+ it "saves the data" do
64
+ @session_container.store_session(@sess_id, {:foo => 'FOOOO'})
65
+ session_data = @session_container.retrieve_session(@sess_id)
66
+ session_data.should_not be_nil
67
+ session_data[:foo].should == 'FOOOO'
68
+ end
69
+ end
70
+ end
71
+
72
+
73
+ describe "#delete_session" do
74
+ before(:each) do
75
+ @session_container.store_session(@sess_id, {:foo => 'bar'})
76
+ end
77
+
78
+ it "responds to #delete_session" do
79
+ @session_container.should respond_to(:delete_session)
80
+ end
81
+
82
+ it "destroys an existing session" do
83
+ @session_container.all.size.should == 1
84
+ @session_container.delete_session(@sess_id)
85
+ @session_container.all.size.should == 0
86
+ end
87
+
88
+ it "doesn't destroy a session when the key doesn't match" do
89
+ @session_container.all.size.should == 1
90
+ @session_container.delete_session('b'*32)
91
+ @session_container.all.size.should == 1
92
+ end
93
+ end
94
+ end
95
+ describe "configuration options" do
96
+ before(:each) do
97
+ @session_container = Merb::DataMapperSessionStore
98
+ end
99
+ after(:each) do
100
+ Merb::Plugins.config[:merb_datamapper].clear
101
+ end
102
+
103
+ describe "repository" do
104
+ it "uses the :default repository when no options are set" do
105
+ @session_container.default_repository_name.should == :default
106
+ end
107
+ it "uses the set name when provided" do
108
+ Merb::Plugins.config[:merb_datamapper][:session_repository_name] = :other
109
+ @session_container.default_repository_name.should == :other
110
+ end
111
+ end
112
+
113
+
114
+ describe "table name" do
115
+ it "uses the 'sessions' when no options are set" do
116
+ @session_container.storage_names[:default].should == 'sessions'
117
+ end
118
+ it "uses the set table name when it is set" do
119
+ pending "this should work but doesn't"
120
+ Merb::Plugins.config[:merb_datamapper][:session_storage_name] = 'foos'
121
+ @session_container.storage_names[:default].should == 'foos'
122
+ end
123
+ end
124
+ end
data/spec/spec.opts ADDED
@@ -0,0 +1,2 @@
1
+ --format specdoc
2
+ --colour
@@ -0,0 +1,44 @@
1
+ require "rubygems"
2
+
3
+ # Use current merb-core sources if running from a typical dev checkout.
4
+ lib = File.expand_path('../../../merb/merb-core/lib', __FILE__)
5
+ $LOAD_PATH.unshift(lib) if File.directory?(lib)
6
+ require 'merb-core'
7
+ require 'merb-core/test'
8
+ require 'merb-core/test/helpers'
9
+
10
+ # The lib under test
11
+ require "merb_datamapper"
12
+
13
+ # Satisfies Autotest and anyone else not using the Rake tasks
14
+ require 'spec'
15
+
16
+
17
+ Merb.start(
18
+ :environment => 'test',
19
+ :adapter => 'runner',
20
+ :session_store => 'datamapper',
21
+ :merb_root => File.dirname(__FILE__),
22
+ :log_level => :debug
23
+ )
24
+
25
+ Spec::Runner.configure do |config|
26
+ config.include Merb::Test::RequestHelper
27
+ end
28
+
29
+ Merb::Router.prepare do
30
+ default_routes
31
+ end
32
+
33
+ class Application < Merb::Controller
34
+ end
35
+
36
+
37
+ require 'datamapper_id_map_controller'
38
+ require 'datamapper_session_controller'
39
+ require 'datamapper_model'
40
+
41
+ DataMapper.setup(:default, 'sqlite3::memory:')
42
+ DataObjects::Sqlite3.logger = Merb.logger
43
+ DataMapper.auto_migrate!
44
+ Post.create(:title => 'foo')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: merb_datamapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.15
4
+ version: 1.1.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Toy
@@ -9,9 +9,19 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-04 00:00:00 +00:00
12
+ date: 2010-01-23 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: merb-core
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - "="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.1.0.pre
24
+ version:
15
25
  - !ruby/object:Gem::Dependency
16
26
  name: dm-core
17
27
  type: :runtime
@@ -33,16 +43,16 @@ dependencies:
33
43
  version: "0.10"
34
44
  version:
35
45
  - !ruby/object:Gem::Dependency
36
- name: merb-core
37
- type: :runtime
46
+ name: rspec
47
+ type: :development
38
48
  version_requirement:
39
49
  version_requirements: !ruby/object:Gem::Requirement
40
50
  requirements:
41
- - - ~>
51
+ - - ">="
42
52
  - !ruby/object:Gem::Version
43
- version: 1.0.15
53
+ version: 1.2.9
44
54
  version:
45
- description: DataMapper plugin providing DataMapper support for Merb
55
+ description: Merb plugin that provides support for datamapper
46
56
  email: jtoy@rubynow.com
47
57
  executables: []
48
58
 
@@ -50,12 +60,14 @@ extensions: []
50
60
 
51
61
  extra_rdoc_files:
52
62
  - LICENSE
63
+ - README
53
64
  - TODO
54
65
  files:
66
+ - Generators
55
67
  - LICENSE
68
+ - README
56
69
  - Rakefile
57
70
  - TODO
58
- - Generators
59
71
  - lib/generators/data_mapper_migration.rb
60
72
  - lib/generators/data_mapper_model.rb
61
73
  - lib/generators/data_mapper_resource_controller.rb
@@ -67,19 +79,28 @@ files:
67
79
  - lib/generators/templates/views/index.html.erb
68
80
  - lib/generators/templates/views/new.html.erb
69
81
  - lib/generators/templates/views/show.html.erb
70
- - lib/merb/orms/data_mapper/connection.rb
71
- - lib/merb/orms/data_mapper/database.yml.sample
72
- - lib/merb/session/data_mapper_session.rb
82
+ - lib/merb_datamapper.rb
83
+ - lib/merb_datamapper/connection.rb
84
+ - lib/merb_datamapper/data_mapper_session.rb
85
+ - lib/merb_datamapper/database.yml.sample
73
86
  - lib/merb_datamapper/merbtasks.rb
74
87
  - lib/merb_datamapper/version.rb
75
- - lib/merb_datamapper.rb
88
+ - spec/connection_spec.rb
89
+ - spec/datamapper_id_map_controller.rb
90
+ - spec/datamapper_model.rb
91
+ - spec/datamapper_session_controller.rb
92
+ - spec/identity_map_spec.rb
93
+ - spec/session_spec.rb
94
+ - spec/session_store_spec.rb
95
+ - spec/spec.opts
96
+ - spec/spec_helper.rb
76
97
  has_rdoc: true
77
- homepage: http://merbivore.com
98
+ homepage: http://github.com/merb/merb_datamapper
78
99
  licenses: []
79
100
 
80
101
  post_install_message:
81
- rdoc_options: []
82
-
102
+ rdoc_options:
103
+ - --charset=UTF-8
83
104
  require_paths:
84
105
  - lib
85
106
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -90,16 +111,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
90
111
  version:
91
112
  required_rubygems_version: !ruby/object:Gem::Requirement
92
113
  requirements:
93
- - - ">="
114
+ - - ">"
94
115
  - !ruby/object:Gem::Version
95
- version: "0"
116
+ version: 1.3.1
96
117
  version:
97
118
  requirements: []
98
119
 
99
- rubyforge_project: merb
120
+ rubyforge_project:
100
121
  rubygems_version: 1.3.5
101
122
  signing_key:
102
123
  specification_version: 3
103
- summary: DataMapper plugin providing DataMapper support for Merb
104
- test_files: []
105
-
124
+ summary: Merb plugin that allows you to use datamapper with your merb app
125
+ test_files:
126
+ - spec/connection_spec.rb
127
+ - spec/datamapper_id_map_controller.rb
128
+ - spec/datamapper_model.rb
129
+ - spec/datamapper_session_controller.rb
130
+ - spec/identity_map_spec.rb
131
+ - spec/session_spec.rb
132
+ - spec/session_store_spec.rb
133
+ - spec/spec_helper.rb