activeadmin-xls 1.0.5 → 2.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/.travis.yml +13 -0
- data/.yardopts +1 -0
- data/CHANGELOG.md +54 -4
- data/Gemfile +1 -1
- data/README.md +71 -31
- data/Rakefile +23 -3
- data/activeadmin-xls.gemspec +3 -3
- data/gemfiles/rails_42.gemfile +4 -2
- data/gemfiles/rails_52.gemfile +24 -0
- data/gemfiles/rails_60.gemfile +25 -0
- data/lib/active_admin/xls/builder.rb +174 -47
- data/lib/active_admin/xls/dsl.rb +49 -1
- data/lib/active_admin/xls/engine.rb +5 -2
- data/lib/active_admin/xls/resource_controller_extension.rb +24 -29
- data/lib/active_admin/xls/resource_extension.rb +15 -0
- data/lib/active_admin/xls/version.rb +2 -1
- metadata +11 -28
- data/.yardops +0 -1
- data/gemfiles/rails_32.gemfile +0 -30
- data/spec/spec_helper.rb +0 -38
- data/spec/support/rails_template.rb +0 -102
- data/spec/support/rails_template_with_data.rb +0 -62
- data/spec/support/templates/admin/stores.rb +0 -1
- data/spec/support/templates/cucumber.rb +0 -24
- data/spec/support/templates/cucumber_with_reloading.rb +0 -5
- data/spec/support/templates/en.yml +0 -15
- data/spec/xls/unit/build_download_format_links_spec.rb +0 -52
- data/spec/xls/unit/builder_spec.rb +0 -194
- data/spec/xls/unit/dsl_spec.rb +0 -59
- data/spec/xls/unit/resource_controller_spec.rb +0 -52
- data/spec/xls/unit/resource_spec.rb +0 -26
data/lib/active_admin/xls/dsl.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module ActiveAdmin
|
2
2
|
module Xls
|
3
|
-
#
|
3
|
+
# Extends activeadmin dsl to include xls
|
4
4
|
module DSL
|
5
5
|
delegate(:after_filter,
|
6
6
|
:before_filter,
|
@@ -9,11 +9,59 @@ module ActiveAdmin
|
|
9
9
|
:header_format,
|
10
10
|
:header_style,
|
11
11
|
:i18n_scope,
|
12
|
+
:only_columns,
|
12
13
|
:skip_header,
|
13
14
|
:whitelist,
|
14
15
|
to: :xls_builder,
|
15
16
|
prefix: :config)
|
16
17
|
|
18
|
+
# Creates a default XLS Builder to respond to xls requests for this
|
19
|
+
# resource. Options are passed to the Builder initialize method.
|
20
|
+
#
|
21
|
+
# @param [Hash] options the options for the builder
|
22
|
+
# @option options [Hash] :header_format a hash of format properties to
|
23
|
+
# apply to the header row. Any properties specified will be merged with
|
24
|
+
# the default header styles.
|
25
|
+
# @option options [Array] :i18n_scope the I18n scope to use when looking
|
26
|
+
# up localized column headers.
|
27
|
+
# @param [Block] block block given will evaluated against the instance of
|
28
|
+
# Builder. That means you can call any method on the builder from within
|
29
|
+
# that block.
|
30
|
+
# @return A new instance of Builder
|
31
|
+
#
|
32
|
+
# @example Using the DSL
|
33
|
+
# xls(i18n_scope: [:active_admin, :xls, :post],
|
34
|
+
# header_format: { weight: :bold, color: :blue }) do
|
35
|
+
# # Specify that you want to white list column output.
|
36
|
+
# # whitelist
|
37
|
+
#
|
38
|
+
# # Do not serialize the header, only output data.
|
39
|
+
# # skip_header
|
40
|
+
#
|
41
|
+
# # restrict columns to a list without customization
|
42
|
+
# # only_columns :title, :author
|
43
|
+
#
|
44
|
+
# # deleting columns from the report
|
45
|
+
# delete_columns :id, :created_at, :updated_at
|
46
|
+
#
|
47
|
+
# # adding a column to the report with customization
|
48
|
+
# column(:author) do |post|
|
49
|
+
# "#{post.author.first_name} #{post.author.last_name}"
|
50
|
+
# end
|
51
|
+
#
|
52
|
+
# # inserting additional data with after_filter
|
53
|
+
# after_filter do |sheet|
|
54
|
+
# # todo
|
55
|
+
# end
|
56
|
+
#
|
57
|
+
# # inserting data with before_filter
|
58
|
+
# before_filter do |sheet|
|
59
|
+
# # todo
|
60
|
+
# end
|
61
|
+
# end
|
62
|
+
#
|
63
|
+
# @see Builder
|
64
|
+
# @see https://github.com/zdavatz/spreadsheet/blob/master/lib/spreadsheet/format.rb
|
17
65
|
def xls(options = {}, &block)
|
18
66
|
config.xls_builder = ActiveAdmin::Xls::Builder.new(
|
19
67
|
config.resource_class,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module ActiveAdmin
|
2
2
|
module Xls
|
3
|
-
#
|
3
|
+
# Extends ActiveAdmin with xls downloads
|
4
4
|
class Engine < ::Rails::Engine
|
5
5
|
engine_name 'active_admin_xls'
|
6
6
|
|
@@ -13,7 +13,10 @@ module ActiveAdmin
|
|
13
13
|
|
14
14
|
ActiveAdmin::ResourceDSL.send :include, ActiveAdmin::Xls::DSL
|
15
15
|
ActiveAdmin::Resource.send :include, ActiveAdmin::Xls::ResourceExtension
|
16
|
-
ActiveAdmin::ResourceController.send
|
16
|
+
ActiveAdmin::ResourceController.send(
|
17
|
+
:prepend,
|
18
|
+
ActiveAdmin::Xls::ResourceControllerExtension
|
19
|
+
)
|
17
20
|
end
|
18
21
|
end
|
19
22
|
end
|
@@ -1,25 +1,19 @@
|
|
1
1
|
module ActiveAdmin
|
2
2
|
module Xls
|
3
|
+
# Extends the resource controller to respond to xls requests
|
3
4
|
module ResourceControllerExtension
|
4
|
-
def self.
|
5
|
-
base.send :
|
6
|
-
base.send :alias_method_chain, :index, :xls
|
7
|
-
base.send :alias_method_chain, :rescue_active_admin_access_denied, :xls
|
8
|
-
base.send :respond_to, :xls
|
5
|
+
def self.prepended(base)
|
6
|
+
base.send :respond_to, :xls, only: :index
|
9
7
|
end
|
10
8
|
|
11
|
-
|
12
|
-
|
9
|
+
# Patches index to respond to requests with xls mime type by
|
10
|
+
# sending a generated xls document serializing the current
|
11
|
+
# collection
|
12
|
+
def index
|
13
|
+
super do |format|
|
13
14
|
format.xls do
|
14
|
-
|
15
|
-
|
16
|
-
else
|
17
|
-
find_collection except: :pagination
|
18
|
-
end
|
19
|
-
xls = active_admin_config.xls_builder.serialize(
|
20
|
-
xls_collection,
|
21
|
-
view_context
|
22
|
-
)
|
15
|
+
xls = active_admin_config.xls_builder.serialize(xls_collection,
|
16
|
+
view_context)
|
23
17
|
send_data(xls,
|
24
18
|
filename: xls_filename,
|
25
19
|
type: Mime::Type.lookup_by_extension(:xls))
|
@@ -29,7 +23,12 @@ module ActiveAdmin
|
|
29
23
|
end
|
30
24
|
end
|
31
25
|
|
32
|
-
|
26
|
+
# Patches rescue_active_admin_access_denied to respond to xls
|
27
|
+
# mime type. Provides administrators information on how to
|
28
|
+
# configure activeadmin to respond propertly to xls requests
|
29
|
+
#
|
30
|
+
# param exception [Exception] unauthorized access error
|
31
|
+
def rescue_active_admin_access_denied(exception)
|
33
32
|
if request.format == Mime::Type.lookup_by_extension(:xls)
|
34
33
|
respond_to do |format|
|
35
34
|
format.xls do
|
@@ -38,27 +37,23 @@ module ActiveAdmin
|
|
38
37
|
end
|
39
38
|
end
|
40
39
|
else
|
41
|
-
|
40
|
+
super(exception)
|
42
41
|
end
|
43
42
|
end
|
44
43
|
|
45
|
-
# patch per_page to use the CSV record max for pagination
|
46
|
-
# when the format is xls
|
47
|
-
def per_page_with_xls
|
48
|
-
if request.format == Mime::Type.lookup_by_extension(:xls)
|
49
|
-
return max_per_page if respond_to?(:max_per_page, true)
|
50
|
-
active_admin_config.max_per_page
|
51
|
-
end
|
52
|
-
|
53
|
-
per_page_without_xls
|
54
|
-
end
|
55
|
-
|
56
44
|
# Returns a filename for the xls file using the collection_name
|
57
45
|
# and current date such as 'my-articles-2011-06-24.xls'.
|
46
|
+
#
|
47
|
+
# @return [String] with default filename
|
58
48
|
def xls_filename
|
59
49
|
timestamp = Time.now.strftime('%Y-%m-%d')
|
60
50
|
"#{resource_collection_name.to_s.tr('_', '-')}-#{timestamp}.xls"
|
61
51
|
end
|
52
|
+
|
53
|
+
# Returns the collection to use when generating an xls file.
|
54
|
+
def xls_collection
|
55
|
+
find_collection except: :pagination
|
56
|
+
end
|
62
57
|
end
|
63
58
|
end
|
64
59
|
end
|
@@ -1,10 +1,25 @@
|
|
1
1
|
module ActiveAdmin
|
2
|
+
# Provides xls functionality to ActiveAdmin resources
|
2
3
|
module Xls
|
4
|
+
# Extends ActiveAdmin Resource
|
3
5
|
module ResourceExtension
|
6
|
+
# Sets the XLS Builder
|
7
|
+
#
|
8
|
+
# @param builder [Builder] the new builder object
|
9
|
+
# @return [Builder] the builder for this resource
|
4
10
|
def xls_builder=(builder)
|
5
11
|
@xls_builder = builder
|
6
12
|
end
|
7
13
|
|
14
|
+
# Returns the XLS Builder. Creates a new Builder if none exists.
|
15
|
+
#
|
16
|
+
# @return [Builder] the builder for this resource
|
17
|
+
#
|
18
|
+
# @example Localize column headers
|
19
|
+
# # app/admin/posts.rb
|
20
|
+
# ActiveAdmin.register Post do
|
21
|
+
# config.xls_builder.i18n_scope = [:active_record, :models, :posts]
|
22
|
+
# end
|
8
23
|
def xls_builder
|
9
24
|
@xls_builder ||= ActiveAdmin::Xls::Builder.new(resource_class)
|
10
25
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activeadmin-xls
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Todd Hambley
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activeadmin
|
@@ -16,20 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
20
|
-
- - "<"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '2'
|
19
|
+
version: 1.0.0
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
30
|
-
- - "<"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '2'
|
26
|
+
version: 1.0.0
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: spreadsheet
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,8 +38,7 @@ dependencies:
|
|
44
38
|
- - "~>"
|
45
39
|
- !ruby/object:Gem::Version
|
46
40
|
version: '1.0'
|
47
|
-
description:
|
48
|
-
This gem provides excel/xls downloads for resources in Active Admin.
|
41
|
+
description: " This gem provides excel/xls downloads for resources in Active Admin.\n"
|
49
42
|
email: thambley@travelleaders.com
|
50
43
|
executables: []
|
51
44
|
extensions: []
|
@@ -55,15 +48,17 @@ files:
|
|
55
48
|
- ".gemignore"
|
56
49
|
- ".gitignore"
|
57
50
|
- ".rspec"
|
58
|
-
- ".
|
51
|
+
- ".travis.yml"
|
52
|
+
- ".yardopts"
|
59
53
|
- CHANGELOG.md
|
60
54
|
- Gemfile
|
61
55
|
- LICENSE
|
62
56
|
- README.md
|
63
57
|
- Rakefile
|
64
58
|
- activeadmin-xls.gemspec
|
65
|
-
- gemfiles/rails_32.gemfile
|
66
59
|
- gemfiles/rails_42.gemfile
|
60
|
+
- gemfiles/rails_52.gemfile
|
61
|
+
- gemfiles/rails_60.gemfile
|
67
62
|
- lib/active_admin/xls/builder.rb
|
68
63
|
- lib/active_admin/xls/dsl.rb
|
69
64
|
- lib/active_admin/xls/engine.rb
|
@@ -71,18 +66,6 @@ files:
|
|
71
66
|
- lib/active_admin/xls/resource_extension.rb
|
72
67
|
- lib/active_admin/xls/version.rb
|
73
68
|
- lib/activeadmin-xls.rb
|
74
|
-
- spec/spec_helper.rb
|
75
|
-
- spec/support/rails_template.rb
|
76
|
-
- spec/support/rails_template_with_data.rb
|
77
|
-
- spec/support/templates/admin/stores.rb
|
78
|
-
- spec/support/templates/cucumber.rb
|
79
|
-
- spec/support/templates/cucumber_with_reloading.rb
|
80
|
-
- spec/support/templates/en.yml
|
81
|
-
- spec/xls/unit/build_download_format_links_spec.rb
|
82
|
-
- spec/xls/unit/builder_spec.rb
|
83
|
-
- spec/xls/unit/dsl_spec.rb
|
84
|
-
- spec/xls/unit/resource_controller_spec.rb
|
85
|
-
- spec/xls/unit/resource_spec.rb
|
86
69
|
homepage: https://github.com/thambley/activeadmin-xls
|
87
70
|
licenses:
|
88
71
|
- MIT
|
@@ -95,7 +78,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
95
78
|
requirements:
|
96
79
|
- - ">="
|
97
80
|
- !ruby/object:Gem::Version
|
98
|
-
version:
|
81
|
+
version: 2.0.0
|
99
82
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
83
|
requirements:
|
101
84
|
- - ">="
|
@@ -103,7 +86,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
86
|
version: '0'
|
104
87
|
requirements: []
|
105
88
|
rubyforge_project:
|
106
|
-
rubygems_version: 2.
|
89
|
+
rubygems_version: 2.6.14.4
|
107
90
|
signing_key:
|
108
91
|
specification_version: 4
|
109
92
|
summary: Adds excel (xls) downloads for resources within the Active Admin framework.
|
data/.yardops
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--no-private --protected app/**/*.rb - README.md LEGAL
|
data/gemfiles/rails_32.gemfile
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
source 'https://rubygems.org'
|
3
|
-
|
4
|
-
ruby_major_version = RUBY_VERSION.split('.')[0].to_i
|
5
|
-
ruby_minor_version = RUBY_VERSION.split('.')[1].to_i
|
6
|
-
|
7
|
-
eval_gemfile(File.expand_path(File.join('..', 'Gemfile'), __dir__))
|
8
|
-
|
9
|
-
gem 'rails', '3.2.22.5'
|
10
|
-
|
11
|
-
gem 'activeadmin', '0.6.6'
|
12
|
-
|
13
|
-
group :assets do
|
14
|
-
gem 'coffee-rails', '~> 3.2.1'
|
15
|
-
gem 'sass-rails', '~> 3.2.3'
|
16
|
-
|
17
|
-
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
|
18
|
-
# gem 'therubyracer', :platforms => :ruby
|
19
|
-
|
20
|
-
gem 'uglifier', '>= 1.0.3'
|
21
|
-
end
|
22
|
-
|
23
|
-
group :test do
|
24
|
-
gem 'shoulda-matchers', '~> 2.8.0'
|
25
|
-
if ruby_major_version > 2 || (ruby_major_version == 2 && ruby_minor_version > 1)
|
26
|
-
gem 'test-unit', '~> 3.0'
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
gemspec path: "../"
|
data/spec/spec_helper.rb
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
require 'simplecov'
|
2
|
-
SimpleCov.start do
|
3
|
-
add_filter '/rails/'
|
4
|
-
add_filter '/spec/'
|
5
|
-
end
|
6
|
-
|
7
|
-
ENV['RAILS_ENV'] = 'test'
|
8
|
-
|
9
|
-
# prepare ENV for rails
|
10
|
-
require 'rails'
|
11
|
-
ENV['RAILS_ROOT'] = File.expand_path(
|
12
|
-
"../rails/rails-#{Rails::VERSION::STRING}",
|
13
|
-
__FILE__
|
14
|
-
)
|
15
|
-
|
16
|
-
# ensure testing application is in place
|
17
|
-
unless File.exist?(ENV['RAILS_ROOT'])
|
18
|
-
puts 'Please run bundle exec rake setup before running the specs.'
|
19
|
-
exit
|
20
|
-
end
|
21
|
-
|
22
|
-
# load up activeadmin and activeadmin-xls
|
23
|
-
require 'active_record'
|
24
|
-
require 'active_admin'
|
25
|
-
require 'devise'
|
26
|
-
require 'activeadmin-xls'
|
27
|
-
ActiveAdmin.application.load_paths = [ENV['RAILS_ROOT'] + '/app/admin']
|
28
|
-
|
29
|
-
# start up rails
|
30
|
-
require ENV['RAILS_ROOT'] + '/config/environment'
|
31
|
-
|
32
|
-
# and finally,here's rspec
|
33
|
-
require 'rspec/rails'
|
34
|
-
|
35
|
-
# Disabling authentication in specs so that we don't have to worry about
|
36
|
-
# it allover the place
|
37
|
-
ActiveAdmin.application.authentication_method = false
|
38
|
-
ActiveAdmin.application.current_user_method = false
|
@@ -1,102 +0,0 @@
|
|
1
|
-
# Rails template to build the sample app for specs
|
2
|
-
|
3
|
-
# Create a cucumber database and environment
|
4
|
-
copy_file File.expand_path('../templates/cucumber.rb', __FILE__),
|
5
|
-
'config/environments/cucumber.rb'
|
6
|
-
copy_file File.expand_path('../templates/cucumber_with_reloading.rb', __FILE__),
|
7
|
-
'config/environments/cucumber_with_reloading.rb'
|
8
|
-
|
9
|
-
gsub_file 'config/database.yml', /^test:.*\n/, "test: &test\n"
|
10
|
-
gsub_file 'config/database.yml',
|
11
|
-
/\z/,
|
12
|
-
"\ncucumber:\n <<: *test\n database: db/cucumber.sqlite3"
|
13
|
-
gsub_file 'config/database.yml',
|
14
|
-
/\z/,
|
15
|
-
"\ncucumber_with_reloading:\n <<: *test\n database: db/cucumber.sqlite3"
|
16
|
-
|
17
|
-
# Generate some test models
|
18
|
-
generate :model, 'post title:string body:text published_at:datetime author_id:integer category_id:integer'
|
19
|
-
inject_into_file 'app/models/post.rb', " belongs_to :author, class_name: 'User'\n belongs_to :category\n accepts_nested_attributes_for :author\n", after: "class Post < ActiveRecord::Base\n"
|
20
|
-
# Rails 3.2.3 model generator declare attr_accessible
|
21
|
-
if Rails::VERSION::MAJOR == 3
|
22
|
-
inject_into_file 'app/models/post.rb',
|
23
|
-
" attr_accessible :author\n",
|
24
|
-
before: 'end'
|
25
|
-
end
|
26
|
-
generate :model, 'user type:string first_name:string last_name:string username:string age:integer'
|
27
|
-
inject_into_file 'app/models/user.rb', " has_many :posts, foreign_key: 'author_id'\n", after: "class User < ActiveRecord::Base\n"
|
28
|
-
generate :model, 'publisher --migration=false --parent=User'
|
29
|
-
generate :model, 'category name:string description:text'
|
30
|
-
inject_into_file 'app/models/category.rb', " has_many :posts\n accepts_nested_attributes_for :posts\n", after: "class Category < ActiveRecord::Base\n"
|
31
|
-
generate :model, 'store name:string'
|
32
|
-
|
33
|
-
# Generate a model with string ids
|
34
|
-
generate :model, 'tag name:string'
|
35
|
-
gsub_file(Dir['db/migrate/*_create_tags.rb'][0], /\:tags\sdo\s.*/, ":tags, id: false, primary_key: :id do |t|\n\t\t\tt.string :id\n" )
|
36
|
-
id_model_setup = <<-MODEL
|
37
|
-
self.primary_key = :id
|
38
|
-
before_create :set_id
|
39
|
-
|
40
|
-
private
|
41
|
-
def set_id
|
42
|
-
self.id = 8.times.inject('') { |s,e| s << (i = Kernel.rand(62); i += ((i < 10) ? 48 : ((i < 36) ? 55 : 61 ))).chr }
|
43
|
-
end
|
44
|
-
MODEL
|
45
|
-
|
46
|
-
inject_into_file 'app/models/tag.rb',
|
47
|
-
id_model_setup,
|
48
|
-
after: "class Tag < ActiveRecord::Base\n"
|
49
|
-
|
50
|
-
if Rails::VERSION::MAJOR == 3 && Rails::VERSION::MINOR == 1 # Rails 3.1 Gotcha
|
51
|
-
gsub_file 'app/models/tag.rb',
|
52
|
-
/self\.primary_key.*$/,
|
53
|
-
'define_attr_method :primary_key, :id'
|
54
|
-
end
|
55
|
-
|
56
|
-
# Configure default_url_options in test environment
|
57
|
-
inject_into_file 'config/environments/test.rb',
|
58
|
-
" config.action_mailer.default_url_options = { host: 'example.com' }\n",
|
59
|
-
after: "config.cache_classes = true\n"
|
60
|
-
|
61
|
-
puts File.expand_path('../../../lib/activeadmin-xls', __FILE__)
|
62
|
-
# Add our local Active Admin to the load path
|
63
|
-
inject_into_file 'config/environment.rb',
|
64
|
-
"\nrequire \"#{File.expand_path('../../../lib/activeadmin-xls', __FILE__)}\"\n",
|
65
|
-
after: "require File.expand_path('../application', __FILE__)"
|
66
|
-
|
67
|
-
# Add some translations
|
68
|
-
append_file 'config/locales/en.yml',
|
69
|
-
File.read(File.expand_path('../templates/en.yml', __FILE__))
|
70
|
-
|
71
|
-
# Add predefined admin resources
|
72
|
-
directory File.expand_path('../templates/admin', __FILE__), 'app/admin'
|
73
|
-
|
74
|
-
run 'rm Gemfile'
|
75
|
-
run 'rm -r test'
|
76
|
-
run 'rm -r spec'
|
77
|
-
|
78
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
79
|
-
|
80
|
-
if Rails::VERSION::MAJOR == 3
|
81
|
-
# we need this routing path, named "logout_path", for testing
|
82
|
-
route <<-ROUTE
|
83
|
-
devise_scope :user do
|
84
|
-
match '/admin/logout' => 'active_admin/devise/sessions#destroy', as: :logout
|
85
|
-
end
|
86
|
-
ROUTE
|
87
|
-
end
|
88
|
-
|
89
|
-
generate :'active_admin:install'
|
90
|
-
|
91
|
-
if Rails::VERSION::MAJOR > 3
|
92
|
-
inject_into_file 'config/initializers/active_admin.rb',
|
93
|
-
" config.download_links = %i[csv xml json xls]\n",
|
94
|
-
after: " # == Download Links\n"
|
95
|
-
end
|
96
|
-
|
97
|
-
# Setup a root path for devise
|
98
|
-
route "root to: 'admin/dashboard#index'"
|
99
|
-
|
100
|
-
rake 'db:migrate'
|
101
|
-
rake 'db:test:prepare'
|
102
|
-
run '/usr/bin/env RAILS_ENV=cucumber rake db:migrate'
|