dm-devise 1.5.0 → 2.0.0

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/.gitignore CHANGED
@@ -3,3 +3,4 @@ coverage/*
3
3
  rdoc/*
4
4
  pkg
5
5
  log
6
+ Gemfile.lock
data/Gemfile CHANGED
@@ -2,15 +2,17 @@ source :rubygems
2
2
 
3
3
  gemspec
4
4
 
5
- gem 'oa-oauth', '~> 0.2.0', :require => 'omniauth/oauth'
6
- gem 'oa-openid', '~> 0.2.0', :require => 'omniauth/openid'
5
+ gem 'omniauth', '~> 1.0.0'
6
+ gem 'omniauth-oauth2', '~> 1.0.0'
7
7
 
8
8
  group :test do
9
+ gem 'omniauth-facebook'
10
+ gem 'omniauth-openid', '~> 1.0.1'
9
11
  gem 'webrat', '0.7.2', :require => false
10
12
  gem 'mocha', :require => false
11
13
  end
12
14
 
13
- DM_VERSION = '~> 1.2.0.rc1'
15
+ DM_VERSION = '~> 1.2.0'
14
16
 
15
17
  group :development do
16
18
  gem 'rails', '~> 3.1.0'
@@ -10,26 +10,26 @@ earlier versions, but it's not been tested (if you try, please let Jared Morgan
10
10
  This README only covers dm-devise specifics. Make sure to read the devise
11
11
  README http://github.com/plataformatec/devise/blob/master/README.rdoc
12
12
 
13
- Last tested against devise master: 2011-09-09, commit ea7f15917f70b82d1ddc9559db968894f2c82cad
14
- Last tested against devise release 1.4.5
13
+ Last tested against devise master: 2011-01-26, commit a71a352822a67f4764a5bd20337c48e8e28ed222
14
+ Last tested against devise release 2.0.0, 1.5.3
15
15
 
16
16
  == Installation
17
17
 
18
18
  Add dm-devise and dm gems to your Gemfile. The following gems are required:
19
19
 
20
- gem 'dm-core', '~> 1.1.0'
21
- gem 'dm-sqlite-adapter', '~> 1.1.0' # or your preferred adapter
22
- gem 'dm-serializer', '~> 1.1.0'
23
- gem 'dm-timestamps', '~> 1.1.0'
24
- gem 'dm-rails', '~> 1.1.0'
25
- gem 'dm-validations', '~> 1.1.0' # Do not include if using data_mapper_active_model
26
- gem 'dm-devise', '~> 1.5.0'
20
+ gem 'dm-core', '~> 1.2.0'
21
+ gem 'dm-sqlite-adapter', '~> 1.2.0' # or your preferred adapter
22
+ gem 'dm-serializer', '~> 1.2.0'
23
+ gem 'dm-timestamps', '~> 1.2.0'
24
+ gem 'dm-rails', '~> 1.2.0'
25
+ gem 'dm-validations', '~> 1.2.0' # Do not include if using data_mapper_active_model
26
+ gem 'dm-devise', '~> 2.0.0'
27
27
 
28
28
  If you're using Active Model validations, do not include dm-validations in your
29
29
  Gemfile.
30
30
 
31
- dm-devise works with versions of DataMapper gems >= 1.0.2 on the 1.0 branch
32
- and >= 1.1.0.rc3 on the 1.1 branch.
31
+ dm-devise works with versions of DataMapper gems >= 1.0.2 on the 1.0 branch,
32
+ >= 1.1.0.rc3 on the 1.1 branch and 1.2.0.
33
33
 
34
34
  Run the generator:
35
35
 
@@ -45,6 +45,14 @@ Add Devise to any of your models using the generator:
45
45
 
46
46
  Read the README for devise at http://github.com/plataformatec/devise/blob/master/README.rdoc
47
47
 
48
+ == Using raise_on_save_failure
49
+
50
+ The default controllers provided by devise will not work correctly if
51
+ raise_on_save_failure is set to true for the devise model. You can customize
52
+ the controllers (See the devise README for details), but I don't know what
53
+ customizations in particular to recommend. See https://github.com/jm81/dm-devise/issues/14
54
+ for discussion.
55
+
48
56
  == Config Options
49
57
 
50
58
  See the generated initializer for all the config options, but dm-devise users
@@ -21,5 +21,5 @@ Gem::Specification.new do |s|
21
21
  s.add_dependency('dm-serializer', '>= 1.0.2', '< 1.3')
22
22
  s.add_dependency('dm-timestamps', '>= 1.0.2', '< 1.3')
23
23
  s.add_dependency('dm-rails', '>= 1.0.3', '< 1.3')
24
- s.add_dependency('devise', '~> 1.3')
24
+ s.add_dependency('devise', '>= 1.3')
25
25
  end
@@ -6,16 +6,12 @@ module Devise
6
6
 
7
7
  module ClassMethods
8
8
  # Hooks for confirmable
9
- def before_create(*args)
10
- wrap_hook(:before, :create, *args)
11
- end
12
-
13
- def after_create(*args)
14
- wrap_hook(:after, :create, *args)
15
- end
16
-
17
- def before_save(*args)
18
- wrap_hook(:before, :save, *args)
9
+ [:before, :after].each do |action|
10
+ [:create, :update, :save].each do |method|
11
+ define_method(:"#{action}_#{method}") do |*args|
12
+ wrap_hook(action, method, *args)
13
+ end
14
+ end
19
15
  end
20
16
 
21
17
  def before_validation(*args)
@@ -26,7 +22,7 @@ module Devise
26
22
  options = args.extract_options!
27
23
 
28
24
  args.each do |callback|
29
- callback_method = :"#{callback}_callback_wrap"
25
+ callback_method = "#{action}_#{method}_#{callback}_callback_wrap".gsub('?', '').to_sym
30
26
  send action, method, callback_method
31
27
  class_eval <<-METHOD, __FILE__, __LINE__ + 1
32
28
  def #{callback_method}
@@ -43,7 +39,7 @@ module Devise
43
39
 
44
40
  def save(options=nil)
45
41
  if options.is_a?(Hash) && options[:validate] == false
46
- save!
42
+ _persist
47
43
  else
48
44
  super()
49
45
  end
@@ -64,6 +60,10 @@ module Devise
64
60
  def email_changed?
65
61
  attribute_dirty?(:email)
66
62
  end
63
+
64
+ def email_was
65
+ original_attributes[:email]
66
+ end
67
67
  end
68
68
  end
69
69
  end
@@ -29,7 +29,7 @@ module Devise
29
29
  if String == type && !options[:length]
30
30
  options[:length] = 255
31
31
  end
32
-
32
+
33
33
  options[:required] ||= false
34
34
 
35
35
  options.delete(:default) if options[:default].nil?
@@ -1,5 +1,5 @@
1
1
  module DataMapper
2
2
  module Devise
3
- VERSION = '1.5.0'.freeze
3
+ VERSION = '2.0.0'.freeze
4
4
  end
5
5
  end
@@ -9,9 +9,52 @@ module DataMapper
9
9
  invoke "data_mapper:model", [name] unless model_exists? && behavior == :invoke
10
10
  end
11
11
 
12
+ def inject_property_types
13
+ inject_into_file model_path, migration_data, :after => "include DataMapper::Resource\n" if model_exists?
14
+ end
15
+
12
16
  def inject_devise_content
13
17
  inject_into_file model_path, model_contents, :after => "include DataMapper::Resource\n" if model_exists?
14
18
  end
19
+
20
+ def migration_data
21
+ <<RUBY
22
+ ## Database authenticatable
23
+ property :email, String, :required => true, :default => "", :length => 255
24
+ property :encrypted_password, String, :required => true, :default => "", :length => 255
25
+
26
+ ## Recoverable
27
+ property :reset_password_token, String
28
+ property :reset_password_sent_at, DateTime
29
+
30
+ ## Rememberable
31
+ property :remember_created_at, DateTime
32
+
33
+ ## Trackable
34
+ property :sign_in_count, Integer, :default => 0
35
+ property :current_sign_in_at, DateTime
36
+ property :last_sign_in_at, DateTime
37
+ property :current_sign_in_ip, String
38
+ property :last_sign_in_ip, String
39
+
40
+ ## Encryptable
41
+ # property :password_salt, String
42
+
43
+ ## Confirmable
44
+ # property :confirmation_token, String
45
+ # property :confirmed_at, DateTime
46
+ # property :confirmation_sent_at, DateTime
47
+ # property :unconfirmed_email, String # Only if using reconfirmable
48
+
49
+ ## Lockable
50
+ # property :failed_attempts, Integer, :default => 0 # Only if lock strategy is :failed_attempts
51
+ # property :unlock_token, String # Only if unlock strategy is :email or :both
52
+ # property :locked_at, DateTime
53
+
54
+ ## Token authenticatable
55
+ # property :authentication_token, String, :length => 255
56
+ RUBY
57
+ end
15
58
  end
16
59
  end
17
60
  end
@@ -4,7 +4,7 @@ class DataMapperCompatibilityTest < ActiveSupport::TestCase
4
4
  def teardown
5
5
  User.raise_on_save_failure = false
6
6
  end
7
-
7
+
8
8
  test 'respects raise_on_save_failure' do
9
9
  User.raise_on_save_failure = true
10
10
  user = new_user(:email => nil)
@@ -7,12 +7,12 @@ if [:data_mapper, :data_mapper_active_model].include?(DEVISE_ORM)
7
7
  tests DataMapper::Generators::DeviseGenerator
8
8
  destination File.expand_path("../../tmp", __FILE__)
9
9
  setup :prepare_destination
10
-
10
+
11
11
  test "all files are properly created" do
12
12
  run_generator %w(monster)
13
13
  assert_file "app/models/monster.rb", /devise/
14
14
  end
15
-
15
+
16
16
  test "all files are properly deleted" do
17
17
  run_generator %w(monster)
18
18
  run_generator %w(monster), :behavior => :revoke
@@ -74,6 +74,10 @@ class DatabaseAuthenticatableTest < ActiveSupport::TestCase
74
74
  user.save
75
75
  assert_equal email.strip, user.email
76
76
  end
77
+
78
+ # :as option is ActiveRecord-specific
79
+ undef :"test_should_update_password_with_valid_current_password_and_:as_option"
80
+ undef :"test_should_update_the_user_without_password_with_:as_option"
77
81
  end
78
82
 
79
83
  class ValidatableTest < ActiveSupport::TestCase
@@ -4,10 +4,30 @@ class Admin
4
4
  include DataMapper::Resource
5
5
 
6
6
  property :id, Serial
7
- property :username, String
7
+
8
+ ## Database authenticatable
9
+ property :email, String, :required => false
10
+ property :encrypted_password, String, :required => false, :length => 255
11
+
12
+ ## Recoverable
13
+ property :reset_password_token, String
14
+ property :reset_password_sent_at, DateTime
15
+
16
+ ## Rememberable
17
+ property :remember_created_at, DateTime
18
+
19
+ ## Confirmable
20
+ property :confirmation_token, String
21
+ property :confirmed_at, DateTime
22
+ property :confirmation_sent_at, DateTime
23
+ property :unconfirmed_email, String # Only if using reconfirmable
24
+
25
+ ## Encryptable
26
+ property :password_salt, String
27
+
28
+ ## Lockable
29
+ property :locked_at, DateTime
8
30
 
9
31
  include SharedAdmin
10
32
  include Shim
11
-
12
- property :remember_token, String
13
33
  end
@@ -6,7 +6,41 @@ class User
6
6
  property :id, Serial
7
7
  property :username, String
8
8
  property :facebook_token, String
9
- property :confirmation_token, String, :writer => :private
9
+
10
+ ## Database authenticatable
11
+ property :email, String, :required => true, :default => ""
12
+ property :encrypted_password, String, :required => true, :default => "", :length => 255
13
+
14
+ ## Recoverable
15
+ property :reset_password_token, String
16
+ property :reset_password_sent_at, DateTime
17
+
18
+ ## Rememberable
19
+ property :remember_created_at, DateTime
20
+
21
+ ## Trackable
22
+ property :sign_in_count, Integer, :default => 0
23
+ property :current_sign_in_at, DateTime
24
+ property :last_sign_in_at, DateTime
25
+ property :current_sign_in_ip, String
26
+ property :last_sign_in_ip, String
27
+
28
+ ## Encryptable
29
+ # property :password_salt, String
30
+
31
+ ## Confirmable
32
+ property :confirmation_token, String, :writer => :private
33
+ property :confirmed_at, DateTime
34
+ property :confirmation_sent_at, DateTime
35
+ # property :unconfirmed_email, String # Only if using reconfirmable
36
+
37
+ ## Lockable
38
+ property :failed_attempts, Integer, :default => 0 # Only if lock strategy is :failed_attempts
39
+ property :unlock_token, String # Only if unlock strategy is :email or :both
40
+ property :locked_at, DateTime
41
+
42
+ # Token authenticatable
43
+ property :authentication_token, String, :length => 255
10
44
  timestamps :at
11
45
 
12
46
  class << self
@@ -22,7 +56,7 @@ class User
22
56
  if VALIDATION_LIB == 'dm-validations'
23
57
  before :valid?, :update_password_confirmation
24
58
 
25
- # DM's validates_confirmation_of requires the confirmation field to be present,
59
+ # DM's validates_confirmation_of requires the confirmation property to be present,
26
60
  # while ActiveModel by default skips the confirmation test if the confirmation
27
61
  # value is nil. This test takes advantage of AM's behavior, so just add the
28
62
  # :password_confirmation value.
metadata CHANGED
@@ -1,167 +1,108 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: dm-devise
3
- version: !ruby/object:Gem::Version
4
- hash: 3
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 5
9
- - 0
10
- version: 1.5.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Jared Morgan
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-09-09 00:00:00 -05:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2012-01-26 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: dm-core
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &78432750 !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 19
30
- segments:
31
- - 1
32
- - 0
33
- - 2
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
34
21
  version: 1.0.2
35
22
  - - <
36
- - !ruby/object:Gem::Version
37
- hash: 9
38
- segments:
39
- - 1
40
- - 3
41
- version: "1.3"
23
+ - !ruby/object:Gem::Version
24
+ version: '1.3'
42
25
  type: :runtime
43
- version_requirements: *id001
44
- - !ruby/object:Gem::Dependency
45
- name: dm-migrations
46
26
  prerelease: false
47
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ version_requirements: *78432750
28
+ - !ruby/object:Gem::Dependency
29
+ name: dm-migrations
30
+ requirement: &77881150 !ruby/object:Gem::Requirement
48
31
  none: false
49
- requirements:
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- hash: 19
53
- segments:
54
- - 1
55
- - 0
56
- - 2
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
57
35
  version: 1.0.2
58
36
  - - <
59
- - !ruby/object:Gem::Version
60
- hash: 9
61
- segments:
62
- - 1
63
- - 3
64
- version: "1.3"
37
+ - !ruby/object:Gem::Version
38
+ version: '1.3'
65
39
  type: :runtime
66
- version_requirements: *id002
67
- - !ruby/object:Gem::Dependency
68
- name: dm-serializer
69
40
  prerelease: false
70
- requirement: &id003 !ruby/object:Gem::Requirement
41
+ version_requirements: *77881150
42
+ - !ruby/object:Gem::Dependency
43
+ name: dm-serializer
44
+ requirement: &77878200 !ruby/object:Gem::Requirement
71
45
  none: false
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- hash: 19
76
- segments:
77
- - 1
78
- - 0
79
- - 2
46
+ requirements:
47
+ - - ! '>='
48
+ - !ruby/object:Gem::Version
80
49
  version: 1.0.2
81
50
  - - <
82
- - !ruby/object:Gem::Version
83
- hash: 9
84
- segments:
85
- - 1
86
- - 3
87
- version: "1.3"
51
+ - !ruby/object:Gem::Version
52
+ version: '1.3'
88
53
  type: :runtime
89
- version_requirements: *id003
90
- - !ruby/object:Gem::Dependency
91
- name: dm-timestamps
92
54
  prerelease: false
93
- requirement: &id004 !ruby/object:Gem::Requirement
55
+ version_requirements: *77878200
56
+ - !ruby/object:Gem::Dependency
57
+ name: dm-timestamps
58
+ requirement: &77877060 !ruby/object:Gem::Requirement
94
59
  none: false
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- hash: 19
99
- segments:
100
- - 1
101
- - 0
102
- - 2
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
103
63
  version: 1.0.2
104
64
  - - <
105
- - !ruby/object:Gem::Version
106
- hash: 9
107
- segments:
108
- - 1
109
- - 3
110
- version: "1.3"
65
+ - !ruby/object:Gem::Version
66
+ version: '1.3'
111
67
  type: :runtime
112
- version_requirements: *id004
113
- - !ruby/object:Gem::Dependency
114
- name: dm-rails
115
68
  prerelease: false
116
- requirement: &id005 !ruby/object:Gem::Requirement
69
+ version_requirements: *77877060
70
+ - !ruby/object:Gem::Dependency
71
+ name: dm-rails
72
+ requirement: &77876350 !ruby/object:Gem::Requirement
117
73
  none: false
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- hash: 17
122
- segments:
123
- - 1
124
- - 0
125
- - 3
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
126
77
  version: 1.0.3
127
78
  - - <
128
- - !ruby/object:Gem::Version
129
- hash: 9
130
- segments:
131
- - 1
132
- - 3
133
- version: "1.3"
79
+ - !ruby/object:Gem::Version
80
+ version: '1.3'
134
81
  type: :runtime
135
- version_requirements: *id005
136
- - !ruby/object:Gem::Dependency
137
- name: devise
138
82
  prerelease: false
139
- requirement: &id006 !ruby/object:Gem::Requirement
83
+ version_requirements: *77876350
84
+ - !ruby/object:Gem::Dependency
85
+ name: devise
86
+ requirement: &77875880 !ruby/object:Gem::Requirement
140
87
  none: false
141
- requirements:
142
- - - ~>
143
- - !ruby/object:Gem::Version
144
- hash: 9
145
- segments:
146
- - 1
147
- - 3
148
- version: "1.3"
88
+ requirements:
89
+ - - ! '>='
90
+ - !ruby/object:Gem::Version
91
+ version: '1.3'
149
92
  type: :runtime
150
- version_requirements: *id006
151
- description: dm-devise adds DataMapper support to devise (http://github.com/plataformatec/devise) for authentication support for Rails
93
+ prerelease: false
94
+ version_requirements: *77875880
95
+ description: dm-devise adds DataMapper support to devise (http://github.com/plataformatec/devise)
96
+ for authentication support for Rails
152
97
  email: jmorgan@morgancreative.net
153
98
  executables: []
154
-
155
99
  extensions: []
156
-
157
100
  extra_rdoc_files: []
158
-
159
- files:
101
+ files:
160
102
  - .document
161
103
  - .gitignore
162
104
  - CHANGELOG.rdoc
163
105
  - Gemfile
164
- - Gemfile.lock
165
106
  - LICENSE
166
107
  - README.rdoc
167
108
  - Rakefile
@@ -190,39 +131,28 @@ files:
190
131
  - test/rails_app/config/application.rb
191
132
  - test/rails_app/config/environment.rb
192
133
  - test/test_helper.rb
193
- has_rdoc: true
194
134
  homepage: https://github.com/jm81/dm-devise
195
135
  licenses: []
196
-
197
136
  post_install_message:
198
137
  rdoc_options: []
199
-
200
- require_paths:
138
+ require_paths:
201
139
  - lib
202
- required_ruby_version: !ruby/object:Gem::Requirement
140
+ required_ruby_version: !ruby/object:Gem::Requirement
203
141
  none: false
204
- requirements:
205
- - - ">="
206
- - !ruby/object:Gem::Version
207
- hash: 3
208
- segments:
209
- - 0
210
- version: "0"
211
- required_rubygems_version: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ! '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ required_rubygems_version: !ruby/object:Gem::Requirement
212
147
  none: false
213
- requirements:
214
- - - ">="
215
- - !ruby/object:Gem::Version
216
- hash: 3
217
- segments:
218
- - 0
219
- version: "0"
148
+ requirements:
149
+ - - ! '>='
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
220
152
  requirements: []
221
-
222
153
  rubyforge_project:
223
- rubygems_version: 1.6.2
154
+ rubygems_version: 1.8.10
224
155
  signing_key:
225
156
  specification_version: 3
226
157
  summary: DataMapper support for devise
227
158
  test_files: []
228
-
@@ -1,191 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- dm-devise (1.5.0)
5
- devise (~> 1.3)
6
- dm-core (>= 1.0.2, < 1.3)
7
- dm-migrations (>= 1.0.2, < 1.3)
8
- dm-rails (>= 1.0.3, < 1.3)
9
- dm-serializer (>= 1.0.2, < 1.3)
10
- dm-timestamps (>= 1.0.2, < 1.3)
11
-
12
- GEM
13
- remote: http://rubygems.org/
14
- specs:
15
- actionmailer (3.1.0)
16
- actionpack (= 3.1.0)
17
- mail (~> 2.3.0)
18
- actionpack (3.1.0)
19
- activemodel (= 3.1.0)
20
- activesupport (= 3.1.0)
21
- builder (~> 3.0.0)
22
- erubis (~> 2.7.0)
23
- i18n (~> 0.6)
24
- rack (~> 1.3.2)
25
- rack-cache (~> 1.0.3)
26
- rack-mount (~> 0.8.2)
27
- rack-test (~> 0.6.1)
28
- sprockets (~> 2.0.0)
29
- activemodel (3.1.0)
30
- activesupport (= 3.1.0)
31
- bcrypt-ruby (~> 3.0.0)
32
- builder (~> 3.0.0)
33
- i18n (~> 0.6)
34
- activerecord (3.1.0)
35
- activemodel (= 3.1.0)
36
- activesupport (= 3.1.0)
37
- arel (~> 2.2.1)
38
- tzinfo (~> 0.3.29)
39
- activeresource (3.1.0)
40
- activemodel (= 3.1.0)
41
- activesupport (= 3.1.0)
42
- activesupport (3.1.0)
43
- multi_json (~> 1.0)
44
- addressable (2.2.6)
45
- arel (2.2.1)
46
- bcrypt-ruby (3.0.0)
47
- builder (3.0.0)
48
- data_objects (0.10.6)
49
- addressable (~> 2.1)
50
- devise (1.4.5)
51
- bcrypt-ruby (~> 3.0)
52
- orm_adapter (~> 0.0.3)
53
- warden (~> 1.0.3)
54
- dm-active_model (1.2.0.rc1)
55
- activemodel (~> 3.1.0)
56
- dm-core (~> 1.2.0.rc1)
57
- dm-core (1.2.0.rc1)
58
- addressable (~> 2.2.6)
59
- dm-do-adapter (1.2.0.rc1)
60
- data_objects (~> 0.10.6)
61
- dm-core (~> 1.2.0.rc1)
62
- dm-migrations (1.2.0.rc1)
63
- dm-core (~> 1.2.0.rc1)
64
- dm-rails (1.2.0.rc1)
65
- actionpack (~> 3.1.0)
66
- dm-active_model (~> 1.2.0.rc1)
67
- dm-core (~> 1.2.0.rc1)
68
- railties (~> 3.1.0)
69
- dm-serializer (1.2.0.rc1)
70
- dm-core (~> 1.2.0.rc1)
71
- fastercsv (~> 1.5.4)
72
- json (~> 1.5.4)
73
- json_pure (~> 1.5.4)
74
- multi_json (~> 1.0.3)
75
- dm-sqlite-adapter (1.2.0.rc1)
76
- dm-do-adapter (~> 1.2.0.rc1)
77
- do_sqlite3 (~> 0.10.6)
78
- dm-timestamps (1.2.0.rc1)
79
- dm-core (~> 1.2.0.rc1)
80
- dm-validations (1.2.0.rc1)
81
- dm-core (~> 1.2.0.rc1)
82
- do_sqlite3 (0.10.6)
83
- data_objects (= 0.10.6)
84
- erubis (2.7.0)
85
- faraday (0.6.1)
86
- addressable (~> 2.2.4)
87
- multipart-post (~> 1.1.0)
88
- rack (< 2, >= 1.1.0)
89
- fastercsv (1.5.4)
90
- hike (1.2.1)
91
- i18n (0.6.0)
92
- json (1.5.4)
93
- json_pure (1.5.4)
94
- spruz (~> 0.2.8)
95
- mail (2.3.0)
96
- i18n (>= 0.4.0)
97
- mime-types (~> 1.16)
98
- treetop (~> 1.4.8)
99
- metaclass (0.0.1)
100
- mime-types (1.16)
101
- mocha (0.10.0)
102
- metaclass (~> 0.0.1)
103
- multi_json (1.0.3)
104
- multi_xml (0.2.2)
105
- multipart-post (1.1.3)
106
- nokogiri (1.5.0)
107
- oa-core (0.2.6)
108
- oa-oauth (0.2.6)
109
- faraday (~> 0.6.1)
110
- multi_json (~> 1.0.0)
111
- multi_xml (~> 0.2.2)
112
- oa-core (= 0.2.6)
113
- oauth (~> 0.4.0)
114
- oauth2 (~> 0.4.1)
115
- oa-openid (0.2.6)
116
- oa-core (= 0.2.6)
117
- rack-openid (~> 1.3.1)
118
- ruby-openid-apps-discovery (~> 1.2.0)
119
- oauth (0.4.5)
120
- oauth2 (0.4.1)
121
- faraday (~> 0.6.1)
122
- multi_json (>= 0.0.5)
123
- orm_adapter (0.0.5)
124
- polyglot (0.3.2)
125
- rack (1.3.2)
126
- rack-cache (1.0.3)
127
- rack (>= 0.4)
128
- rack-mount (0.8.3)
129
- rack (>= 1.0.0)
130
- rack-openid (1.3.1)
131
- rack (>= 1.1.0)
132
- ruby-openid (>= 2.1.8)
133
- rack-ssl (1.3.2)
134
- rack
135
- rack-test (0.6.1)
136
- rack (>= 1.0)
137
- rails (3.1.0)
138
- actionmailer (= 3.1.0)
139
- actionpack (= 3.1.0)
140
- activerecord (= 3.1.0)
141
- activeresource (= 3.1.0)
142
- activesupport (= 3.1.0)
143
- bundler (~> 1.0)
144
- railties (= 3.1.0)
145
- railties (3.1.0)
146
- actionpack (= 3.1.0)
147
- activesupport (= 3.1.0)
148
- rack-ssl (~> 1.3.2)
149
- rake (>= 0.8.7)
150
- rdoc (~> 3.4)
151
- thor (~> 0.14.6)
152
- rake (0.9.2)
153
- rdoc (3.9.4)
154
- ruby-openid (2.1.8)
155
- ruby-openid-apps-discovery (1.2.0)
156
- ruby-openid (>= 2.1.7)
157
- sprockets (2.0.0)
158
- hike (~> 1.2)
159
- rack (~> 1.0)
160
- tilt (!= 1.3.0, ~> 1.1)
161
- spruz (0.2.13)
162
- thor (0.14.6)
163
- tilt (1.3.3)
164
- treetop (1.4.10)
165
- polyglot
166
- polyglot (>= 0.3.1)
167
- tzinfo (0.3.29)
168
- warden (1.0.5)
169
- rack (>= 1.0)
170
- webrat (0.7.2)
171
- nokogiri (>= 1.2.0)
172
- rack (>= 1.0)
173
- rack-test (>= 0.5.3)
174
-
175
- PLATFORMS
176
- ruby
177
-
178
- DEPENDENCIES
179
- dm-core (~> 1.2.0.rc1)
180
- dm-devise!
181
- dm-migrations (~> 1.2.0.rc1)
182
- dm-rails (~> 1.2.0.rc1)
183
- dm-serializer (~> 1.2.0.rc1)
184
- dm-sqlite-adapter (~> 1.2.0.rc1)
185
- dm-timestamps (~> 1.2.0.rc1)
186
- dm-validations (~> 1.2.0.rc1)
187
- mocha
188
- oa-oauth (~> 0.2.0)
189
- oa-openid (~> 0.2.0)
190
- rails (~> 3.1.0)
191
- webrat (= 0.7.2)