dm-rails 1.1.0 → 1.2.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +15 -11
- data/README.rdoc +13 -10
- data/Rakefile +1 -1
- data/VERSION +1 -2
- data/dm-rails.gemspec +31 -38
- data/lib/dm-rails/configuration.rb +4 -0
- data/lib/dm-rails/middleware/identity_map.rb +3 -2
- data/lib/dm-rails/railtie.rb +1 -1
- data/lib/dm-rails/railties/database.rake +11 -3
- data/lib/dm-rails/session_store.rb +1 -1
- data/lib/dm-rails/setup.rb +16 -5
- data/lib/dm-rails/storage.rb +31 -11
- data/spec/unit/multiparameter_attributes_spec.rb +1 -0
- metadata +97 -49
data/Gemfile
CHANGED
@@ -5,29 +5,33 @@ source 'http://rubygems.org'
|
|
5
5
|
SOURCE = ENV.fetch('SOURCE', :git).to_sym
|
6
6
|
REPO_POSTFIX = SOURCE == :path ? '' : '.git'
|
7
7
|
DATAMAPPER = SOURCE == :path ? Pathname(__FILE__).dirname.parent : 'http://github.com/datamapper'
|
8
|
-
DM_VERSION = '~> 1.
|
9
|
-
DO_VERSION = '~> 0.10.
|
8
|
+
DM_VERSION = '~> 1.2.0.rc1'
|
9
|
+
DO_VERSION = '~> 0.10.6'
|
10
|
+
RAILS_VERSION = '~> 3.1.0'
|
10
11
|
DM_DO_ADAPTERS = %w[ sqlite postgres mysql oracle sqlserver ]
|
11
12
|
|
12
|
-
|
13
|
-
gem '
|
13
|
+
# DataMapper dependencies
|
14
|
+
gem 'dm-core', DM_VERSION, SOURCE => "#{DATAMAPPER}/dm-core#{REPO_POSTFIX}"
|
14
15
|
gem 'dm-active_model', DM_VERSION, SOURCE => "#{DATAMAPPER}/dm-active_model#{REPO_POSTFIX}"
|
15
|
-
|
16
|
+
|
17
|
+
# Rails dependencies
|
18
|
+
gem 'actionpack', RAILS_VERSION, :require => 'action_pack'
|
19
|
+
gem 'railties', RAILS_VERSION, :require => 'rails'
|
16
20
|
|
17
21
|
group :development do
|
18
22
|
|
19
|
-
gem 'jeweler', '~> 1.
|
20
|
-
gem 'rake', '~> 0.
|
21
|
-
gem 'rspec', '~> 1.3.
|
23
|
+
gem 'jeweler', '~> 1.6.4'
|
24
|
+
gem 'rake', '~> 0.9.2'
|
25
|
+
gem 'rspec', '~> 1.3.2'
|
22
26
|
|
23
27
|
end
|
24
28
|
|
25
29
|
platforms :mri_18 do
|
26
30
|
group :quality do
|
27
31
|
|
28
|
-
gem 'rcov', '~> 0.9.
|
29
|
-
gem 'yard', '~> 0.
|
30
|
-
gem 'yardstick', '~> 0.
|
32
|
+
gem 'rcov', '~> 0.9.10'
|
33
|
+
gem 'yard', '~> 0.7.2'
|
34
|
+
gem 'yardstick', '~> 0.4'
|
31
35
|
|
32
36
|
end
|
33
37
|
end
|
data/README.rdoc
CHANGED
@@ -169,6 +169,10 @@ An example for setting up a single repository for every environment.
|
|
169
169
|
database: rails3_app_production
|
170
170
|
<<: *defaults
|
171
171
|
|
172
|
+
An example of setting up a single repository with a URI, which overrides all other configuration for that environment:
|
173
|
+
|
174
|
+
development:
|
175
|
+
uri: mysql://localhost/rails3_app_development?user=mysql
|
172
176
|
|
173
177
|
An example for setting up multiple repositories for every environment.
|
174
178
|
|
@@ -417,7 +421,7 @@ Activating the identity map is achieved by installing a middleware that wraps th
|
|
417
421
|
|
418
422
|
DataMapper.repository { ... }
|
419
423
|
|
420
|
-
Note that this scopes every call to datamapper to the :default repository specified in your database.yml file. If you need to access a different repository from within your actions, just wrap the calls in another DataMapper.repository block. DataMapper stacks the repositories it uses and the innermost will always win.
|
424
|
+
Note that this scopes every call to datamapper to the :default repository specified in your database.yml file. If you need to access a different repository from within your actions, just wrap the calls in another DataMapper.repository block. DataMapper stacks the repositories it uses and the innermost will always win. see also next paragraph.
|
421
425
|
|
422
426
|
In order to activate the Identity Map in your application, you need to explicitly use the provided middleware (or in fact any other middleware that does the job to your liking) in any of your controllers. For example, if you want to enable the Identity Map for all controllers, you would declare to use the middleware in your ApplicationController.
|
423
427
|
|
@@ -427,7 +431,11 @@ In order to activate the Identity Map in your application, you need to explicitl
|
|
427
431
|
protect_from_forgery
|
428
432
|
end
|
429
433
|
|
430
|
-
|
434
|
+
For a different scope then :default of other repositories replace/add the line with:
|
435
|
+
|
436
|
+
use Rails::DataMapper::Middleware::IdentityMap, :myscope
|
437
|
+
|
438
|
+
If you've created your application using the official templates at http://datamapper.org/templates/rails.rb this has already been added for you. If for some reason you don't want to enable the (default) Identity Map globally for all controllers, you can either just use the middleware in a few selected controllers (in case you don't have too many controllers needing it), or you can create a controller class that uses the middleware, and inherit from that controller in cases where you need Identity Map support.
|
431
439
|
|
432
440
|
# app/controllers/identity_map_controller.rb
|
433
441
|
require 'dm-rails/middleware/identity_map'
|
@@ -479,6 +487,8 @@ or that you want to use your own naming convention, that is implemented in e.g.
|
|
479
487
|
'tbl' + value.camelize(true)
|
480
488
|
end
|
481
489
|
|
490
|
+
Field names can be customized in the same manner using `Rails::DataMapper.configuration.resource_naming_convention`.
|
491
|
+
|
482
492
|
For more detailed documentation about DataMapper naming conventions and the ones that are available by default, have a look at http://rdoc.info/projects/datamapper/dm-core and search for _NamingConventions_ in the Class List.
|
483
493
|
|
484
494
|
== Mass assignment protection
|
@@ -535,14 +545,6 @@ Currently dm-rails publishes the same benchmarking information like active_recor
|
|
535
545
|
|
536
546
|
Completed in 9ms (Views: 7.6ms | Models: 0.6ms) with 200
|
537
547
|
|
538
|
-
|
539
|
-
== Migrations
|
540
|
-
|
541
|
-
The latest released version of {dm-migrations}[http://github.com/datamapper/dm-migrations] suffers from a {bug}[http://datamapper.lighthouseapp.com/projects/20609/tickets/1214]
|
542
|
-
that prevents any migration to be run at all when invoked via the standard `rake db:migrate` command. Currently, there are two ways to workaround that.
|
543
|
-
|
544
|
-
You can either point {dm-migrations}[http://github.com/datamapper/dm-migrations] to :git in your application's Gemfile, or you can patch the generated Rakefile as shown at the bottom of the related {bug report}[http://datamapper.lighthouseapp.com/projects/20609/tickets/1214].
|
545
|
-
|
546
548
|
== TODO (not necessarily in that order)
|
547
549
|
|
548
550
|
* SPECS !!!
|
@@ -586,6 +588,7 @@ Thx to all contributors, every patch, big or small is very much appreciated!
|
|
586
588
|
* Xavier Shay ({xaviershay}[http://github.com/xaviershay])
|
587
589
|
* Nico Rieck ({gix}[http://github.com/gix])
|
588
590
|
* Piotr Solnica ({solnic}[http://github.com/solnic])
|
591
|
+
* Corin Lawson ({maxsum-corin}[http://github.com/maxsum-corin])
|
589
592
|
|
590
593
|
== Copyright
|
591
594
|
|
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1,2 +1 @@
|
|
1
|
-
1.
|
2
|
-
|
1
|
+
1.2.0.rc1
|
data/dm-rails.gemspec
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "1.
|
7
|
+
s.name = "dm-rails"
|
8
|
+
s.version = "1.2.0.rc1"
|
9
9
|
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new("
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Martin Gamsjaeger (snusnu)", "Dan Kubb"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2011-09-09"
|
13
|
+
s.description = "Integrate DataMapper with Rails 3"
|
14
|
+
s.email = "gamsnjaga@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
17
17
|
"README.rdoc"
|
@@ -55,47 +55,40 @@ Gem::Specification.new do |s|
|
|
55
55
|
"tasks/yard.rake",
|
56
56
|
"tasks/yardstick.rake"
|
57
57
|
]
|
58
|
-
s.homepage =
|
58
|
+
s.homepage = "http://github.com/datamapper/dm-rails"
|
59
59
|
s.require_paths = ["lib"]
|
60
|
-
s.rubyforge_project =
|
61
|
-
s.rubygems_version =
|
62
|
-
s.summary =
|
63
|
-
s.test_files = [
|
64
|
-
"spec/models/fake.rb",
|
65
|
-
"spec/models/topic.rb",
|
66
|
-
"spec/spec_helper.rb",
|
67
|
-
"spec/unit/mass_assignment_security_spec.rb",
|
68
|
-
"spec/unit/multiparameter_attributes_spec.rb"
|
69
|
-
]
|
60
|
+
s.rubyforge_project = "datamapper"
|
61
|
+
s.rubygems_version = "1.8.10"
|
62
|
+
s.summary = "Use DataMapper with Rails 3"
|
70
63
|
|
71
64
|
if s.respond_to? :specification_version then
|
72
65
|
s.specification_version = 3
|
73
66
|
|
74
67
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
75
|
-
s.add_runtime_dependency(%q<dm-core>, ["~> 1.
|
76
|
-
s.add_runtime_dependency(%q<
|
77
|
-
s.add_runtime_dependency(%q<
|
78
|
-
s.add_runtime_dependency(%q<railties>, ["~> 3.0
|
79
|
-
s.add_development_dependency(%q<jeweler>, ["~> 1.
|
80
|
-
s.add_development_dependency(%q<rake>, ["~> 0.
|
81
|
-
s.add_development_dependency(%q<rspec>, ["~> 1.3.
|
68
|
+
s.add_runtime_dependency(%q<dm-core>, ["~> 1.2.0.rc1"])
|
69
|
+
s.add_runtime_dependency(%q<dm-active_model>, ["~> 1.2.0.rc1"])
|
70
|
+
s.add_runtime_dependency(%q<actionpack>, ["~> 3.1.0"])
|
71
|
+
s.add_runtime_dependency(%q<railties>, ["~> 3.1.0"])
|
72
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
|
73
|
+
s.add_development_dependency(%q<rake>, ["~> 0.9.2"])
|
74
|
+
s.add_development_dependency(%q<rspec>, ["~> 1.3.2"])
|
82
75
|
else
|
83
|
-
s.add_dependency(%q<dm-core>, ["~> 1.
|
84
|
-
s.add_dependency(%q<
|
85
|
-
s.add_dependency(%q<
|
86
|
-
s.add_dependency(%q<railties>, ["~> 3.0
|
87
|
-
s.add_dependency(%q<jeweler>, ["~> 1.
|
88
|
-
s.add_dependency(%q<rake>, ["~> 0.
|
89
|
-
s.add_dependency(%q<rspec>, ["~> 1.3.
|
76
|
+
s.add_dependency(%q<dm-core>, ["~> 1.2.0.rc1"])
|
77
|
+
s.add_dependency(%q<dm-active_model>, ["~> 1.2.0.rc1"])
|
78
|
+
s.add_dependency(%q<actionpack>, ["~> 3.1.0"])
|
79
|
+
s.add_dependency(%q<railties>, ["~> 3.1.0"])
|
80
|
+
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
81
|
+
s.add_dependency(%q<rake>, ["~> 0.9.2"])
|
82
|
+
s.add_dependency(%q<rspec>, ["~> 1.3.2"])
|
90
83
|
end
|
91
84
|
else
|
92
|
-
s.add_dependency(%q<dm-core>, ["~> 1.
|
93
|
-
s.add_dependency(%q<
|
94
|
-
s.add_dependency(%q<
|
95
|
-
s.add_dependency(%q<railties>, ["~> 3.0
|
96
|
-
s.add_dependency(%q<jeweler>, ["~> 1.
|
97
|
-
s.add_dependency(%q<rake>, ["~> 0.
|
98
|
-
s.add_dependency(%q<rspec>, ["~> 1.3.
|
85
|
+
s.add_dependency(%q<dm-core>, ["~> 1.2.0.rc1"])
|
86
|
+
s.add_dependency(%q<dm-active_model>, ["~> 1.2.0.rc1"])
|
87
|
+
s.add_dependency(%q<actionpack>, ["~> 3.1.0"])
|
88
|
+
s.add_dependency(%q<railties>, ["~> 3.1.0"])
|
89
|
+
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
90
|
+
s.add_dependency(%q<rake>, ["~> 0.9.2"])
|
91
|
+
s.add_dependency(%q<rspec>, ["~> 1.3.2"])
|
99
92
|
end
|
100
93
|
end
|
101
94
|
|
@@ -3,12 +3,13 @@ module Rails
|
|
3
3
|
module Middleware
|
4
4
|
|
5
5
|
class IdentityMap
|
6
|
-
def initialize(app)
|
6
|
+
def initialize(app, name = :default)
|
7
7
|
@app = app
|
8
|
+
@name = name.to_sym
|
8
9
|
end
|
9
10
|
|
10
11
|
def call(env)
|
11
|
-
::DataMapper.repository do
|
12
|
+
::DataMapper.repository(@name) do
|
12
13
|
@app.call(env)
|
13
14
|
end
|
14
15
|
end
|
data/lib/dm-rails/railtie.rb
CHANGED
@@ -29,7 +29,7 @@ module Rails
|
|
29
29
|
|
30
30
|
config.data_mapper = Rails::DataMapper::Configuration.create
|
31
31
|
|
32
|
-
config.
|
32
|
+
config.app_generators.orm :data_mapper, :migration => true
|
33
33
|
|
34
34
|
|
35
35
|
# Support overwriting crucial steps in subclasses
|
@@ -64,18 +64,26 @@ namespace :db do
|
|
64
64
|
end
|
65
65
|
|
66
66
|
desc 'Migrate up using migrations'
|
67
|
-
task :up, :version
|
67
|
+
task :up, [:version] => [:load] do |t, args|
|
68
68
|
::DataMapper::MigrationRunner.migrate_up!(args[:version])
|
69
69
|
end
|
70
70
|
|
71
71
|
desc 'Migrate down using migrations'
|
72
|
-
task :down, :version
|
72
|
+
task :down, [:version] => [:load] do |t, args|
|
73
73
|
::DataMapper::MigrationRunner.migrate_down!(args[:version])
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
77
77
|
desc 'Migrate the database to the latest version'
|
78
|
-
task :migrate
|
78
|
+
task :migrate do
|
79
|
+
migrate_task = if Dir['db/migrate/*.rb'].empty?
|
80
|
+
'db:autoupgrade'
|
81
|
+
else
|
82
|
+
'db:migrate:up'
|
83
|
+
end
|
84
|
+
|
85
|
+
Rake::Task[migrate_task].invoke
|
86
|
+
end
|
79
87
|
|
80
88
|
namespace :sessions do
|
81
89
|
desc "Creates the sessions table for DataMapperStore"
|
@@ -44,7 +44,7 @@ module Rails
|
|
44
44
|
def set_session(env, sid, session_data)
|
45
45
|
session = get_session_resource(env, sid)
|
46
46
|
session.data = session_data
|
47
|
-
session.updated_at =
|
47
|
+
session.updated_at = DateTime.now if session.dirty?
|
48
48
|
session.save ? sid : false
|
49
49
|
end
|
50
50
|
|
data/lib/dm-rails/setup.rb
CHANGED
@@ -15,12 +15,23 @@ module Rails
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.setup_with_instrumentation(name, options)
|
18
|
-
|
19
|
-
adapter =
|
18
|
+
|
19
|
+
adapter = if options['uri']
|
20
|
+
database_uri = ::Addressable::URI.parse(options['uri'])
|
21
|
+
::DataMapper.logger.info "[datamapper] Setting up #{name.inspect} repository: '#{database_uri.path}' on #{database_uri.scheme}"
|
22
|
+
::DataMapper.setup(name, database_uri)
|
23
|
+
else
|
24
|
+
::DataMapper.logger.info "[datamapper] Setting up #{name.inspect} repository: '#{options['database']}' on #{options['adapter']}"
|
25
|
+
::DataMapper.setup(name, options)
|
26
|
+
end
|
27
|
+
|
20
28
|
if convention = configuration.resource_naming_convention[name]
|
21
29
|
adapter.resource_naming_convention = convention
|
22
30
|
end
|
23
|
-
|
31
|
+
if convention = configuration.field_naming_convention[name]
|
32
|
+
adapter.field_naming_convention = convention
|
33
|
+
end
|
34
|
+
setup_log_listener(adapter.options['adapter'])
|
24
35
|
end
|
25
36
|
|
26
37
|
def self.setup_logger(logger)
|
@@ -45,8 +56,8 @@ module Rails
|
|
45
56
|
end
|
46
57
|
|
47
58
|
def self.preload_models(app)
|
48
|
-
app.config.paths
|
49
|
-
Dir.glob("#{path}/**/*.rb").sort.each { |file| require_dependency file }
|
59
|
+
app.config.paths['app/models'].each do |path|
|
60
|
+
Dir.glob("#{path}/**/*.rb").sort.each { |file| require_dependency file[path.length..-1] }
|
50
61
|
end
|
51
62
|
finalize
|
52
63
|
end
|
data/lib/dm-rails/storage.rb
CHANGED
@@ -98,19 +98,39 @@ module Rails
|
|
98
98
|
"[datamapper] Dropped database '#{database}'"
|
99
99
|
end
|
100
100
|
|
101
|
+
# Create the configured database
|
102
|
+
#
|
103
|
+
# This is a noop so that calling this method
|
104
|
+
# won't explode on people who use adapters that
|
105
|
+
# don't support creating a storage recepticle
|
106
|
+
def _create
|
107
|
+
true
|
108
|
+
end
|
109
|
+
|
110
|
+
# Drop the configured database
|
111
|
+
#
|
112
|
+
# This is a noop so that calling this method
|
113
|
+
# won't explode on people who use adapters that
|
114
|
+
# don't support dropping a storage recepticle
|
115
|
+
def _drop
|
116
|
+
true
|
117
|
+
end
|
118
|
+
|
101
119
|
class Sqlite < Storage
|
102
|
-
def _create
|
103
|
-
# This is a noop for sqlite
|
104
|
-
#
|
105
|
-
# Both auto_migrate!/auto_upgrade! will create the actual database
|
106
|
-
# if the connection has been setup properly and there actually
|
107
|
-
# are statements to execute (i.e. at least one model is declared)
|
108
|
-
#
|
109
|
-
# DataMapper.setup alone won't create the actual database so there
|
110
|
-
# really is no API to simply create an empty database for sqlite3.
|
111
|
-
#
|
112
|
-
# we return true to indicate success nevertheless
|
113
120
|
|
121
|
+
# This is a noop for sqlite
|
122
|
+
#
|
123
|
+
# Overwritten solely for documentation purposes
|
124
|
+
#
|
125
|
+
# Both auto_migrate!/auto_upgrade! will create the actual database
|
126
|
+
# if the connection has been setup properly and there actually
|
127
|
+
# are statements to execute (i.e. at least one model is declared)
|
128
|
+
#
|
129
|
+
# DataMapper.setup alone won't create the actual database so there
|
130
|
+
# really is no API to simply create an empty database for sqlite3.
|
131
|
+
#
|
132
|
+
# we return true to indicate success nevertheless
|
133
|
+
def _create
|
114
134
|
true
|
115
135
|
end
|
116
136
|
|
@@ -7,6 +7,7 @@ describe Rails::DataMapper::MultiparameterAttributes do
|
|
7
7
|
before :all do
|
8
8
|
load Pathname(__FILE__).dirname.parent.join('models/topic.rb').expand_path
|
9
9
|
load Pathname(__FILE__).dirname.parent.join('models/fake.rb').expand_path
|
10
|
+
DataMapper.finalize
|
10
11
|
model = ::Rails::DataMapper::Models::Topic
|
11
12
|
model.auto_migrate! if model.respond_to?(:auto_migrate!)
|
12
13
|
end
|
metadata
CHANGED
@@ -1,8 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
4
|
+
hash: 15424023
|
5
|
+
prerelease: 6
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
- rc
|
11
|
+
- 1
|
12
|
+
version: 1.2.0.rc1
|
6
13
|
platform: ruby
|
7
14
|
authors:
|
8
15
|
- Martin Gamsjaeger (snusnu)
|
@@ -11,86 +18,124 @@ autorequire:
|
|
11
18
|
bindir: bin
|
12
19
|
cert_chain: []
|
13
20
|
|
14
|
-
date: 2011-
|
15
|
-
default_executable:
|
21
|
+
date: 2011-09-09 00:00:00 Z
|
16
22
|
dependencies:
|
17
23
|
- !ruby/object:Gem::Dependency
|
18
|
-
|
19
|
-
|
24
|
+
type: :runtime
|
25
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
20
26
|
none: false
|
21
27
|
requirements:
|
22
28
|
- - ~>
|
23
29
|
- !ruby/object:Gem::Version
|
24
|
-
|
25
|
-
|
30
|
+
hash: 15424023
|
31
|
+
segments:
|
32
|
+
- 1
|
33
|
+
- 2
|
34
|
+
- 0
|
35
|
+
- rc
|
36
|
+
- 1
|
37
|
+
version: 1.2.0.rc1
|
26
38
|
prerelease: false
|
27
|
-
|
39
|
+
requirement: *id001
|
40
|
+
name: dm-core
|
28
41
|
- !ruby/object:Gem::Dependency
|
29
|
-
|
30
|
-
|
42
|
+
type: :runtime
|
43
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
31
44
|
none: false
|
32
45
|
requirements:
|
33
46
|
- - ~>
|
34
47
|
- !ruby/object:Gem::Version
|
35
|
-
|
36
|
-
|
48
|
+
hash: 15424023
|
49
|
+
segments:
|
50
|
+
- 1
|
51
|
+
- 2
|
52
|
+
- 0
|
53
|
+
- rc
|
54
|
+
- 1
|
55
|
+
version: 1.2.0.rc1
|
37
56
|
prerelease: false
|
38
|
-
|
39
|
-
- !ruby/object:Gem::Dependency
|
57
|
+
requirement: *id002
|
40
58
|
name: dm-active_model
|
41
|
-
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
type: :runtime
|
61
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
42
62
|
none: false
|
43
63
|
requirements:
|
44
64
|
- - ~>
|
45
65
|
- !ruby/object:Gem::Version
|
46
|
-
|
47
|
-
|
66
|
+
hash: 3
|
67
|
+
segments:
|
68
|
+
- 3
|
69
|
+
- 1
|
70
|
+
- 0
|
71
|
+
version: 3.1.0
|
48
72
|
prerelease: false
|
49
|
-
|
73
|
+
requirement: *id003
|
74
|
+
name: actionpack
|
50
75
|
- !ruby/object:Gem::Dependency
|
51
|
-
|
52
|
-
|
76
|
+
type: :runtime
|
77
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
53
78
|
none: false
|
54
79
|
requirements:
|
55
80
|
- - ~>
|
56
81
|
- !ruby/object:Gem::Version
|
57
|
-
|
58
|
-
|
82
|
+
hash: 3
|
83
|
+
segments:
|
84
|
+
- 3
|
85
|
+
- 1
|
86
|
+
- 0
|
87
|
+
version: 3.1.0
|
59
88
|
prerelease: false
|
60
|
-
|
89
|
+
requirement: *id004
|
90
|
+
name: railties
|
61
91
|
- !ruby/object:Gem::Dependency
|
62
|
-
|
63
|
-
|
92
|
+
type: :development
|
93
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
64
94
|
none: false
|
65
95
|
requirements:
|
66
96
|
- - ~>
|
67
97
|
- !ruby/object:Gem::Version
|
68
|
-
|
69
|
-
|
98
|
+
hash: 7
|
99
|
+
segments:
|
100
|
+
- 1
|
101
|
+
- 6
|
102
|
+
- 4
|
103
|
+
version: 1.6.4
|
70
104
|
prerelease: false
|
71
|
-
|
105
|
+
requirement: *id005
|
106
|
+
name: jeweler
|
72
107
|
- !ruby/object:Gem::Dependency
|
73
|
-
|
74
|
-
|
108
|
+
type: :development
|
109
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
75
110
|
none: false
|
76
111
|
requirements:
|
77
112
|
- - ~>
|
78
113
|
- !ruby/object:Gem::Version
|
79
|
-
|
80
|
-
|
114
|
+
hash: 63
|
115
|
+
segments:
|
116
|
+
- 0
|
117
|
+
- 9
|
118
|
+
- 2
|
119
|
+
version: 0.9.2
|
81
120
|
prerelease: false
|
82
|
-
|
121
|
+
requirement: *id006
|
122
|
+
name: rake
|
83
123
|
- !ruby/object:Gem::Dependency
|
84
|
-
|
85
|
-
|
124
|
+
type: :development
|
125
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
86
126
|
none: false
|
87
127
|
requirements:
|
88
128
|
- - ~>
|
89
129
|
- !ruby/object:Gem::Version
|
90
|
-
|
91
|
-
|
130
|
+
hash: 31
|
131
|
+
segments:
|
132
|
+
- 1
|
133
|
+
- 3
|
134
|
+
- 2
|
135
|
+
version: 1.3.2
|
92
136
|
prerelease: false
|
93
|
-
|
137
|
+
requirement: *id007
|
138
|
+
name: rspec
|
94
139
|
description: Integrate DataMapper with Rails 3
|
95
140
|
email: gamsnjaga@gmail.com
|
96
141
|
executables: []
|
@@ -138,7 +183,6 @@ files:
|
|
138
183
|
- tasks/clean.rake
|
139
184
|
- tasks/yard.rake
|
140
185
|
- tasks/yardstick.rake
|
141
|
-
has_rdoc: true
|
142
186
|
homepage: http://github.com/datamapper/dm-rails
|
143
187
|
licenses: []
|
144
188
|
|
@@ -152,23 +196,27 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
152
196
|
requirements:
|
153
197
|
- - ">="
|
154
198
|
- !ruby/object:Gem::Version
|
199
|
+
hash: 3
|
200
|
+
segments:
|
201
|
+
- 0
|
155
202
|
version: "0"
|
156
203
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
204
|
none: false
|
158
205
|
requirements:
|
159
|
-
- - "
|
206
|
+
- - ">"
|
160
207
|
- !ruby/object:Gem::Version
|
161
|
-
|
208
|
+
hash: 25
|
209
|
+
segments:
|
210
|
+
- 1
|
211
|
+
- 3
|
212
|
+
- 1
|
213
|
+
version: 1.3.1
|
162
214
|
requirements: []
|
163
215
|
|
164
216
|
rubyforge_project: datamapper
|
165
|
-
rubygems_version: 1.
|
217
|
+
rubygems_version: 1.8.10
|
166
218
|
signing_key:
|
167
219
|
specification_version: 3
|
168
220
|
summary: Use DataMapper with Rails 3
|
169
|
-
test_files:
|
170
|
-
|
171
|
-
- spec/models/topic.rb
|
172
|
-
- spec/spec_helper.rb
|
173
|
-
- spec/unit/mass_assignment_security_spec.rb
|
174
|
-
- spec/unit/multiparameter_attributes_spec.rb
|
221
|
+
test_files: []
|
222
|
+
|