active_admin_sidebar 3.0.0 → 3.0.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 82c0aca50de9f10d89ff4757070bf989f62a3fed5c1e4dd4e63a54f1b5878245
4
- data.tar.gz: d1c85dc11a5224392b5002538cfa449e15e76e35e627a6bf62be6d201e6b4898
3
+ metadata.gz: b52cbe9432e50cb28e3f8fc445b052c11e6b22dcadc4240ad8f0854e2cbd9130
4
+ data.tar.gz: 77d9509198ab37d17ee738f5a8eefd4315100c851024e4289477578fa78a9280
5
5
  SHA512:
6
- metadata.gz: fe932df9e8af97da1c0cab3b1feadb3849c079d039e0df5a9d64a5d5f3aec939244c5800c7d1a03f005808fbb92870b8b0af19230a026afec954ec2f1f23bc98
7
- data.tar.gz: 0c4c3b4b7cfac89a9e9a9a4d3de42b1f01213f293d206cca5d265ff4c61ce700fc9b15b578d158c4b239d79625cc55b93a13e5ae32c1bca932d30f7bea807ccb
6
+ metadata.gz: f723c8696ef07ec5543593691e472b87b7325459eb2378d01f0aed447cf9c979a8d55380956194f53c2dad8cbb4f648f49bcfab5d25899b56f9eea51072a120e
7
+ data.tar.gz: 3e50493992f98a08864ff9db07f5b634bf4de3f9fc3e1eecdf84db634cc77e874ca702a07f40e7fb26387d36897e29750c0ca3d860f9e6ae4f3d8ec30f542710
@@ -1,3 +1,3 @@
1
1
  module ActiveAdminSidebar
2
- VERSION = '3.0.0'.freeze
2
+ VERSION = '3.0.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_admin_sidebar
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor
@@ -36,26 +36,14 @@ executables: []
36
36
  extensions: []
37
37
  extra_rdoc_files: []
38
38
  files:
39
- - ".github/workflows/ci.yml"
40
- - ".gitignore"
41
- - Gemfile
42
39
  - LICENSE
43
40
  - README.md
44
- - Rakefile
45
- - active_admin_sidebar.gemspec
46
41
  - app/assets/javascripts/active_admin_sidebar.js
47
42
  - app/assets/stylesheets/active_admin_sidebar.scss
48
43
  - lib/active_admin_sidebar.rb
49
44
  - lib/active_admin_sidebar/activeadmin_views_pages_base.rb
50
45
  - lib/active_admin_sidebar/positions.rb
51
46
  - lib/active_admin_sidebar/version.rb
52
- - package.json
53
- - spec/sidebars_spec.rb
54
- - spec/spec_helper.rb
55
- - spec/support/admin.rb
56
- - spec/support/capybara.rb
57
- - spec/support/rails_template.rb
58
- - tasks/test.rake
59
47
  homepage: https://github.com/activeadmin-plugins/active_admin_sidebar
60
48
  licenses:
61
49
  - MIT
@@ -67,19 +55,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
67
55
  requirements:
68
56
  - - ">="
69
57
  - !ruby/object:Gem::Version
70
- version: 3.1.0
58
+ version: '3.3'
71
59
  required_rubygems_version: !ruby/object:Gem::Requirement
72
60
  requirements:
73
61
  - - ">="
74
62
  - !ruby/object:Gem::Version
75
63
  version: '0'
76
64
  requirements: []
77
- rubygems_version: 3.7.1
65
+ rubygems_version: 3.6.9
78
66
  specification_version: 4
79
67
  summary: active_admin_sidebar gem
