Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e352775

Browse files
authored
Merge pull request activeadmin#105 from activeadmin/rails-5-mongoid-6
Rails 5 mongoid 6
2 parents f5c86a7 + 56d4452 commit e352775

File tree

21 files changed

+122
-124
lines changed

21 files changed

+122
-124
lines changed

.travis.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ language: ruby
22
services:
33
- mongodb
44
rvm:
5-
- 1.9.3
6-
- 2.0.0
5+
- 2.2.7
6+
- 2.3.4
7+
- 2.4.1

Gemfile

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ gemspec
77

88
gem 'ransack', github: 'activerecord-hackery/ransack'
99

10-
gem 'activeadmin', github: 'activeadmin'
11-
1210
# Test app stuff
1311

14-
gem 'rails', '~> 4.0'
12+
gem 'rails', '~> 5.0'
13+
gem 'kaminari', '~> 1.0'
14+
gem 'kaminari-mongoid'
1515

1616
gem 'devise'
1717

1818
# Gems used only for assets and not required
1919
# in production environments by default.
2020
group :assets do
21-
gem 'sass-rails', '~> 4.0'
21+
gem 'sass-rails', '>= 5.0.6'
2222
gem 'coffee-rails', '~> 4.0'
2323

2424
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
@@ -31,6 +31,7 @@ gem 'jquery-ui-rails'
3131
gem 'jslint'
3232

3333
group :test do
34+
gem 'pry-rails'
3435
gem 'capybara'
3536
gem 'poltergeist'
3637
gem 'launchy'

README.md

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,46 @@
1-
### ♻️ INFO
1+
# ActiveAdmin-Mongoid
22

