godmin 2.0.0 → 2.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.codeclimate.yml +0 -2
- data/.travis.yml +10 -13
- data/CHANGELOG.md +28 -0
- data/README.md +48 -4
- data/Rakefile +3 -3
- data/app/views/godmin/resource/_button_actions.html.erb +1 -1
- data/app/views/godmin/resource/_pagination.html.erb +4 -4
- data/gemfiles/rails_5.gemfile +1 -1
- data/gemfiles/rails_6.gemfile +1 -1
- data/godmin.gemspec +1 -1
- data/lib/godmin/authorization.rb +34 -0
- data/lib/godmin/helpers/tables.rb +1 -1
- data/lib/godmin/version.rb +1 -1
- data/template.rb +14 -0
- data/test/dummy/admin/app/controllers/admin/authorized_articles_controller.rb +14 -0
- data/test/dummy/admin/app/models/admin/magazine.rb +4 -0
- data/test/dummy/admin/app/policies/admin/article_policy.rb +4 -0
- data/test/dummy/admin/app/policies/admin/magazine_policy.rb +4 -0
- data/test/dummy/admin/app/views/admin/shared/_navigation.html.erb +5 -0
- data/test/dummy/app/models/magazine.rb +2 -0
- data/test/dummy/db/migrate/20210519215502_create_magazines.rb +9 -0
- data/test/dummy/db/schema.rb +13 -6
- data/test/generators/resource_generator_test.rb +1 -0
- data/test/integration/authorization_test.rb +8 -0
- metadata +18 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 48acefb7a163b19b58779a565c05f70f21c01be49dd45ded049826a7f5f39df7
|
4
|
+
data.tar.gz: e4306796ece713a6e24eba897fc18e4ea0f24f97bea075ca5e7a883739239113
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16b5838830c7ff5f6662b166023bda316ba63faf2aba9d5968152db85a92e5bbcb3cf1634bb1f9e879113ea23e49245d732af7eef58357b9f822bf7ef92dd613
|
7
|
+
data.tar.gz: e12509e0e4efa91597e6cfdc4b578253647c0a1a4a8683d6f3c9714346f0a6ab9bc26ce5d4a8d35a78f814352f0e063b0f48d24a2075785c4de6230885bd3a04
|
data/.codeclimate.yml
CHANGED
data/.travis.yml
CHANGED
@@ -1,24 +1,21 @@
|
|
1
|
-
bundler_args: --without debug
|
1
|
+
bundler_args: "--without debug"
|
2
2
|
cache: bundler
|
3
|
-
script:
|
4
|
-
|
5
|
-
|
3
|
+
script: bundle exec rake test
|
4
|
+
dist: focal
|
6
5
|
rvm:
|
7
|
-
- 2.
|
8
|
-
- 2.3
|
9
|
-
-
|
10
|
-
|
6
|
+
- 2.6.7
|
7
|
+
- 2.7.3
|
8
|
+
- 3.0.1
|
11
9
|
gemfile:
|
12
10
|
- gemfiles/rails_5.gemfile
|
13
11
|
- gemfiles/rails_6.gemfile
|
14
12
|
|
15
13
|
matrix:
|
16
14
|
exclude:
|
17
|
-
- rvm:
|
18
|
-
gemfile: gemfiles/
|
19
|
-
- rvm: 2.3.5
|
20
|
-
gemfile: gemfiles/rails_6.gemfile
|
15
|
+
- rvm: 3.0.1
|
16
|
+
gemfile: gemfiles/rails_5.gemfile
|
21
17
|
|
22
18
|
addons:
|
23
19
|
code_climate:
|
24
|
-
repo_token:
|
20
|
+
repo_token:
|
21
|
+
secure: WBszVdtEvWM2KugFre9BpwkCduY6hjrmK7xo1GLiru4NMqr4ZoRXruQ5ijhZE79YqduR6zudKr72g9yG4R+4CK7ghYu4x5JB76IW8gFWpI9teTWrF4hdSbJgwxSH5JNkqWF4f6ic4Xr1Vgc43agzt+1KmA9imoGs2Q0EbAY3H2M=
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,33 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
### 2.2.2 - 2021-11-08
|
4
|
+
|
5
|
+
Fix
|
6
|
+
- Render values in columns (https://github.com/varvet/godmin/pull/263)
|
7
|
+
- Correct README to match Godmin 2 (https://github.com/varvet/godmin/pull/262)
|
8
|
+
|
9
|
+
### 2.2.1 - 2021-05-20
|
10
|
+
|
11
|
+
Fix
|
12
|
+
- Use Pundit >= 2.0.0 so that namespaces are handled correctly (https://github.com/varvet/godmin/pull/260)
|
13
|
+
|
14
|
+
### 2.2.0 - 2021-05-20
|
15
|
+
|
16
|
+
Other
|
17
|
+
- Build and test against Ruby 3.0
|
18
|
+
|
19
|
+
Bug fixes
|
20
|
+
- Regression: within an Engine, always look for Pundit policies in the engine (https://github.com/varvet/godmin/pull/259)
|
21
|
+
|
22
|
+
### 2.1.0 - 2021-05-10
|
23
|
+
|
24
|
+
Bug fixes
|
25
|
+
- Use symbol in path for compatibility with the latest Rails security patches (https://github.com/varvet/godmin/pull/256)
|
26
|
+
|
27
|
+
Other
|
28
|
+
- Build and test against Ruby 2.6 and 2.7
|
29
|
+
- Stop building and testing against unsupported rubies (2.5 and older). These may still work and PRs may still be accepted.
|
30
|
+
|
3
31
|
### 2.0.0 - 2019-12-06
|
4
32
|
|
5
33
|
Features
|
data/README.md
CHANGED
@@ -2,9 +2,8 @@
|
|
2
2
|
|
3
3
|
[![Gem Version](http://img.shields.io/gem/v/godmin.svg)](https://rubygems.org/gems/godmin)
|
4
4
|
[![Build Status](https://img.shields.io/travis/varvet/godmin/master.svg)](https://travis-ci.org/varvet/godmin)
|
5
|
-
[![Code Climate](https://
|
6
|
-
|
7
|
-
**If you are looking for the current stable version, which is Rails 4+ compatible, see the [v1.5](https://github.com/varvet/godmin/tree/v1.5) branch**
|
5
|
+
[![Code Climate](https://api.codeclimate.com/v1/badges/d8e5c7c54c1dba073689/maintainability)](https://codeclimate.com/github/varvet/godmin)
|
6
|
+
[![Test Coverage](https://api.codeclimate.com/v1/badges/d8e5c7c54c1dba073689/test_coverage)](https://codeclimate.com/github/varvet/godmin)
|
8
7
|
|
9
8
|
Godmin is an admin framework for Rails 5+. Use it to build dedicated admin sections for your apps, or stand alone admin apps such as internal tools. It has support for common features such as scoping, filtering and performing batch actions on your models. Check out the [demo app](http://godmin-sandbox.herokuapp.com) and its [source code](https://github.com/varvet/godmin-sandbox) to get a feel for how it works.
|
10
9
|
|
@@ -734,7 +733,7 @@ module Admin
|
|
734
733
|
include Godmin::ApplicationController
|
735
734
|
include Godmin::Authentication
|
736
735
|
|
737
|
-
def
|
736
|
+
def authenticate
|
738
737
|
authenticate_user!
|
739
738
|
end
|
740
739
|
|
@@ -873,6 +872,51 @@ class ArticlesController < ApplicationController
|
|
873
872
|
end
|
874
873
|
```
|
875
874
|
|
875
|
+
### Authorization in Engines
|
876
|
+
|
877
|
+
When Godmin is installed as an engine, it expects policies to be defined
|
878
|
+
within the engine: eg. `Admin::ArticlePolicy` defined in
|
879
|
+
`admin/app/policies/article_policy.rb`.
|
880
|
+
|
881
|
+
If your admin application is itself broken up into several engines, then
|
882
|
+
either
|
883
|
+
|
884
|
+
1. the policies for those engines need to live in the main engine, or
|
885
|
+
2. those engines need to be namespaced under the namespace of the main engine.
|
886
|
+
|
887
|
+
Here is one example of a directory structure for approach 2:
|
888
|
+
|
889
|
+
```
|
890
|
+
admin
|
891
|
+
├── app
|
892
|
+
│ └── policies
|
893
|
+
│ └── admin
|
894
|
+
│ └── article_policy.rb
|
895
|
+
└── engines
|
896
|
+
└── content
|
897
|
+
└── policies
|
898
|
+
└── admin
|
899
|
+
└── content
|
900
|
+
└── text_block_policy.rb
|
901
|
+
app
|
902
|
+
└── models
|
903
|
+
└── article.rb
|
904
|
+
engines
|
905
|
+
└── content
|
906
|
+
└── models
|
907
|
+
└── content
|
908
|
+
└── text_block.rb
|
909
|
+
```
|
910
|
+
```ruby
|
911
|
+
# admin/engines/content/policies/admin/content/text_block_policy.rb
|
912
|
+
module Admin
|
913
|
+
module Content
|
914
|
+
class TextBlockPolicy < ::Admin::ApplicationPolicy
|
915
|
+
end
|
916
|
+
end
|
917
|
+
end
|
918
|
+
```
|
919
|
+
|
876
920
|
## Localization
|
877
921
|
|
878
922
|
Godmin supports localization out of the box. For a list of translatable strings, [look here](https://github.com/varvet/godmin/blob/master/config/locales/en.yml).
|
data/Rakefile
CHANGED
@@ -36,14 +36,14 @@ namespace :sandbox do
|
|
36
36
|
task :deploy do
|
37
37
|
message = "Generated from: https://github.com/varvet/godmin/commit/#{`git rev-parse HEAD`.strip}"
|
38
38
|
template_path = File.expand_path("../template.rb", __FILE__)
|
39
|
-
Bundler.
|
39
|
+
Bundler.with_unbundled_env do
|
40
40
|
Dir.mktmpdir do |dir|
|
41
41
|
Dir.chdir(dir)
|
42
|
-
system("git clone
|
42
|
+
system("git clone git@github.com:varvet/godmin-sandbox.git")
|
43
43
|
if $CHILD_STATUS.success?
|
44
44
|
Dir.chdir("godmin-sandbox")
|
45
45
|
system("rm -rf *")
|
46
|
-
system("rails new . -d postgresql -m #{template_path} --without-engine --skip-spring")
|
46
|
+
system("rails _5.2.5_ new . -d postgresql -m #{template_path} --without-engine --skip-spring")
|
47
47
|
if $CHILD_STATUS.success?
|
48
48
|
system("git add --all")
|
49
49
|
system("git commit -m '#{message}'")
|
@@ -1,3 +1,3 @@
|
|
1
1
|
<% if policy(@resource_service.build_resource({})).new? %>
|
2
|
-
<%= link_to t("helpers.submit.create", model: @resource_class.model_name.human), [:new, *@resource_parents, @resource_class.model_name.singular_route_key], class: "btn btn-default" %>
|
2
|
+
<%= link_to t("helpers.submit.create", model: @resource_class.model_name.human), [:new, *@resource_parents, @resource_class.model_name.singular_route_key.to_sym], class: "btn btn-default" %>
|
3
3
|
<% end %>
|
@@ -27,14 +27,14 @@
|
|
27
27
|
</div>
|
28
28
|
<div class="pagination-entries pull-right hidden-xs">
|
29
29
|
<% if @resources.length == 0 %>
|
30
|
-
<%= translate_scoped("pagination.entries.zero",
|
30
|
+
<%= translate_scoped("pagination.entries.zero",
|
31
31
|
resource: @resource_class.model_name.human(count: @resources.length).downcase
|
32
|
-
|
32
|
+
) %>
|
33
33
|
<% else %>
|
34
|
-
<%= translate_scoped("pagination.entries.other",
|
34
|
+
<%= translate_scoped("pagination.entries.other",
|
35
35
|
resource: @resource_class.model_name.human(count: @resources.length).downcase,
|
36
36
|
count: @resources.length,
|
37
37
|
total: @resource_service.paginator.total_resources
|
38
|
-
|
38
|
+
) %>
|
39
39
|
<% end %>
|
40
40
|
</div>
|
data/gemfiles/rails_5.gemfile
CHANGED
data/gemfiles/rails_6.gemfile
CHANGED
data/godmin.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |gem|
|
|
25
25
|
gem.add_dependency "csv_builder", "~> 2.1"
|
26
26
|
gem.add_dependency "jquery-rails", [">= 4.0", "< 5.0"]
|
27
27
|
gem.add_dependency "momentjs-rails", "~> 2.8"
|
28
|
-
gem.add_dependency "pundit", [">=
|
28
|
+
gem.add_dependency "pundit", [">= 2.0.0", "< 3.0"]
|
29
29
|
gem.add_dependency "rails", [">= 5.0", "< 7.0"]
|
30
30
|
gem.add_dependency "sass-rails", [">= 5.0", "< 7.0"]
|
31
31
|
gem.add_dependency "selectize-rails", "~> 0.12"
|
data/lib/godmin/authorization.rb
CHANGED
@@ -13,8 +13,42 @@ module Godmin
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
+
def policy(record)
|
17
|
+
policies[record] ||= Pundit.policy!(pundit_user, namespaced_record(record))
|
18
|
+
end
|
19
|
+
|
16
20
|
def pundit_user
|
17
21
|
admin_user
|
18
22
|
end
|
23
|
+
|
24
|
+
def namespaced_record(record)
|
25
|
+
return record unless engine_wrapper.namespaced?
|
26
|
+
|
27
|
+
class_name = find_class_name(record)
|
28
|
+
if already_namespaced?(class_name)
|
29
|
+
record
|
30
|
+
else
|
31
|
+
engine_wrapper.namespaced_path.map(&:to_sym) << record
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# Borrowed from Pundit::PolicyFinder
|
36
|
+
def find_class_name(subject)
|
37
|
+
if subject.respond_to?(:model_name)
|
38
|
+
subject.model_name
|
39
|
+
elsif subject.class.respond_to?(:model_name)
|
40
|
+
subject.class.model_name
|
41
|
+
elsif subject.is_a?(Class)
|
42
|
+
subject
|
43
|
+
elsif subject.is_a?(Symbol)
|
44
|
+
subject.to_s.camelize
|
45
|
+
else
|
46
|
+
subject.class
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def already_namespaced?(subject)
|
51
|
+
subject.to_s.start_with?("#{engine_wrapper.namespace.name}::")
|
52
|
+
end
|
19
53
|
end
|
20
54
|
end
|
data/lib/godmin/version.rb
CHANGED
data/template.rb
CHANGED
@@ -21,6 +21,7 @@ def install_standalone
|
|
21
21
|
modify_author_service
|
22
22
|
modify_article_controller
|
23
23
|
modify_article_service
|
24
|
+
modify_readme
|
24
25
|
|
25
26
|
migrate_and_seed
|
26
27
|
end
|
@@ -64,6 +65,7 @@ def install_engine
|
|
64
65
|
modify_author_service("admin")
|
65
66
|
modify_article_controller("admin")
|
66
67
|
modify_article_service("admin")
|
68
|
+
modify_readme
|
67
69
|
|
68
70
|
migrate_and_seed
|
69
71
|
end
|
@@ -308,6 +310,18 @@ def modify_author_service(namespace = nil)
|
|
308
310
|
end
|
309
311
|
end
|
310
312
|
|
313
|
+
def modify_readme
|
314
|
+
readme_file = "README.md"
|
315
|
+
run "rm #{readme_file}"
|
316
|
+
readme_text = <<~README
|
317
|
+
# README
|
318
|
+
|
319
|
+
This is the source code for a demo application of the [Godmin](https://github.com/varvet/godmin) admin framework for Rails.
|
320
|
+
It is generated by running `rake sandbox:deploy` inside the Godmin repo.
|
321
|
+
README
|
322
|
+
File.open(readme_file, 'w') { |file| file.write(readme_text) }
|
323
|
+
end
|
324
|
+
|
311
325
|
def migrate_and_seed
|
312
326
|
rake("db:migrate")
|
313
327
|
rake("db:seed")
|
@@ -8,6 +8,20 @@ module Admin
|
|
8
8
|
"admin"
|
9
9
|
end
|
10
10
|
|
11
|
+
def new
|
12
|
+
# The following calls to #policy are to check that the Authorization
|
13
|
+
# module can handle various different scenarios:
|
14
|
+
policy(Magazine).index?
|
15
|
+
policy(::Magazine).index?
|
16
|
+
policy(Magazine.new).index?
|
17
|
+
policy(Magazine.all).index?
|
18
|
+
policy(Admin::Magazine).index?
|
19
|
+
policy(Admin::Magazine.new).index?
|
20
|
+
policy(Admin::Magazine.where(name: "name")).index?
|
21
|
+
|
22
|
+
super
|
23
|
+
end
|
24
|
+
|
11
25
|
def resource_service_class
|
12
26
|
Admin::ArticleService
|
13
27
|
end
|
data/test/dummy/db/schema.rb
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
# of editing this file, please use the migrations feature of Active Record to
|
3
3
|
# incrementally modify your database, and then regenerate this schema definition.
|
4
4
|
#
|
5
|
-
#
|
6
|
-
#
|
7
|
-
#
|
8
|
-
# from scratch.
|
9
|
-
#
|
5
|
+
# This file is the source Rails uses to define your schema when running `bin/rails
|
6
|
+
# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
|
7
|
+
# be faster and is potentially less error prone than running all of your
|
8
|
+
# migrations from scratch. Old migrations may fail to apply correctly if those
|
9
|
+
# migrations use external dependencies or application code.
|
10
10
|
#
|
11
11
|
# It's strongly recommended that you check this file into your version control system.
|
12
12
|
|
13
|
-
ActiveRecord::Schema.define(version:
|
13
|
+
ActiveRecord::Schema.define(version: 2021_05_19_215502) do
|
14
14
|
|
15
15
|
create_table "admin_users", force: :cascade do |t|
|
16
16
|
t.string "email"
|
@@ -43,4 +43,11 @@ ActiveRecord::Schema.define(version: 20170207081043) do
|
|
43
43
|
t.index ["article_id"], name: "index_comments_on_article_id"
|
44
44
|
end
|
45
45
|
|
46
|
+
create_table "magazines", force: :cascade do |t|
|
47
|
+
t.string "name"
|
48
|
+
t.datetime "created_at", precision: 6, null: false
|
49
|
+
t.datetime "updated_at", precision: 6, null: false
|
50
|
+
end
|
51
|
+
|
52
|
+
add_foreign_key "comments", "articles"
|
46
53
|
end
|
@@ -6,6 +6,7 @@ module Godmin
|
|
6
6
|
tests ResourceGenerator
|
7
7
|
destination File.expand_path("../../tmp", __FILE__)
|
8
8
|
setup :prepare_destination
|
9
|
+
teardown :prepare_destination
|
9
10
|
|
10
11
|
def test_resource_generator_in_standalone_install
|
11
12
|
system "cd #{destination_root} && rails new . --skip-test --skip-spring --skip-bundle --skip-git --quiet"
|
@@ -34,4 +34,12 @@ class AuthorizationTest < ActionDispatch::IntegrationTest
|
|
34
34
|
visit admin.authorized_articles_path
|
35
35
|
assert_equal 403, page.status_code
|
36
36
|
end
|
37
|
+
|
38
|
+
def test_uses_engine_policy_in_engine?
|
39
|
+
visit admin.new_authorized_article_path
|
40
|
+
|
41
|
+
assert_equal 200, page.status_code
|
42
|
+
|
43
|
+
assert page.has_content?("Can't index"), "when used in an engine, the `policy` method is using the policy from the main app, not the engine"
|
44
|
+
end
|
37
45
|
end
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: godmin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jens Ljungblad
|
8
8
|
- Linus Pettersson
|
9
9
|
- Varvet
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2021-11-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bcrypt
|
@@ -114,20 +114,20 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
117
|
+
version: 2.0.0
|
118
118
|
- - "<"
|
119
119
|
- !ruby/object:Gem::Version
|
120
|
-
version: '
|
120
|
+
version: '3.0'
|
121
121
|
type: :runtime
|
122
122
|
prerelease: false
|
123
123
|
version_requirements: !ruby/object:Gem::Requirement
|
124
124
|
requirements:
|
125
125
|
- - ">="
|
126
126
|
- !ruby/object:Gem::Version
|
127
|
-
version:
|
127
|
+
version: 2.0.0
|
128
128
|
- - "<"
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: '
|
130
|
+
version: '3.0'
|
131
131
|
- !ruby/object:Gem::Dependency
|
132
132
|
name: rails
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -432,7 +432,9 @@ files:
|
|
432
432
|
- test/dummy/admin/app/controllers/admin/articles_controller.rb
|
433
433
|
- test/dummy/admin/app/controllers/admin/authorized_articles_controller.rb
|
434
434
|
- test/dummy/admin/app/models/admin/article.rb
|
435
|
+
- test/dummy/admin/app/models/admin/magazine.rb
|
435
436
|
- test/dummy/admin/app/policies/admin/article_policy.rb
|
437
|
+
- test/dummy/admin/app/policies/admin/magazine_policy.rb
|
436
438
|
- test/dummy/admin/app/services/admin/article_service.rb
|
437
439
|
- test/dummy/admin/app/views/admin/articles/.keep
|
438
440
|
- test/dummy/admin/app/views/admin/articles/columns/.keep
|
@@ -461,6 +463,7 @@ files:
|
|
461
463
|
- test/dummy/app/models/another_admin_user.rb
|
462
464
|
- test/dummy/app/models/article.rb
|
463
465
|
- test/dummy/app/models/comment.rb
|
466
|
+
- test/dummy/app/models/magazine.rb
|
464
467
|
- test/dummy/app/policies/article_policy.rb
|
465
468
|
- test/dummy/app/services/article_service.rb
|
466
469
|
- test/dummy/app/services/comment_service.rb
|
@@ -494,6 +497,7 @@ files:
|
|
494
497
|
- test/dummy/db/migrate/20150907133753_create_admin_users.rb
|
495
498
|
- test/dummy/db/migrate/20160713134238_create_comment.rb
|
496
499
|
- test/dummy/db/migrate/20170207081043_create_another_admin_user.rb
|
500
|
+
- test/dummy/db/migrate/20210519215502_create_magazines.rb
|
497
501
|
- test/dummy/db/schema.rb
|
498
502
|
- test/dummy/lib/assets/.keep
|
499
503
|
- test/dummy/log/.keep
|
@@ -534,7 +538,7 @@ homepage: https://github.com/varvet/godmin
|
|
534
538
|
licenses:
|
535
539
|
- MIT
|
536
540
|
metadata: {}
|
537
|
-
post_install_message:
|
541
|
+
post_install_message:
|
538
542
|
rdoc_options: []
|
539
543
|
require_paths:
|
540
544
|
- lib
|
@@ -549,8 +553,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
549
553
|
- !ruby/object:Gem::Version
|
550
554
|
version: '0'
|
551
555
|
requirements: []
|
552
|
-
rubygems_version: 3.
|
553
|
-
signing_key:
|
556
|
+
rubygems_version: 3.1.6
|
557
|
+
signing_key:
|
554
558
|
specification_version: 4
|
555
559
|
summary: Godmin is an admin framework for Rails 5+
|
556
560
|
test_files:
|
@@ -562,7 +566,9 @@ test_files:
|
|
562
566
|
- test/dummy/admin/app/controllers/admin/articles_controller.rb
|
563
567
|
- test/dummy/admin/app/controllers/admin/authorized_articles_controller.rb
|
564
568
|
- test/dummy/admin/app/models/admin/article.rb
|
569
|
+
- test/dummy/admin/app/models/admin/magazine.rb
|
565
570
|
- test/dummy/admin/app/policies/admin/article_policy.rb
|
571
|
+
- test/dummy/admin/app/policies/admin/magazine_policy.rb
|
566
572
|
- test/dummy/admin/app/services/admin/article_service.rb
|
567
573
|
- test/dummy/admin/app/views/admin/articles/.keep
|
568
574
|
- test/dummy/admin/app/views/admin/articles/columns/.keep
|
@@ -591,6 +597,7 @@ test_files:
|
|
591
597
|
- test/dummy/app/models/another_admin_user.rb
|
592
598
|
- test/dummy/app/models/article.rb
|
593
599
|
- test/dummy/app/models/comment.rb
|
600
|
+
- test/dummy/app/models/magazine.rb
|
594
601
|
- test/dummy/app/policies/article_policy.rb
|
595
602
|
- test/dummy/app/services/article_service.rb
|
596
603
|
- test/dummy/app/services/comment_service.rb
|
@@ -624,6 +631,7 @@ test_files:
|
|
624
631
|
- test/dummy/db/migrate/20150907133753_create_admin_users.rb
|
625
632
|
- test/dummy/db/migrate/20160713134238_create_comment.rb
|
626
633
|
- test/dummy/db/migrate/20170207081043_create_another_admin_user.rb
|
634
|
+
- test/dummy/db/migrate/20210519215502_create_magazines.rb
|
627
635
|
- test/dummy/db/schema.rb
|
628
636
|
- test/dummy/lib/assets/.keep
|
629
637
|
- test/dummy/log/.keep
|