Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MongoMapper 0.9 support #7

Merged
merged 3 commits into from Jun 4, 2011
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
26 changes: 12 additions & 14 deletions Gemfile
@@ -1,31 +1,29 @@
source :rubygems
source 'http://gems.github.com/'

gem "rails"


group :test do
gem "test-unit", "~> 2.0.9"
gem "webrat", "~> 0.7.0"
gem "webrat", "~> 0.7.2"
gem "mocha", "~> 0.9.8", :require => false
end

group :default do
gem "webrat", "~> 0.7.0"
gem "rails", "~> 3.0.7"
gem "webrat", "~> 0.7.2"

gem "bcrypt-ruby", :require => "bcrypt"
gem "oauth2"
gem "warden", ">= 0.10.7"
gem 'mongo_mapper', '>= 0.8.4'
gem 'mongo_mapper', '0.9.0'
gem 'sugar-high', '~> 0.3.4'
gem 'devise', '>= 1.1.1'
gem 'rails3-generators', '>= 0.13.0'
gem 'jnunemaker-validatable', '~> 1.8.1'
gem 'bson_ext', '>= 1.0.9'


gem 'rake', '0.8.7'
gem "orm_adapter"
gem "omniauth"

gem "oa-oauth", '~> 0.2.0', :require => "omniauth/oauth"
gem "oa-openid", '~> 0.2.0', :require => "omniauth/openid"

platforms :mri_18 do
gem "SystemTimer"
end

end

58 changes: 2 additions & 56 deletions Rakefile
Expand Up @@ -4,14 +4,11 @@ require 'rake'
require 'bundler'
Bundler::GemHelper.install_tasks


require 'rake/testtask'
require 'rake/rdoctask'
require File.join(File.dirname(__FILE__), 'lib', 'mm-devise', 'version')

desc 'Run Devise tests using MongoMapper. Specify path to devise with DEVISE_PATH'


Rake::TestTask.new(:test) do |test|
ENV['DEVISE_ORM'] ||= 'mongo_mapper'
ENV['DEVISE_PATH'] ||= File.join(File.dirname(__FILE__), '../devise')
Expand All @@ -27,56 +24,5 @@ Rake::TestTask.new(:test) do |test|
test.verbose = true
end

desc 'Default: run tests for all ORMs.'
task :default => :tests

=begin
desc 'Default: run tests for all MongoMapper ORM setups.'
task :default => :pre_commit

desc 'Run Devise tests for all MongoMapper ORM setups.'
task :pre_commit do
Dir[File.join(File.dirname(__FILE__), 'test', 'orm', '*.rb')].each do |file|
orm = File.basename(file).split(".").first
ENV['DEVISE_PATH'] ||= File.expand_path('../devise')
system "rake test DEVISE_ORM=#{orm} DEVISE_PATH=#{ENV['DEVISE_PATH']}"
end
end


task :test

desc 'Generate documentation for dm-devise.'
Rake::RDocTask.new(:rdoc) do |rdoc|
rdoc.rdoc_dir = 'rdoc'
rdoc.title = 'mm-devise #{version}'
rdoc.options << '--line-numbers' << '--inline-source'
rdoc.rdoc_files.include('README.rdoc')
rdoc.rdoc_files.include('lib/**/*.rb')
end

begin
require 'jeweler'
Jeweler::Tasks.new do |gem|
gem.name = "mm-devise"
gem.version = MongoMapper::Devise::VERSION.dup
gem.summary = %Q{Support for using MongoMapper ORM with devise}
gem.description = %Q{dm-devise adds MongoMapper support to devise (http://github.com/plataformatec/devise) for authentication support for Rails}
gem.email = "jmorgan@morgancreative.net"
gem.homepage = "http://github.com/kristianmandrup/mm-devise"
gem.authors = ["Kristian Mandrup"]
gem.add_dependency 'mongo_mapper', '>= 0.8.4'
gem.add_dependency 'bson', '>= 1.0.9'
gem.add_dependency 'rails3-generators', '>= 0.13.0'
gem.add_dependency 'jnunemaker-validatable', '>= 1.8.1'
gem.add_dependency 'devise', '>= 1.1.1'
gem.add_dependency 'sugar-high', '~> 0.3.0'
gem.add_dependency 'warden', '>= 0.10.7'
gem.add_dependency 'bcrypt-ruby', '>= 2.1.2'
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
end
Jeweler::GemcutterTasks.new
rescue LoadError
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
end
=end
desc 'Default: run tests for MongoMapper'
task :default => :test
33 changes: 22 additions & 11 deletions lib/devise/orm/mongo_mapper.rb
@@ -1,26 +1,37 @@
require 'mongo_mapper'
require 'devise/orm/mongo_mapper/compatibility'
require 'devise/orm/mongo_mapper/schema'
require 'devise/orm/mongo_mapper/date_time'
require 'devise/orm/mongo_mapper/mm-validations'
require 'orm_adapter/adapters/mongo_mapper'

module Devise
module Orm
module MongoMapper
extend ActiveSupport::Concern

included do
extend Devise::Models
extend Devise::Orm::MongoMapper::Hook
end

module Hook
def devise_modules_hook!
extend Schema
include Compatibility
include Validatable
yield
return unless Devise.apply_schema
devise_modules.each { |m| send(m) if respond_to?(m, true) }
end
end

end

module Schema
include Devise::Schema

# Tell how to apply schema methods
def apply_devise_schema(name, type, options={})
type = Time if type == DateTime
key(name, type, options)
end
end

end
end
end

MongoMapper::Document.append_extensions(Devise::Models)
MongoMapper::Document.append_extensions(Devise::Orm::MongoMapper::Hook)

MongoMapper::Document.plugin Devise::Orm::MongoMapper
89 changes: 0 additions & 89 deletions lib/devise/orm/mongo_mapper/compatibility.rb

This file was deleted.

14 changes: 0 additions & 14 deletions lib/devise/orm/mongo_mapper/date_time.rb

This file was deleted.

91 changes: 0 additions & 91 deletions lib/devise/orm/mongo_mapper/mm-validations.rb

This file was deleted.