3-
**Official support** has started, subscribe to [activeadmin#2714](https://github.com/activeadmin/activeadmin/issues/2714) for updates!
3+
## Updates
44

5-
### ⚠️ ALERT
5+
ActiveAdmin is holding off on pulling Mongoid support into the core ActiveAdmin application. This repo was pulled into the ActiveAdmin org from previous work done by Elia Schito, and will be maintained by Nic Boie, JD Guzman, Elia Schito and other ActiveAdmin and community members.
66

7-
For the reason above **I'm no longer actively maintaining the project**. I will still accept any pull request for recent rails/mongoid/activeadmin and adding new specs.
7+
### Requirements for version 0.4.0
8+
* Ruby 2.2.2 or greater. (Note, ruby-2.4.0 fails specs, see [this issue](https://github.com/DatabaseCleaner/database_cleaner/issues/466))
9+
* Requires Rails 5.0.x
10+
* Mongoid 6.0.x
11+
* ActiveAdmin 1.x
812

9-
---
13+
## Previous versions
14+
* Rails 4.x with Mongoid 5.x use branch rails4-mongoid5
15+
* Rails 4.x with Mongoid 4.x branch rails4
16+
* Mongoid 3.x with older versions of rails use v 0.3.0
1017

11-
# ActiveAdmin::Mongoid
18+
#### Rails 4 with
19+
20+
## ♻️ INFO
1221

13-
[![Build Status](https://secure.travis-ci.org/elia/activeadmin-mongoid.svg?branch=master)](http://travis-ci.org/elia/activeadmin-mongoid)
14-
[![Gem Version](https://badge.fury.io/rb/activeadmin-mongoid.svg)](http://badge.fury.io/rb/activeadmin-mongoid)
22+
This gem has been brought into the ActiveAdmin org for support and maintenance.
1523

24+
<!-- [![Build Status](https://secure.travis-ci.org/elia/activeadmin-mongoid.svg?branch=master)](http://travis-ci.org/elia/activeadmin-mongoid)
25+
[![Gem Version](https://badge.fury.io/rb/activeadmin-mongoid.svg)](http://badge.fury.io/rb/activeadmin-mongoid) -->
26+
27+
# ActiveAdmin::Mongoid
1628

1729
ActiveAdmin hacks to support Mongoid.
1830
Some ActiveAdmin features are disabled or not working properly:
1931

2032
- comments are disabled by default
21-
- filters are somehow broken
33+
- filters are somewhat broken
2234

2335
For more on Mongoid support in ActiveAdmin see [this issue](https://github.com/gregbell/active_admin/issues/26).
2436

2537
## Installation
2638

2739
### Some Gems
28-
Add the following gems to your application's Gemfile:
40+
Add the following gems to your application's Gemfile, and lock the version:
2941

3042
```ruby
31-
gem 'activeadmin-mongoid'
43+
gem 'activeadmin-mongoid', '0.4.0'
3244
```
3345

3446
You can safely remove the following lines, since are already activeadmin-mongoid dependencies:

activeadmin-mongoid.gemspec

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
44
require 'active_admin/mongoid/version'
55

66
Gem::Specification.new do |gem|
7-
gem.authors = ['Elia Schito']
7+
gem.authors = ['Elia Schito', 'Nic Boie', 'JD Guzman']
88
gem.email = ['[email protected]']
99
gem.description = %q{ActiveAdmin hacks to support Mongoid (some ActiveAdmin features are disabled)}
1010
gem.summary = %q{ActiveAdmin hacks to support Mongoid}
@@ -18,11 +18,11 @@ Gem::Specification.new do |gem|
1818
gem.version = ActiveAdmin::Mongoid::VERSION
1919
gem.license = 'MIT'
2020

21-
gem.add_runtime_dependency 'mongoid', ['> 3.0', '< 5.0']
22-
gem.add_runtime_dependency 'activeadmin', ['>= 1.0.0.pre', '< 2']
21+
gem.add_runtime_dependency 'mongoid', ['~> 6.0.3']
22+
gem.add_runtime_dependency 'activeadmin', ['~> 1.0']
2323
gem.add_runtime_dependency 'jquery-rails'
24-
gem.add_runtime_dependency 'sass-rails', ['>= 3.1.4', '< 5.0']
24+
gem.add_runtime_dependency 'sass-rails', ['>= 3.1.4', '<= 5.0.6']
2525
# gem.add_runtime_dependency 'meta_search', '~> 1.1.3'
2626

27-
gem.add_development_dependency 'rspec-rails', '~> 2.7'
27+
gem.add_development_dependency 'rspec-rails', '~> 3.6'
2828
end

lib/active_admin/mongoid.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
require 'active_admin/mongoid/criteria'
1717

1818
require 'active_admin/mongoid/order_clause'
19-
require 'active_admin/mongoid/filters/formtastic_addons'
2019

2120
module ActiveAdmin
2221
module Mongoid

lib/active_admin/mongoid/document.rb

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ class << self
4747

4848
self.primary_key ||= :id
4949

50+
def column_for_attribute(name)
51+
self.class.fields[name.to_sym]
52+
end
53+
5054
end
5155

5256
module ClassMethods
@@ -92,12 +96,12 @@ module ClassMethods
9296

9397
# Columns
9498

95-
# def content_columns
96-
# # cannot cache this, since changes in time (while defining fields)
97-
# fields.map(&:second).reject do |f|
98-
# f.name =~ /(^_|^(created|updated)_at)/ or Mongoid::Fields::ForeignKey === f
99-
# end
100-
# end
99+
def content_columns
100+
# cannot cache this, since changes in time (while defining fields)
101+
fields.map(&:second).reject do |f|
102+
f.name =~ /(^_|^(created|updated)_at)/ or Mongoid::Fields::ForeignKey === f
103+
end
104+
end
101105

102106
# def columns
103107
# @columns ||= fields.map(&:second).map{ |c| ColumnWrapper.new(c) }
@@ -146,5 +150,3 @@ def reflections *a
146150

147151
Mongoid::Document.send :include, ActiveAdmin::Mongoid::Document
148152
# Mongoid::Document.send :include, MetaSearch::Searches::Mongoid
149-
150-

lib/active_admin/mongoid/filter_form_builder.rb

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
1-
class ActiveAdmin::FilterFormBuilder
1+
class ActiveAdmin::Filters::FormBuilder
2+
3+
def filter(method, options = {})
4+
if method.present? && options[:as] ||= default_input_type(method)
5+
template.concat input(method, options)
6+
end
7+
end
8+
29
def default_input_type(method, options = {})
310
if column = column_for(method)
411
case column.type.name.downcase.to_sym
512
when :date, :datetime, :time; :date_range
6-
when :string, :text, :objectl; :string
13+
when :string, :text, :object; :string
714
when :float, :decimal; :numeric
815
when :integer
916
return :select if reflection_for(method.to_s.gsub('_id','').to_sym)

lib/active_admin/mongoid/filters/formtastic_addons.rb

Lines changed: 0 additions & 12 deletions
This file was deleted.

lib/active_admin/mongoid/helpers/collection.rb

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,16 @@ module Collection
44

55
alias original_collection_size collection_size
66
original_collection_size = instance_method(:collection_size)
7-
def collection_size(collection=collection)
8-
if(not collection.empty? and collection.first.class.included_modules.include?(Mongoid::Document))
9-
if collection.first.class.embedded?
10-
collection.count
11-
else
12-
collection.count(true)
13-
end
7+
8+
def collection_size(collection = nil)
9+
collection ||= self.collection
10+
if collection.is_a?(::Mongoid::Criteria)
11+
collection.entries.count
1412
else
15-
collection.count
13+
original_collection_size(collection)
1614
end
1715
end
16+
1817
end
1918
end
2019
end

lib/active_admin/mongoid/order_clause.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
module ActiveAdmin
22
class OrderClause
33

4-
def to_sql(active_admin_config)
5-
to_mongo_options(active_admin_config)
4+
def to_sql
5+
to_mongo_options
66
end
77

8-
def to_mongo_options(active_admin_config)
8+
def to_mongo_options
99
{ @column => @order.downcase.to_sym }
1010
end
1111
end

0 commit comments

Comments
 (0)