activeadmin 2.5.0 → 2.8.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of activeadmin might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +120 -6
- data/CONTRIBUTING.md +11 -57
- data/README.md +2 -2
- data/app/assets/javascripts/active_admin/base.js +26 -18
- data/app/assets/stylesheets/active_admin/_header.scss +37 -3
- data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
- data/app/assets/stylesheets/active_admin/mixins/_variables.scss +3 -0
- data/app/javascript/active_admin/base.js +9 -0
- data/app/javascript/active_admin/initializers/per-page.js +1 -1
- data/app/javascript/active_admin/lib/checkbox-toggler.js +3 -3
- data/app/javascript/active_admin/lib/dropdown-menu.js +1 -1
- data/app/javascript/active_admin/lib/modal-dialog.js +7 -7
- data/app/javascript/active_admin/lib/per-page.js +1 -1
- data/app/javascript/active_admin/lib/table-checkbox-toggler.js +1 -1
- data/app/views/layouts/active_admin_logged_out.html.erb +15 -5
- data/config/locales/ar.yml +6 -6
- data/config/locales/en-CA.yml +3 -3
- data/config/locales/en-GB.yml +3 -3
- data/config/locales/en.yml +3 -3
- data/config/locales/es-MX.yml +2 -1
- data/config/locales/es.yml +5 -5
- data/config/locales/fr.yml +4 -4
- data/config/locales/it.yml +18 -0
- data/config/locales/ja.yml +3 -3
- data/config/locales/lv.yml +2 -2
- data/config/locales/vi.yml +6 -5
- data/docs/0-installation.md +26 -2
- data/docs/11-decorators.md +16 -5
- data/docs/2-resource-customization.md +10 -1
- data/docs/3-index-pages.md +1 -1
- data/docs/9-batch-actions.md +2 -2
- data/docs/Gemfile +2 -2
- data/docs/Gemfile.lock +93 -84
- data/docs/_includes/top-menu.html +1 -1
- data/docs/documentation.md +1 -1
- data/docs/index.html +6 -6
- data/lib/active_admin.rb +60 -60
- data/lib/active_admin/application.rb +13 -13
- data/lib/active_admin/application_settings.rb +3 -3
- data/lib/active_admin/authorization_adapter.rb +3 -3
- data/lib/active_admin/base_controller.rb +4 -4
- data/lib/active_admin/base_controller/authorization.rb +13 -12
- data/lib/active_admin/batch_actions/controller.rb +3 -3
- data/lib/active_admin/batch_actions/resource_extension.rb +9 -8
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +3 -3
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +6 -6
- data/lib/active_admin/batch_actions/views/selection_cells.rb +3 -3
- data/lib/active_admin/cancan_adapter.rb +1 -1
- data/lib/active_admin/collection_decorator.rb +31 -0
- data/lib/active_admin/csv_builder.rb +11 -7
- data/lib/active_admin/dependency.rb +11 -11
- data/lib/active_admin/devise.rb +5 -5
- data/lib/active_admin/dsl.rb +1 -1
- data/lib/active_admin/dynamic_settings_node.rb +2 -2
- data/lib/active_admin/engine.rb +3 -3
- data/lib/active_admin/filters.rb +7 -7
- data/lib/active_admin/filters/active.rb +1 -1
- data/lib/active_admin/filters/active_filter.rb +5 -4
- data/lib/active_admin/filters/active_sidebar.rb +5 -5
- data/lib/active_admin/filters/forms.rb +6 -6
- data/lib/active_admin/filters/formtastic_addons.rb +1 -6
- data/lib/active_admin/filters/resource_extension.rb +1 -1
- data/lib/active_admin/form_builder.rb +21 -19
- data/lib/active_admin/generators/boilerplate.rb +1 -1
- data/lib/active_admin/helpers/optional_display.rb +2 -2
- data/lib/active_admin/inputs/datepicker_input.rb +1 -1
- data/lib/active_admin/inputs/filters/base.rb +1 -1
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +4 -4
- data/lib/active_admin/inputs/filters/boolean_input.rb +1 -1
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -1
- data/lib/active_admin/inputs/filters/date_range_input.rb +12 -9
- data/lib/active_admin/inputs/filters/select_input.rb +2 -2
- data/lib/active_admin/localizers.rb +1 -1
- data/lib/active_admin/localizers/resource_localizer.rb +3 -3
- data/lib/active_admin/menu.rb +6 -3
- data/lib/active_admin/menu_item.rb +7 -7
- data/lib/active_admin/namespace.rb +12 -12
- data/lib/active_admin/namespace_settings.rb +8 -5
- data/lib/active_admin/order_clause.rb +1 -1
- data/lib/active_admin/orm/active_record.rb +1 -1
- data/lib/active_admin/orm/active_record/comments.rb +19 -19
- data/lib/active_admin/orm/active_record/comments/comment.rb +3 -3
- data/lib/active_admin/orm/active_record/comments/views.rb +2 -2
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +19 -19
- data/lib/active_admin/page.rb +1 -1
- data/lib/active_admin/pundit_adapter.rb +5 -5
- data/lib/active_admin/resource.rb +17 -17
- data/lib/active_admin/resource/action_items.rb +5 -5
- data/lib/active_admin/resource/attributes.rb +1 -1
- data/lib/active_admin/resource/belongs_to.rb +2 -2
- data/lib/active_admin/resource/controllers.rb +1 -1
- data/lib/active_admin/resource/menu.rb +4 -4
- data/lib/active_admin/resource/naming.rb +5 -5
- data/lib/active_admin/resource/routes.rb +5 -5
- data/lib/active_admin/resource/scope_to.rb +7 -7
- data/lib/active_admin/resource/sidebars.rb +1 -1
- data/lib/active_admin/resource_controller.rb +12 -11
- data/lib/active_admin/resource_controller/data_access.rb +1 -1
- data/lib/active_admin/resource_controller/decorators.rb +6 -26
- data/lib/active_admin/resource_controller/streaming.rb +7 -6
- data/lib/active_admin/resource_dsl.rb +5 -5
- data/lib/active_admin/scope.rb +6 -6
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_factory.rb +17 -17
- data/lib/active_admin/view_helpers.rb +1 -1
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +3 -3
- data/lib/active_admin/view_helpers/display_helper.rb +5 -5
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -1
- data/lib/active_admin/view_helpers/fields_for.rb +2 -2
- data/lib/active_admin/views.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +5 -5
- data/lib/active_admin/views/components/attributes_table.rb +5 -5
- data/lib/active_admin/views/components/blank_slate.rb +1 -1
- data/lib/active_admin/views/components/dropdown_menu.rb +8 -8
- data/lib/active_admin/views/components/index_list.rb +3 -3
- data/lib/active_admin/views/components/menu.rb +1 -1
- data/lib/active_admin/views/components/menu_item.rb +4 -4
- data/lib/active_admin/views/components/paginated_collection.rb +18 -18
- data/lib/active_admin/views/components/panel.rb +1 -1
- data/lib/active_admin/views/components/scopes.rb +7 -5
- data/lib/active_admin/views/components/site_title.rb +1 -1
- data/lib/active_admin/views/components/status_tag.rb +11 -11
- data/lib/active_admin/views/components/table_for.rb +17 -17
- data/lib/active_admin/views/components/tabs.rb +3 -3
- data/lib/active_admin/views/footer.rb +2 -1
- data/lib/active_admin/views/header.rb +2 -2
- data/lib/active_admin/views/index_as_blog.rb +1 -1
- data/lib/active_admin/views/index_as_grid.rb +1 -1
- data/lib/active_admin/views/index_as_table.rb +16 -16
- data/lib/active_admin/views/pages/base.rb +14 -10
- data/lib/active_admin/views/pages/index.rb +14 -13
- data/lib/active_admin/views/tabbed_navigation.rb +2 -2
- data/lib/active_admin/views/title_bar.rb +1 -1
- data/lib/activeadmin.rb +1 -1
- data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
- data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
- data/lib/generators/active_admin/devise/devise_generator.rb +5 -5
- data/lib/generators/active_admin/install/install_generator.rb +14 -8
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +9 -2
- data/lib/generators/active_admin/page/page_generator.rb +1 -1
- data/lib/generators/active_admin/resource/resource_generator.rb +3 -3
- data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
- data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
- data/lib/generators/active_admin/webpacker/webpacker_generator.rb +26 -0
- data/lib/ransack_ext.rb +8 -8
- metadata +20 -8
@@ -7,13 +7,13 @@ module ActiveAdmin
|
|
7
7
|
desc "Creates an admin user and uses Devise for authentication"
|
8
8
|
argument :name, type: :string, default: "AdminUser"
|
9
9
|
|
10
|
-
class_option
|
11
|
-
|
10
|
+
class_option :registerable, type: :boolean, default: false,
|
11
|
+
desc: "Should the generated resource be registerable?"
|
12
12
|
|
13
13
|
RESERVED_NAMES = [:active_admin_user]
|
14
14
|
|
15
|
-
class_option
|
16
|
-
|
15
|
+
class_option :default_user, type: :boolean, default: true,
|
16
|
+
desc: "Should a default user be created inside the migration?"
|
17
17
|
|
18
18
|
def install_devise
|
19
19
|
begin
|
@@ -22,7 +22,7 @@ module ActiveAdmin
|
|
22
22
|
raise ActiveAdmin::GeneratorError, "#{e.message} If you don't want to use devise, run the generator with --skip-users."
|
23
23
|
end
|
24
24
|
|
25
|
-
require
|
25
|
+
require "devise"
|
26
26
|
|
27
27
|
initializer_file =
|
28
28
|
File.join(destination_root, "config", "initializers", "devise.rb")
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "rails/generators/active_record"
|
2
2
|
|
3
3
|
module ActiveAdmin
|
4
4
|
module Generators
|
@@ -8,22 +8,24 @@ module ActiveAdmin
|
|
8
8
|
|
9
9
|
hook_for :users, default: "devise", desc: "Admin user generator to run. Skip with --skip-users"
|
10
10
|
class_option :skip_comments, type: :boolean, default: false, desc: "Skip installation of comments"
|
11
|
+
class_option :use_webpacker, type: :boolean, default: false, desc: "Use Webpacker assets instead of Sprockets"
|
11
12
|
|
12
|
-
source_root File.expand_path(
|
13
|
+
source_root File.expand_path("templates", __dir__)
|
13
14
|
|
14
15
|
def copy_initializer
|
15
|
-
@underscored_user_name = name.underscore.gsub(
|
16
|
+
@underscored_user_name = name.underscore.gsub("/", "_")
|
16
17
|
@use_authentication_method = options[:users].present?
|
17
18
|
@skip_comments = options[:skip_comments]
|
18
|
-
|
19
|
+
@use_webpacker = options[:use_webpacker]
|
20
|
+
template "active_admin.rb.erb", "config/initializers/active_admin.rb"
|
19
21
|
end
|
20
22
|
|
21
23
|
def setup_directory
|
22
24
|
empty_directory "app/admin"
|
23
|
-
template
|
25
|
+
template "dashboard.rb", "app/admin/dashboard.rb"
|
24
26
|
if options[:users].present?
|
25
27
|
@user_class = name
|
26
|
-
template
|
28
|
+
template "admin_users.rb.erb", "app/admin/#{name.underscore.pluralize}.rb"
|
27
29
|
end
|
28
30
|
end
|
29
31
|
|
@@ -36,12 +38,16 @@ module ActiveAdmin
|
|
36
38
|
end
|
37
39
|
|
38
40
|
def create_assets
|
39
|
-
|
41
|
+
if options[:use_webpacker]
|
42
|
+
generate "active_admin:webpacker"
|
43
|
+
else
|
44
|
+
generate "active_admin:assets"
|
45
|
+
end
|
40
46
|
end
|
41
47
|
|
42
48
|
def create_migrations
|
43
49
|
unless options[:skip_comments]
|
44
|
-
migration_template
|
50
|
+
migration_template "migrations/create_active_admin_comments.rb.erb", "db/migrate/create_active_admin_comments.rb"
|
45
51
|
end
|
46
52
|
end
|
47
53
|
end
|
@@ -294,7 +294,7 @@ ActiveAdmin.setup do |config|
|
|
294
294
|
# config.include_default_association_filters = true
|
295
295
|
|
296
296
|
# config.maximum_association_filter_arity = 256 # default value of :unlimited will change to 256 in a future version
|
297
|
-
# config.filter_columns_for_large_association
|
297
|
+
# config.filter_columns_for_large_association = [
|
298
298
|
# :display_name,
|
299
299
|
# :full_name,
|
300
300
|
# :name,
|
@@ -303,7 +303,7 @@ ActiveAdmin.setup do |config|
|
|
303
303
|
# :title,
|
304
304
|
# :email,
|
305
305
|
# ]
|
306
|
-
# config.filter_method_for_large_association
|
306
|
+
# config.filter_method_for_large_association = '_starts_with'
|
307
307
|
|
308
308
|
# == Head
|
309
309
|
#
|
@@ -325,4 +325,11 @@ ActiveAdmin.setup do |config|
|
|
325
325
|
# You can inherit it with own class and inject it for all resources
|
326
326
|
#
|
327
327
|
# config.order_clause = MyOrderClause
|
328
|
+
|
329
|
+
# == Webpacker
|
330
|
+
#
|
331
|
+
# By default, Active Admin uses Sprocket's asset pipeline.
|
332
|
+
# You can switch to using Webpacker here.
|
333
|
+
#
|
334
|
+
<% unless @use_webpacker %># <% end %>config.use_webpacker = true
|
328
335
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module ActiveAdmin
|
2
2
|
module Generators
|
3
3
|
class PageGenerator < Rails::Generators::NamedBase
|
4
|
-
source_root File.expand_path(
|
4
|
+
source_root File.expand_path("templates", __dir__)
|
5
5
|
|
6
6
|
def generate_config_file
|
7
7
|
template "page.rb", "app/admin/#{file_path.tr('/', '_')}.rb"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "active_admin/generators/boilerplate"
|
2
2
|
|
3
3
|
module ActiveAdmin
|
4
4
|
module Generators
|
@@ -6,9 +6,9 @@ module ActiveAdmin
|
|
6
6
|
desc "Registers resources with Active Admin"
|
7
7
|
|
8
8
|
class_option :include_boilerplate, type: :boolean, default: false,
|
9
|
-
|
9
|
+
desc: "Generate boilerplate code for your resource."
|
10
10
|
|
11
|
-
source_root File.expand_path(
|
11
|
+
source_root File.expand_path("templates", __dir__)
|
12
12
|
|
13
13
|
def generate_config_file
|
14
14
|
@boilerplate = ActiveAdmin::Generators::Boilerplate.new(class_name)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
// Sass variable overrides must be declared before loading up Active Admin's styles.
|
2
|
+
//
|
3
|
+
// To view the variables that Active Admin provides, take a look at
|
4
|
+
// `app/assets/stylesheets/active_admin/mixins/_variables.scss` in the
|
5
|
+
// Active Admin source.
|
6
|
+
//
|
7
|
+
// For example, to change the sidebar width:
|
8
|
+
// $sidebar-width: 242px;
|
9
|
+
|
10
|
+
// Active Admin's got SASS!
|
11
|
+
@import "~@activeadmin/activeadmin/src/scss/mixins";
|
12
|
+
@import "~@activeadmin/activeadmin/src/scss/base";
|
13
|
+
|
14
|
+
// Overriding any non-variable Sass must be done after the fact.
|
15
|
+
// For example, to change the default status-tag color:
|
16
|
+
//
|
17
|
+
// .status_tag { background: #6090DB; }
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module ActiveAdmin
|
2
|
+
module Generators
|
3
|
+
class WebpackerGenerator < Rails::Generators::Base
|
4
|
+
|
5
|
+
source_root File.expand_path("templates", __dir__)
|
6
|
+
|
7
|
+
def install_assets
|
8
|
+
template "active_admin.js", "app/javascript/packs/active_admin.js"
|
9
|
+
template "active_admin.scss", "app/javascript/stylesheets/active_admin.scss"
|
10
|
+
template "print.scss", "app/javascript/packs/active_admin/print.scss"
|
11
|
+
|
12
|
+
copy_file "#{__dir__}/plugins/jquery.js", Rails.root.join("config/webpack/plugins/jquery.js").to_s
|
13
|
+
|
14
|
+
insert_into_file Rails.root.join("config/webpack/environment.js").to_s,
|
15
|
+
"const jquery = require('./plugins/jquery')\n",
|
16
|
+
after: /require\(('|")@rails\/webpacker\1\);?\n/
|
17
|
+
|
18
|
+
insert_into_file Rails.root.join("config/webpack/environment.js").to_s,
|
19
|
+
"environment.plugins.prepend('jquery', jquery)\n",
|
20
|
+
before: "module.exports"
|
21
|
+
|
22
|
+
run "yarn add @activeadmin/activeadmin"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/ransack_ext.rb
CHANGED
@@ -2,19 +2,19 @@
|
|
2
2
|
# identically to the versions given in Ransack.
|
3
3
|
#
|
4
4
|
Ransack.configure do |config|
|
5
|
-
{
|
5
|
+
{ "contains" => "cont", "starts_with" => "start", "ends_with" => "end" }.each do |old, current|
|
6
6
|
config.add_predicate old, Ransack::Constants::DERIVED_PREDICATES.detect { |q, _| q == current }[1]
|
7
7
|
end
|
8
8
|
|
9
|
-
{
|
9
|
+
{ "equals" => "eq", "greater_than" => "gt", "less_than" => "lt" }.each do |old, current|
|
10
10
|
config.add_predicate old, arel_predicate: current
|
11
11
|
end
|
12
12
|
|
13
|
-
config.add_predicate
|
14
|
-
|
15
|
-
|
13
|
+
config.add_predicate "gteq_datetime",
|
14
|
+
arel_predicate: "gteq",
|
15
|
+
formatter: ->(v) { v.beginning_of_day }
|
16
16
|
|
17
|
-
config.add_predicate
|
18
|
-
|
19
|
-
|
17
|
+
config.add_predicate "lteq_datetime",
|
18
|
+
arel_predicate: "lt",
|
19
|
+
formatter: ->(v) { v + 1.day }
|
20
20
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activeadmin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Charles Maresh
|
@@ -15,7 +15,7 @@ authors:
|
|
15
15
|
autorequire:
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
|
-
date:
|
18
|
+
date: 2020-09-28 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: arbre
|
@@ -41,16 +41,22 @@ dependencies:
|
|
41
41
|
name: formtastic
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- - "
|
44
|
+
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '3.1'
|
47
|
+
- - "<"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '5.0'
|
47
50
|
type: :runtime
|
48
51
|
prerelease: false
|
49
52
|
version_requirements: !ruby/object:Gem::Requirement
|
50
53
|
requirements:
|
51
|
-
- - "
|
54
|
+
- - ">="
|
52
55
|
- !ruby/object:Gem::Version
|
53
56
|
version: '3.1'
|
57
|
+
- - "<"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '5.0'
|
54
60
|
- !ruby/object:Gem::Dependency
|
55
61
|
name: formtastic_i18n
|
56
62
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,7 +108,7 @@ dependencies:
|
|
102
108
|
version: '1.0'
|
103
109
|
- - ">="
|
104
110
|
- !ruby/object:Gem::Version
|
105
|
-
version: 1.
|
111
|
+
version: 1.2.1
|
106
112
|
type: :runtime
|
107
113
|
prerelease: false
|
108
114
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -112,7 +118,7 @@ dependencies:
|
|
112
118
|
version: '1.0'
|
113
119
|
- - ">="
|
114
120
|
- !ruby/object:Gem::Version
|
115
|
-
version: 1.
|
121
|
+
version: 1.2.1
|
116
122
|
- !ruby/object:Gem::Dependency
|
117
123
|
name: railties
|
118
124
|
requirement: !ruby/object:Gem::Requirement
|
@@ -394,6 +400,7 @@ files:
|
|
394
400
|
- lib/active_admin/batch_actions/views/selection_cells.rb
|
395
401
|
- lib/active_admin/callbacks.rb
|
396
402
|
- lib/active_admin/cancan_adapter.rb
|
403
|
+
- lib/active_admin/collection_decorator.rb
|
397
404
|
- lib/active_admin/component.rb
|
398
405
|
- lib/active_admin/controller_action.rb
|
399
406
|
- lib/active_admin/csv_builder.rb
|
@@ -551,6 +558,11 @@ files:
|
|
551
558
|
- lib/generators/active_admin/page/templates/page.rb
|
552
559
|
- lib/generators/active_admin/resource/resource_generator.rb
|
553
560
|
- lib/generators/active_admin/resource/templates/admin.rb.erb
|
561
|
+
- lib/generators/active_admin/webpacker/plugins/jquery.js
|
562
|
+
- lib/generators/active_admin/webpacker/templates/active_admin.js
|
563
|
+
- lib/generators/active_admin/webpacker/templates/active_admin.scss
|
564
|
+
- lib/generators/active_admin/webpacker/templates/print.scss
|
565
|
+
- lib/generators/active_admin/webpacker/webpacker_generator.rb
|
554
566
|
- lib/ransack_ext.rb
|
555
567
|
- vendor/assets/javascripts/jquery-ui/data.js
|
556
568
|
- vendor/assets/javascripts/jquery-ui/disable-selection.js
|
@@ -592,14 +604,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
592
604
|
requirements:
|
593
605
|
- - ">="
|
594
606
|
- !ruby/object:Gem::Version
|
595
|
-
version: '2.
|
607
|
+
version: '2.5'
|
596
608
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
597
609
|
requirements:
|
598
610
|
- - ">="
|
599
611
|
- !ruby/object:Gem::Version
|
600
612
|
version: '0'
|
601
613
|
requirements: []
|
602
|
-
rubygems_version: 3.0.
|
614
|
+
rubygems_version: 3.2.0.rc.1
|
603
615
|
signing_key:
|
604
616
|
specification_version: 4
|
605
617
|
summary: Active Admin is a Ruby on Rails plugin for generating administration style
|