80
- test_files:
81
- - spec/sidebars_spec.rb
82
- - spec/spec_helper.rb
83
- - spec/support/admin.rb
84
- - spec/support/capybara.rb
85
- - spec/support/rails_template.rb
68
+ test_files: []
@@ -1,91 +0,0 @@
1
- name: CI
2
- on:
3
- pull_request:
4
- push:
5
- branches: [master]
6
-
7
- permissions:
8
- contents: read
9
- pages: write
10
- id-token: write
11
-
12
- jobs:
13
- test:
14
- name: Ruby ${{ matrix.ruby }} / Rails ${{ matrix.rails }} / AA ${{ matrix.activeadmin }}
15
- runs-on: ubuntu-latest
16
- strategy:
17
- fail-fast: false
18
- matrix:
19
- ruby: ['3.2', '3.3', '3.4']
20
- rails: ['7.1.0', '7.2.0', '8.0.0']
21
- activeadmin: ['3.2.0', '3.3.0', '3.4.0', '3.5.0']
22
- exclude:
23
- - rails: '8.0.0'
24
- activeadmin: '3.2.0'
25
- env:
26
- RAILS: ${{ matrix.rails }}
27
- AA: ${{ matrix.activeadmin }}
28
- steps:
29
- - uses: actions/checkout@v4
30
- - uses: ruby/setup-ruby@v1
31
- with:
32
- ruby-version: ${{ matrix.ruby }}
33
- bundler-cache: true
34
- - name: Run tests
35
- run: bundle exec rspec spec
36
-
37
- - name: Generate badge.json
38
- if: matrix.ruby == '3.4' && matrix.rails == '8.0.0' && matrix.activeadmin == '3.5.0'
39
- run: |
40
- LAST_RUN="coverage/.last_run.json"
41
- if [ ! -f "$LAST_RUN" ]; then
42
- mkdir -p badge
43
- echo '{"schemaVersion":1,"label":"coverage","message":"unknown","color":"lightgrey"}' > badge/badge.json
44
- exit 0
45
- fi
46
- PERCENT=$(ruby -rjson -e "puts JSON.parse(File.read('$LAST_RUN')).dig('result','line').round(1)")
47
- PERCENT_NUM=$(ruby -rjson -e "puts JSON.parse(File.read('$LAST_RUN')).dig('result','line')")
48
- if ruby -e "exit(($PERCENT_NUM >= 90) ? 0 : 1)"; then COLOR="brightgreen"
49
- elif ruby -e "exit(($PERCENT_NUM >= 75) ? 0 : 1)"; then COLOR="green"
50
- elif ruby -e "exit(($PERCENT_NUM >= 60) ? 0 : 1)"; then COLOR="yellow"
51
- else COLOR="red"; fi
52
- mkdir -p badge
53
- echo "{\"schemaVersion\":1,\"label\":\"coverage\",\"message\":\"${PERCENT}%\",\"color\":\"${COLOR}\"}" > badge/badge.json
54
-
55
- - name: Upload badge artifact
56
- if: matrix.ruby == '3.4' && matrix.rails == '8.0.0' && matrix.activeadmin == '3.5.0'
57
- uses: actions/upload-artifact@v4
58
- with:
59
- name: coverage-badge
60
- path: badge
61
-
62
- deploy-coverage:
63
- needs: test
64
- if: github.ref == 'refs/heads/master' && github.event_name == 'push'
65
- runs-on: ubuntu-latest
66
- environment:
67
- name: github-pages
68
- url: ${{ steps.deployment.outputs.page_url }}
69
-
70
- steps:
71
- - uses: actions/checkout@v4
72
- with:
73
- ref: gh-pages
74
-
75
- - name: Download coverage badge
76
- uses: actions/download-artifact@v4
77
- with:
78
- name: coverage-badge
79
- path: .
80
-
81
- - name: Setup Pages
82
- uses: actions/configure-pages@v5
83
-
84
- - name: Upload Pages artifact
85
- uses: actions/upload-pages-artifact@v3
86
- with:
87
- path: .
88
-
89
- - name: Deploy to GitHub Pages
90
- id: deployment
91
- uses: actions/deploy-pages@v4
data/.gitignore DELETED
@@ -1,6 +0,0 @@
1
- /.bundle/
2
- /Gemfile.lock
3
- /pkg/
4
- /tmp/
5
- spec/rails/rails-*
6
- /coverage
data/Gemfile DELETED
@@ -1,20 +0,0 @@
1
- source 'https://rubygems.org'
2
- gemspec
3
-
4
- default_rails_version = '7.1.0'
5
- default_activeadmin_version = '3.2.0'
6
-
7
- gem 'rails', "~> #{ENV['RAILS'] || default_rails_version}"
8
- gem 'activeadmin', "~> #{ENV['AA'] || default_activeadmin_version}"
9
- gem 'sprockets-rails'
10
- gem 'sass-rails'
11
-
12
- group :test do
13
- gem 'simplecov', require: false
14
- gem 'rspec-rails'
15
- gem 'sqlite3', '~> 2.0'
16
- gem 'database_cleaner'
17
- gem 'capybara'
18
- gem 'cuprite'
19
- gem 'webrick', require: false
20
- end
data/Rakefile DELETED
@@ -1,5 +0,0 @@
1
- require "bundler"
2
- require 'rake'
3
- Bundler.setup
4
- Bundler::GemHelper.install_tasks
5
- FileList['tasks/**/*.rake'].each { |task| import task }
@@ -1,22 +0,0 @@
1
- $:.push File.expand_path("../lib", __FILE__)
2
- require "active_admin_sidebar/version"
3
-
4
- Gem::Specification.new do |s|
5
- s.name = "active_admin_sidebar"
6
- s.version = ActiveAdminSidebar::VERSION
7
- s.authors = ["Igor"]
8
- s.email = ["fedoronchuk@gmail.com"]
9
- s.homepage = "https://github.com/activeadmin-plugins/active_admin_sidebar"
10
- s.summary = %q{active_admin_sidebar gem}
11
- s.description = %q{extension for activeadmin gem to manage sidebar}
12
- s.license = "MIT"
13
-
14
- s.required_ruby_version = '>= 3.1.0'
15
-
16
- s.files = `git ls-files`.split("\n")
17
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
- s.require_paths = ["lib"]
20
-
21
- s.add_dependency "activeadmin", ">= 3.0", "< 4.0"
22
- end
data/package.json DELETED
@@ -1,30 +0,0 @@
1
- {
2
- "name": "@activeadmin-plugins/active_admin_sidebar",
3
- "version": "3.0.0",
4
- "description": "Extension for ActiveAdmin gem to manage sidebar",
5
- "main": "src/active_admin_sidebar.js",
6
- "style": "src/active_admin_sidebar.scss",
7
- "repository": "git@github.com:activeadmin-plugins/active_admin_sidebar.git",
8
- "author": "Igor Fedoronchuk <fedoronchuk@gmail.com>",
9
- "license": "MIT",
10
- "private": false,
11
- "repository": {
12
- "type": "git",
13
- "url": "git+https://github.com/activeadmin-plugins/active_admin_sidebar.git"
14
- },
15
- "bugs": {
16
- "url": "https://github.com/activeadmin-plugins/active_admin_sidebar/issues"
17
- },
18
- "homepage": "https://github.com/activeadmin-plugins/active_admin_sidebar#readme",
19
- "keywords": [
20
- "active",
21
- "admin",
22
- "sidebar"
23
- ],
24
- "files": [
25
- "src/**/*"
26
- ],
27
- "scripts": {
28
- "prepublishOnly": "rm -rf src && cp -R app/assets/javascripts/ src && cp -R app/assets/stylesheets/ src"
29
- }
30
- }
@@ -1,188 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'authors index', type: :feature, js: true do
4
-
5
- before do
6
- Author.create!(name: 'John', last_name: 'Doe')
7
- Author.create!(name: 'Jane', last_name: 'Roe')
8
- end
9
-
10
- context 'left-sidebar with collapsible: true (starts expanded)' do
11
- before do
12
- add_author_resource
13
- add_post_resource
14
- visit '/admin/authors'
15
- end
16
-
17
- it 'has left-sidebar with toggle button' do
18
- expect(page).to have_css('#filters_sidebar_section')
19
- expect(page).to have_css('.sidebar_toggle_btn')
20
- expect(page).to have_css('#active_admin_content.with_sidebar.left_sidebar.collapsible_sidebar')
21
- end
22
-
23
- it 'sidebar starts expanded' do
24
- expect(page).to have_css('#sidebar .sidebar_section', visible: :visible)
25
- expect(page).not_to have_css('#active_admin_content.collapsed_sidebar')
26
- end
27
-
28
- context 'when click on toggle to collapse' do
29
- before do
30
- page.find('.sidebar_toggle_btn').click
31
- end
32
-
33
- it "sidebar is hidden, and save it's state after going to another page" do
34
- expect(page).to have_css('#active_admin_content.collapsed_sidebar')
35
-
36
- # Posts page is configured as: "before_action :skip_sidebar!"
37
- visit '/admin/posts'
38
- # sidebar does not exist at all
39
- expect(page).to have_css('#page_title', text: 'Posts')
40
- expect(page).not_to have_css('#sidebar', visible: :all)
41
-
42
- visit '/admin/authors'
43
- # sidebar is collapsed
44
- expect(page).to have_css('#page_title', text: 'Authors')
45
- expect(page).to have_css('#active_admin_content.collapsed_sidebar')
46
-
47
- page.find('.sidebar_toggle_btn').click
48
-
49
- # sidebar is visible
50
- expect(page).to have_css('#sidebar .sidebar_section', visible: :visible)
51
- expect(page).not_to have_css('#active_admin_content.collapsed_sidebar')
52
- end
53
- end
54
-
55
- end
56
-
57
- context 'left-sidebar with collapsible: true, start_collapsed: true' do
58
- before do
59
- add_author_resource_with_start_collapsed
60
- add_post_resource
61
- visit '/admin/authors'
62
- end
63
-
64
- it 'has collapsible sidebar that starts collapsed' do
65
- expect(page).to have_css('#active_admin_content.collapsible_sidebar.collapsed_sidebar')
66
- expect(page).to have_css('.sidebar_toggle_btn')
67
- end
68
-
69
- it 'can be expanded by clicking toggle button' do
70
- page.find('.sidebar_toggle_btn').click
71
-
72
- expect(page).to have_css('#sidebar .sidebar_section', visible: :visible)
73
- expect(page).not_to have_css('#active_admin_content.collapsed_sidebar')
74
-
75
- # session remembers expanded state
76
- visit '/admin/authors'
77
- expect(page).to have_css('#sidebar .sidebar_section', visible: :visible)
78
- expect(page).not_to have_css('#active_admin_content.collapsed_sidebar')
79
- end
80
- end
81
-
82
- context 'deprecated collapsed option raises error' do
83
- it 'raises ArgumentError for left_sidebar!' do
84
- obj = Object.new
85
- obj.extend(ActiveAdminSidebar::Positions)
86
- expect { obj.left_sidebar!(collapsed: true) }.to raise_error(ArgumentError, /removed in v3/)
87
- end
88
-
89
- it 'raises ArgumentError for right_sidebar!' do
90
- obj = Object.new
91
- obj.extend(ActiveAdminSidebar::Positions)
92
- expect { obj.right_sidebar!(collapsed: true) }.to raise_error(ArgumentError, /removed in v3/)
93
- end
94
- end
95
-
96
- context 'right-sidebar with collapsible: true (starts expanded)' do
97
- before do
98
- add_author_resource_right_sidebar
99
- add_post_resource
100
- visit '/admin/authors'
101
- end
102
-
103
- it 'has right-sidebar with toggle button' do
104
- expect(page).to have_css('#filters_sidebar_section')
105
- expect(page).to have_css('.sidebar_toggle_btn')
106
- expect(page).to have_css('#active_admin_content.with_sidebar.collapsible_sidebar')
107
- expect(page).not_to have_css('#active_admin_content.left_sidebar')
108
- end
109
-
110
- it 'sidebar starts expanded' do
111
- expect(page).to have_css('#sidebar .sidebar_section', visible: :visible)
112
- expect(page).not_to have_css('#active_admin_content.collapsed_sidebar')
113
- end
114
-
115
- context 'when click on toggle to collapse' do
116
- before do
117
- page.find('.sidebar_toggle_btn').click
118
- end
119
-
120
- it 'sidebar is hidden and toggle button is on the right side' do
121
- expect(page).to have_css('#active_admin_content.collapsed_sidebar')
122
-
123
- btn_left = page.evaluate_script("document.querySelector('.sidebar_toggle_btn').getBoundingClientRect().left")
124
- page_width = page.evaluate_script('document.documentElement.clientWidth')
125
- expect(btn_left).to be > (page_width / 2), "toggle button should be on the right side of the page"
126
-
127
- page.find('.sidebar_toggle_btn').click
128
-
129
- expect(page).not_to have_css('#active_admin_content.collapsed_sidebar')
130
- expect(page).to have_css('#sidebar .sidebar_section', visible: :visible)
131
- end
132
- end
133
- end
134
-
135
- context 'right-sidebar with collapsible: true, start_collapsed: true' do
136
- before do
137
- add_author_resource_right_sidebar_start_collapsed
138
- add_post_resource
139
- visit '/admin/authors'
140
- end
141
-
142
- it 'has collapsible right-sidebar that starts collapsed' do
143
- expect(page).to have_css('#active_admin_content.collapsible_sidebar.collapsed_sidebar')
144
- expect(page).to have_css('.sidebar_toggle_btn')
145
- end
146
-
147
- it 'can be expanded by clicking toggle button' do
148
- page.find('.sidebar_toggle_btn').click
149
-
150
- expect(page).to have_css('#sidebar .sidebar_section', visible: :visible)
151
- expect(page).not_to have_css('#active_admin_content.collapsed_sidebar')
152
-
153
- # session remembers expanded state
154
- visit '/admin/authors'
155
- expect(page).to have_css('#sidebar .sidebar_section', visible: :visible)
156
- expect(page).not_to have_css('#active_admin_content.collapsed_sidebar')
157
- end
158
- end
159
-
160
- context 'per-resource sidebar state isolation' do
161
- before do
162
- Post.create!(title: 'Test', body: 'Body', author: Author.first)
163
- add_author_resource_with_start_collapsed
164
- add_post_resource_with_sidebar
165
- end
166
-
167
- it 'changing sidebar state on one resource does not affect another' do
168
- # Authors starts collapsed (collapsible: true, start_collapsed: true)
169
- visit '/admin/authors'
170
- expect(page).to have_css('#active_admin_content.collapsed_sidebar')
171
-
172
- # Expand authors
173
- page.find('.sidebar_toggle_btn').click
174
- expect(page).to have_css('#sidebar .sidebar_section', visible: :visible)
175
-
176
- # Posts should still be in its default state (expanded, not collapsed)
177
- visit '/admin/posts'
178
- expect(page).to have_css('#active_admin_content.collapsible_sidebar')
179
- expect(page).not_to have_css('#active_admin_content.collapsed_sidebar')
180
-
181
- # Authors should still be expanded (from earlier toggle)
182
- visit '/admin/authors'
183
- expect(page).to have_css('#sidebar .sidebar_section', visible: :visible)
184
- expect(page).not_to have_css('#active_admin_content.collapsed_sidebar')
185
- end
186
- end
187
-
188
- end
data/spec/spec_helper.rb DELETED
@@ -1,50 +0,0 @@
1
- require 'simplecov'
2
- SimpleCov.start do
3
- add_filter '/spec/'
4
- end
5
-
6
- $LOAD_PATH.unshift(File.dirname(__FILE__))
7
- $LOAD_PATH << File.expand_path('../support', __FILE__)
8
-
9
- ENV['BUNDLE_GEMFILE'] = File.expand_path('../../Gemfile', __FILE__)
10
- require "bundler"
11
- Bundler.setup
12
-
13
- ENV['RAILS_ENV'] = 'test'
14
- require 'rails'
15
- ENV['RAILS'] = Rails.version
16
- ENV['RAILS_ROOT'] = File.expand_path("../rails/rails-#{ENV['RAILS']}", __FILE__)
17
- unless File.exist?(ENV['RAILS_ROOT'])
18
- system 'rake setup'
19
- end
20
-
21
- require 'rails/all'
22
- require 'active_admin'
23
- ActiveAdmin.application.load_paths = [ENV['RAILS_ROOT'] + "/app/admin"]
24
- require ENV['RAILS_ROOT'] + '/config/environment.rb'
25
- ActiveAdmin.application.authentication_method = false
26
- ActiveAdmin.application.current_user_method = false
27
-
28
- require 'rspec/rails'
29
- require 'capybara/rails'
30
- require 'capybara/rspec'
31
-
32
- require 'support/admin'
33
- require 'support/capybara'
34
-
35
- RSpec.configure do |config|
36
- config.use_transactional_fixtures = false
37
-
38
- config.before(:suite) do
39
- ActiveRecord::Migration.maintain_test_schema!
40
- DatabaseCleaner.strategy = :truncation
41
- DatabaseCleaner.clean_with(:truncation)
42
- end
43
- config.before(:each) do
44
- DatabaseCleaner.strategy = :truncation
45
- DatabaseCleaner.start
46
- end
47
- config.after(:each) do
48
- DatabaseCleaner.clean
49
- end
50
- end
@@ -1,73 +0,0 @@
1
- def add_author_resource(options = {}, &block)
2
-
3
- ActiveAdmin.register Author do
4
- config.filters = true
5
- end
6
-
7
- Rails.application.reload_routes!
8
-
9
- end
10
-
11
- def add_author_resource_with_start_collapsed(options = {}, &block)
12
-
13
- ActiveAdmin.register Author do
14
- config.filters = true
15
- before_action do
16
- left_sidebar!(collapsible: true, start_collapsed: true)
17
- end
18
- end
19
-
20
- Rails.application.reload_routes!
21
-
22
- end
23
-
24
- def add_author_resource_right_sidebar(options = {}, &block)
25
-
26
- ActiveAdmin.register Author do
27
- config.filters = true
28
- before_action do
29
- right_sidebar!(collapsible: true)
30
- end
31
- end
32
-
33
- Rails.application.reload_routes!
34
-
35
- end
36
-
37
- def add_author_resource_right_sidebar_start_collapsed(options = {}, &block)
38
-
39
- ActiveAdmin.register Author do
40
- config.filters = true
41
- before_action do
42
- right_sidebar!(collapsible: true, start_collapsed: true)
43
- end
44
- end
45
-
46
- Rails.application.reload_routes!
47
-
48
- end
49
-
50
- def add_post_resource(options = {}, &block)
51
-
52
- ActiveAdmin.register Post do
53
- config.filters = true
54
- before_action :skip_sidebar!
55
- end
56
-
57
- Rails.application.reload_routes!
58
-
59
- end
60
-
61
- def add_post_resource_with_sidebar(options = {}, &block)
62
-
63
- ActiveAdmin.register Post do
64
- config.filters = true
65
- skip_before_action :skip_sidebar!, raise: false
66
- before_action do
67
- left_sidebar!(collapsible: true)
68
- end
69
- end
70
-
71
- Rails.application.reload_routes!
72
-
73
- end
@@ -1,8 +0,0 @@
1
- require 'capybara/cuprite'
2
-
3
- Capybara.server = :webrick
4
- Capybara.register_driver :cuprite do |app|
5
- Capybara::Cuprite::Driver.new(app, headless: true, window_size: [1280, 800])
6
- end
7
- Capybara.javascript_driver = :cuprite
8
- Capybara.default_max_wait_time = 5
@@ -1,55 +0,0 @@
1
- # Ensure Sprockets manifest exists (required by Rails 8+)
2
- FileUtils.mkdir_p("app/assets/config")
3
- File.write("app/assets/config/manifest.js",
4
- "//= link_directory ../javascripts .js\n//= link_directory ../stylesheets .css\n")
5
-
6
- generate :model, 'author name:string{10}:uniq last_name:string birthday:date --force'
7
- generate :model, 'post title:string:uniq body:text author:references --force'
8
-
9
- inject_into_file "app/models/author.rb", " validates_presence_of :name\n validates_uniqueness_of :last_name\n", after: "ApplicationRecord\n"
10
- inject_into_file "app/models/post.rb", " validates_presence_of :author\n", after: ":author\n"
11
-
12
- # Add ransackable_attributes for Ransack 4+
13
- inject_into_file "app/models/author.rb",
14
- " def self.ransackable_attributes(auth_object = nil)\n" \
15
- " [\"name\", \"last_name\", \"birthday\", \"created_at\", \"updated_at\"]\n" \
16
- " end\n",
17
- after: "ApplicationRecord\n"
18
-
19
- inject_into_file "app/models/post.rb",
20
- " def self.ransackable_attributes(auth_object = nil)\n" \
21
- " [\"title\", \"body\", \"author_id\"]\n" \
22
- " end\n" \
23
- " def self.ransackable_associations(auth_object = nil)\n" \
24
- " [\"author\"]\n" \
25
- " end\n",
26
- after: "ApplicationRecord\n"
27
-
28
- # Add our local Active Admin to the load path (Rails 7.1+)
29
- gsub_file "config/environment.rb",
30
- 'require_relative "application"',
31
- "require_relative \"application\"\n$LOAD_PATH.unshift('#{File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'lib'))}')\nrequire \"active_admin\"\n"
32
-
33
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
34
-
35
- generate :'active_admin:install --skip-users'
36
- generate :'formtastic:install'
37
-
38
- # Initialize plugin
39
- inject_into_file "config/initializers/active_admin.rb",
40
- " config.before_action do\n left_sidebar!(collapsible: true) if respond_to?(:left_sidebar!)\n end\n\n",
41
- after: "ActiveAdmin.setup do |config|\n"
42
-
43
- inject_into_file "app/assets/stylesheets/active_admin.scss",
44
- "@import \"active_admin_sidebar\";\n",
45
- after: "@import \"active_admin/base\";\n"
46
-
47
- inject_into_file "app/assets/javascripts/active_admin.js",
48
- "//= require active_admin_sidebar\n",
49
- after: "//= require active_admin/base\n"
50
-
51
- run "rm -rf test"
52
- route "root :to => 'admin/dashboard#index'"
53
- rake "db:migrate"
54
-
55
- run "rm -f Gemfile Gemfile.lock"
data/tasks/test.rake DELETED
@@ -1,13 +0,0 @@
1
- desc "Creates a test rails app for the specs to run against"
2
- task :setup do
3
- require 'rails/version'
4
-
5
- rails_new_opts = %w(
6
- --skip-turbolinks
7
- --skip-spring
8
- --skip-bootsnap
9
- -m
10
- spec/support/rails_template.rb
11
- )
12
- system "bundle exec rails new spec/rails/rails-#{Rails::VERSION::STRING} #{rails_new_opts.join(' ')}"
13
- end