administrate 0.19.0 → 0.20.0
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 +4 -4
- data/app/assets/stylesheets/administrate/components/_field-unit.scss +7 -0
- data/app/controllers/administrate/application_controller.rb +1 -0
- data/app/controllers/concerns/administrate/punditize.rb +17 -21
- data/app/views/administrate/application/_form.html.erb +19 -4
- data/app/views/administrate/application/show.html.erb +18 -10
- data/app/views/fields/has_one/_form.html.erb +14 -4
- data/app/views/fields/has_one/_show.html.erb +18 -12
- data/docs/customizing_controller_actions.md +14 -0
- data/docs/customizing_dashboards.md +55 -2
- data/docs/getting_started.md +1 -1
- data/lib/administrate/base_dashboard.rb +18 -3
- data/lib/administrate/field/deferred.rb +1 -1
- data/lib/administrate/field/has_many.rb +5 -1
- data/lib/administrate/field/number.rb +2 -8
- data/lib/administrate/order.rb +11 -10
- data/lib/administrate/page/collection.rb +1 -0
- data/lib/administrate/page/form.rb +10 -2
- data/lib/administrate/page/show.rb +10 -2
- data/lib/administrate/version.rb +1 -1
- data/lib/administrate.rb +8 -4
- metadata +35 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eebcadb06ece9944279b1119e950922a388078a5c9ab5b95d6d8863c1e03994d
|
4
|
+
data.tar.gz: 96a697e2e10228a5f2772b1602985107f7ed428ca63d77c7d6e964a614659b9d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da130cb7cdcfd15321a653a59cfb499411f85324c19216097a6f4a76407268cc6691647e2ccdf86c367bd6c2e1491342324de89e22c9152eddbea8e6ba32b819
|
7
|
+
data.tar.gz: 8813f237457fa4e37abf8d5c350e4fb4f8f536583a6919764bc5c2abb0bc3b3fc436431b41e731722045179c45dcfef0d4c45d8c5534e7d26ee52d151252665f
|
@@ -2,6 +2,7 @@
|
|
2
2
|
@include administrate-clearfix;
|
3
3
|
align-items: center;
|
4
4
|
display: flex;
|
5
|
+
flex-wrap: wrap;
|
5
6
|
margin-bottom: $base-spacing;
|
6
7
|
position: relative;
|
7
8
|
width: 100%;
|
@@ -25,6 +26,12 @@
|
|
25
26
|
}
|
26
27
|
}
|
27
28
|
|
29
|
+
.field-unit__hint {
|
30
|
+
font-size: 90%;
|
31
|
+
margin-left: calc(15% + 2rem);
|
32
|
+
width: 100%;
|
33
|
+
}
|
34
|
+
|
28
35
|
.field-unit--nested {
|
29
36
|
border: $base-border;
|
30
37
|
margin-left: 7.5%;
|
@@ -9,31 +9,27 @@ module Administrate
|
|
9
9
|
include Pundit
|
10
10
|
end
|
11
11
|
|
12
|
-
|
13
|
-
private
|
14
|
-
|
15
|
-
def policy_namespace
|
16
|
-
[]
|
17
|
-
end
|
12
|
+
private
|
18
13
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
end
|
14
|
+
def policy_namespace
|
15
|
+
[]
|
16
|
+
end
|
23
17
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
18
|
+
def scoped_resource
|
19
|
+
namespaced_scope = policy_namespace + [super]
|
20
|
+
policy_scope!(pundit_user, namespaced_scope)
|
21
|
+
end
|
28
22
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
policy.send("#{action}?".to_sym)
|
33
|
-
end
|
23
|
+
def authorize_resource(resource)
|
24
|
+
namespaced_resource = policy_namespace + [resource]
|
25
|
+
authorize namespaced_resource
|
34
26
|
end
|
35
27
|
|
36
|
-
|
28
|
+
def authorized_action?(resource, action)
|
29
|
+
namespaced_resource = policy_namespace + [resource]
|
30
|
+
policy = Pundit.policy!(pundit_user, namespaced_resource)
|
31
|
+
policy.send("#{action}?".to_sym)
|
32
|
+
end
|
37
33
|
|
38
34
|
def policy_scope!(user, scope)
|
39
35
|
policy_scope_class = Pundit::PolicyFinder.new(scope).scope!
|
@@ -46,7 +42,7 @@ module Administrate
|
|
46
42
|
end
|
47
43
|
|
48
44
|
if policy_scope.respond_to? :resolve_admin
|
49
|
-
|
45
|
+
Administrate.deprecator.warn(
|
50
46
|
"Pundit policy scope `resolve_admin` method is deprecated. " +
|
51
47
|
"Please use a namespaced pundit policy instead.",
|
52
48
|
)
|
@@ -33,10 +33,25 @@ and renders all form fields for a resource's editable attributes.
|
|
33
33
|
</div>
|
34
34
|
<% end %>
|
35
35
|
|
36
|
-
<% page.attributes(controller.action_name).each do |
|
37
|
-
<
|
38
|
-
|
39
|
-
|
36
|
+
<% page.attributes(controller.action_name).each do |title, attributes| -%>
|
37
|
+
<fieldset class="<%= "field-unit--nested" if title.present? %>">
|
38
|
+
<% if title.present? %>
|
39
|
+
<legend><%= t "helpers.label.#{f.object_name}.#{title}", default: title %></legend>
|
40
|
+
<% end %>
|
41
|
+
|
42
|
+
<% attributes.each do |attribute| %>
|
43
|
+
<div class="field-unit field-unit--<%= attribute.html_class %> field-unit--<%= requireness(attribute) %>">
|
44
|
+
<%= render_field attribute, f: f %>
|
45
|
+
|
46
|
+
<% hint_key = "administrate.field_hints.#{page.resource_name}.#{attribute.name}" %>
|
47
|
+
<% if I18n.exists?(hint_key) -%>
|
48
|
+
<div class="field-unit__hint">
|
49
|
+
<%= I18n.t(hint_key) %>
|
50
|
+
</div>
|
51
|
+
<% end -%>
|
52
|
+
</div>
|
53
|
+
<% end %>
|
54
|
+
</fieldset>
|
40
55
|
<% end -%>
|
41
56
|
|
42
57
|
<div class="form-actions">
|
@@ -42,16 +42,24 @@ as well as a link to its edit page.
|
|
42
42
|
|
43
43
|
<section class="main-content__body">
|
44
44
|
<dl>
|
45
|
-
<% page.attributes.each do |
|
46
|
-
<
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
45
|
+
<% page.attributes.each do |title, attributes| %>
|
46
|
+
<fieldset class="<%= "field-unit--nested" if title.present? %>">
|
47
|
+
<% if title.present? %>
|
48
|
+
<legend><%= t "helpers.label.#{page.resource_name}.#{title}", default: title %></legend>
|
49
|
+
<% end %>
|
50
|
+
|
51
|
+
<% attributes.each do |attribute| %>
|
52
|
+
<dt class="attribute-label" id="<%= attribute.name %>">
|
53
|
+
<%= t(
|
54
|
+
"helpers.label.#{resource_name}.#{attribute.name}",
|
55
|
+
default: page.resource.class.human_attribute_name(attribute.name),
|
56
|
+
) %>
|
57
|
+
</dt>
|
58
|
+
|
59
|
+
<dd class="attribute-data attribute-data--<%=attribute.html_class%>"
|
60
|
+
><%= render_field attribute, page: page %></dd>
|
61
|
+
<% end %>
|
62
|
+
</fieldset>
|
55
63
|
<% end %>
|
56
64
|
</dl>
|
57
65
|
</section>
|
@@ -19,10 +19,20 @@ The form will be rendered as nested_from to parent relationship.
|
|
19
19
|
<%= f.fields_for field.attribute, field.data || field.nested_form.resource.class.new do |has_one_f| %>
|
20
20
|
<fieldset class="field-unit--nested">
|
21
21
|
<legend><%= t "helpers.label.#{f.object_name}.#{field.name}", default: field.name.titleize %></legend>
|
22
|
-
<% field.nested_form.attributes.each do |
|
23
|
-
|
24
|
-
|
25
|
-
|
22
|
+
<% field.nested_form.attributes.each do |title, attributes| -%>
|
23
|
+
|
24
|
+
<fieldset class="<%= "field-unit--nested" if title.present? %>">
|
25
|
+
<% if title.present? %>
|
26
|
+
<legend><%= t "helpers.label.#{f.object_name}.#{title}", default: title %></legend>
|
27
|
+
<% end %>
|
28
|
+
|
29
|
+
<% attributes.each do |attribute| %>
|
30
|
+
<div class="field-unit field-unit--<%= attribute.html_class %>">
|
31
|
+
<%= render_field attribute, f: has_one_f %>
|
32
|
+
</div>
|
33
|
+
<% end %>
|
34
|
+
</fieldset>
|
35
|
+
|
26
36
|
<% end -%>
|
27
37
|
</fieldset>
|
28
38
|
<% end %>
|
@@ -24,18 +24,24 @@ All show page attributes of has_one relationship would be rendered
|
|
24
24
|
[namespace, field.data],
|
25
25
|
) %>
|
26
26
|
</legend>
|
27
|
-
<% field.nested_show.attributes.each do |
|
28
|
-
<
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
27
|
+
<% field.nested_show.attributes.each do |title, attributes| -%>
|
28
|
+
<fieldset class="<%= "field-unit--nested" if title.present? %>">
|
29
|
+
<% if title.present? %>
|
30
|
+
<legend><%= t "helpers.label.#{namespace}.#{title}", default: title %></legend>
|
31
|
+
<% end %>
|
32
|
+
|
33
|
+
<% attributes.each do |attribute| %>
|
34
|
+
<dt class="attribute-label">
|
35
|
+
<%= t(
|
36
|
+
"helpers.label.#{field.associated_class_name.underscore}.#{attribute.name}",
|
37
|
+
default: attribute.name.titleize,
|
38
|
+
) %>
|
39
|
+
</dt>
|
40
|
+
<dd class="attribute-data attribute-data--<%= attribute.html_class %>">
|
41
|
+
<%= render_field attribute, { page: page } %>
|
42
|
+
</dd>
|
43
|
+
<% end %>
|
44
|
+
</fieldset>
|
39
45
|
<% end -%>
|
40
46
|
</fieldset>
|
41
47
|
<% end %>
|
@@ -93,3 +93,17 @@ To set custom redirects after the actions `create`, `update` and `destroy` you c
|
|
93
93
|
[namespace, requested_resource.some_other_resource]
|
94
94
|
end
|
95
95
|
```
|
96
|
+
|
97
|
+
## Creating Records
|
98
|
+
|
99
|
+
You can perform actions after creation by passing a `block` to `super` in the
|
100
|
+
`create` method. The block will only be called if the resource is successfully
|
101
|
+
created.
|
102
|
+
|
103
|
+
```ruby
|
104
|
+
def create
|
105
|
+
super do |resource|
|
106
|
+
# do something with the newly created resource
|
107
|
+
end
|
108
|
+
end
|
109
|
+
```
|
@@ -113,6 +113,9 @@ association `belongs_to :country`, from your model.
|
|
113
113
|
|
114
114
|
**Field::HasMany**
|
115
115
|
|
116
|
+
`:collection_attributes` - Set the columns to display in the show view.
|
117
|
+
Default is COLLECTION_ATTRIBUTES in dashboard.
|
118
|
+
|
116
119
|
`:limit` - The number of resources (paginated) to display in the show view. To disable pagination,
|
117
120
|
set this to `0` or `false`. Default is `5`.
|
118
121
|
|
@@ -168,8 +171,7 @@ more results than expected. Default is `false`.
|
|
168
171
|
and works by by passing a hash that includes the formatter (`formatter`) and
|
169
172
|
the options for the formatter (`formatter_options`). Defaults to the locale's
|
170
173
|
delimiter when `formatter_options` does not include a `delimiter`. See the
|
171
|
-
example below.
|
172
|
-
`ActiveSupport::NumberHelper.number_to_delimited` is supported.
|
174
|
+
example below. All helpers from `ActiveSupport::NumberHelper` are supported.
|
173
175
|
|
174
176
|
For example, you might use the following to display U.S. currency:
|
175
177
|
|
@@ -383,3 +385,54 @@ FORM_ATTRIBUTES_EDIT = [
|
|
383
385
|
```
|
384
386
|
|
385
387
|
Or for custom action with constant name `"FORM_ATTRIBUTES_#{action.upcase}"`
|
388
|
+
|
389
|
+
### Form Fields' Hints
|
390
|
+
|
391
|
+
You can show a brief text element below an input field by setting the
|
392
|
+
corresponding translation key using the path:
|
393
|
+
|
394
|
+
`administrate.field_hints.#{model_name}.#{field_name}`
|
395
|
+
|
396
|
+
For example, with a Customer dashboard with an email field you can add a
|
397
|
+
string value that will be used as text hint:
|
398
|
+
|
399
|
+
```yml
|
400
|
+
en:
|
401
|
+
administrate:
|
402
|
+
field_hints:
|
403
|
+
customer:
|
404
|
+
email: field_hint
|
405
|
+
```
|
406
|
+
|
407
|
+
## Grouped Attributes
|
408
|
+
|
409
|
+
You may have models with a large number of fields and therefore you might want to group them in a meaningul way:
|
410
|
+
|
411
|
+
```ruby
|
412
|
+
class UserDashboard < Administrate::BaseDashboard
|
413
|
+
SHOW_PAGE_ATTRIBUTES = {
|
414
|
+
"" => [:username],
|
415
|
+
"Personal Information" => [:first_name, :last_name, :email],
|
416
|
+
"Address" => [:address_line_one, :address_line_two, :address_city, :address_state, :address_country]
|
417
|
+
}
|
418
|
+
|
419
|
+
FORM_ATTRIBUTES = {
|
420
|
+
"" => [:username, :password, :password_confirmation],
|
421
|
+
"personal_information" => [:first_name, :last_name, :email],
|
422
|
+
"address" => [:address_line_one, :address_line_two, :address_city, :address_state, :address_country]
|
423
|
+
}
|
424
|
+
end
|
425
|
+
```
|
426
|
+
|
427
|
+
You can optionally translate your group labels:
|
428
|
+
|
429
|
+
```yaml
|
430
|
+
en:
|
431
|
+
helpers:
|
432
|
+
label:
|
433
|
+
user:
|
434
|
+
address: Address
|
435
|
+
personal_information: Personal Information
|
436
|
+
```
|
437
|
+
|
438
|
+
If not defined (see `SHOW_PAGE_ATTRIBUTES` above), Administrate will default to the given strings.
|
data/docs/getting_started.md
CHANGED
@@ -3,7 +3,7 @@ title: Getting Started
|
|
3
3
|
---
|
4
4
|
|
5
5
|
Administrate is released as a Ruby gem, and can be installed on Rails
|
6
|
-
applications version 6.0 or greater. We support Ruby
|
6
|
+
applications version 6.0 or greater. We support Ruby 3.0 and up.
|
7
7
|
|
8
8
|
First, add the following to your Gemfile:
|
9
9
|
|
@@ -69,7 +69,13 @@ module Administrate
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def permitted_attributes(action = nil)
|
72
|
-
form_attributes
|
72
|
+
attributes = form_attributes action
|
73
|
+
|
74
|
+
if attributes.is_a? Hash
|
75
|
+
attributes = attributes.values.flatten
|
76
|
+
end
|
77
|
+
|
78
|
+
attributes.map do |attr|
|
73
79
|
attribute_types[attr].permitted_attribute(
|
74
80
|
attr,
|
75
81
|
resource_class: self.class.model,
|
@@ -83,7 +89,11 @@ module Administrate
|
|
83
89
|
end
|
84
90
|
|
85
91
|
def collection_attributes
|
86
|
-
self.class::COLLECTION_ATTRIBUTES
|
92
|
+
if self.class::COLLECTION_ATTRIBUTES.is_a?(Hash)
|
93
|
+
self.class::COLLECTION_ATTRIBUTES.values.flatten
|
94
|
+
else
|
95
|
+
self.class::COLLECTION_ATTRIBUTES
|
96
|
+
end
|
87
97
|
end
|
88
98
|
|
89
99
|
def search_attributes
|
@@ -107,7 +117,12 @@ module Administrate
|
|
107
117
|
end
|
108
118
|
|
109
119
|
def item_associations
|
110
|
-
|
120
|
+
attributes = if show_page_attributes.is_a?(Hash)
|
121
|
+
show_page_attributes.values.flatten
|
122
|
+
else
|
123
|
+
show_page_attributes
|
124
|
+
end
|
125
|
+
attribute_associated attributes
|
111
126
|
end
|
112
127
|
|
113
128
|
private
|
@@ -22,7 +22,11 @@ module Administrate
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def associated_collection(order = self.order)
|
25
|
-
Administrate::Page::Collection.new(
|
25
|
+
Administrate::Page::Collection.new(
|
26
|
+
associated_dashboard,
|
27
|
+
order: order,
|
28
|
+
collection_attributes: options[:collection_attributes],
|
29
|
+
)
|
26
30
|
end
|
27
31
|
|
28
32
|
def attribute_key
|
@@ -38,14 +38,8 @@ module Administrate
|
|
38
38
|
formatter = options[:format][:formatter]
|
39
39
|
formatter_options = options[:format][:formatter_options].to_h
|
40
40
|
|
41
|
-
|
42
|
-
|
43
|
-
ActiveSupport::NumberHelper.number_to_delimited(
|
44
|
-
result, **formatter_options
|
45
|
-
)
|
46
|
-
else
|
47
|
-
result
|
48
|
-
end
|
41
|
+
ActiveSupport::NumberHelper.
|
42
|
+
try(formatter, result, **formatter_options) || result
|
49
43
|
end
|
50
44
|
end
|
51
45
|
end
|
data/lib/administrate/order.rb
CHANGED
@@ -10,9 +10,9 @@ module Administrate
|
|
10
10
|
return order_by_association(relation) unless
|
11
11
|
reflect_association(relation).nil?
|
12
12
|
|
13
|
-
order =
|
13
|
+
order = relation.arel_table[attribute].public_send(direction)
|
14
14
|
|
15
|
-
return relation.reorder(
|
15
|
+
return relation.reorder(order) if
|
16
16
|
column_exist?(relation, attribute)
|
17
17
|
|
18
18
|
relation
|
@@ -66,11 +66,11 @@ module Administrate
|
|
66
66
|
|
67
67
|
def order_by_count(relation)
|
68
68
|
klass = reflect_association(relation).klass
|
69
|
-
query =
|
69
|
+
query = klass.arel_table[klass.primary_key].count.public_send(direction)
|
70
70
|
relation.
|
71
71
|
left_joins(attribute.to_sym).
|
72
72
|
group(:id).
|
73
|
-
reorder(
|
73
|
+
reorder(query)
|
74
74
|
end
|
75
75
|
|
76
76
|
def order_by_belongs_to(relation)
|
@@ -92,15 +92,15 @@ module Administrate
|
|
92
92
|
def order_by_attribute(relation)
|
93
93
|
relation.joins(
|
94
94
|
attribute.to_sym,
|
95
|
-
).reorder(
|
95
|
+
).reorder(order_by_attribute_query)
|
96
96
|
end
|
97
97
|
|
98
98
|
def order_by_id(relation)
|
99
|
-
relation.reorder(
|
99
|
+
relation.reorder(order_by_id_query(relation))
|
100
100
|
end
|
101
101
|
|
102
102
|
def order_by_association_id(relation)
|
103
|
-
relation.reorder(
|
103
|
+
relation.reorder(order_by_association_id_query)
|
104
104
|
end
|
105
105
|
|
106
106
|
def ordering_by_association_column?(relation)
|
@@ -115,15 +115,16 @@ module Administrate
|
|
115
115
|
end
|
116
116
|
|
117
117
|
def order_by_id_query(relation)
|
118
|
-
|
118
|
+
relation.arel_table[foreign_key(relation)].public_send(direction)
|
119
119
|
end
|
120
120
|
|
121
121
|
def order_by_association_id_query
|
122
|
-
|
122
|
+
Arel::Table.new(association_table_name)[:id].public_send(direction)
|
123
123
|
end
|
124
124
|
|
125
125
|
def order_by_attribute_query
|
126
|
-
|
126
|
+
table = Arel::Table.new(association_table_name)
|
127
|
+
table[association_attribute].public_send(direction)
|
127
128
|
end
|
128
129
|
|
129
130
|
def relation_type(relation)
|
@@ -11,8 +11,16 @@ module Administrate
|
|
11
11
|
attr_reader :resource
|
12
12
|
|
13
13
|
def attributes(action = nil)
|
14
|
-
dashboard.form_attributes(action)
|
15
|
-
|
14
|
+
attributes = dashboard.form_attributes(action)
|
15
|
+
|
16
|
+
if attributes.is_a? Array
|
17
|
+
attributes = { "" => attributes }
|
18
|
+
end
|
19
|
+
|
20
|
+
attributes.transform_values do |attrs|
|
21
|
+
attrs.map do |attribute|
|
22
|
+
attribute_field(dashboard, resource, attribute, :form)
|
23
|
+
end
|
16
24
|
end
|
17
25
|
end
|
18
26
|
|
@@ -15,8 +15,16 @@ module Administrate
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def attributes
|
18
|
-
dashboard.show_page_attributes
|
19
|
-
|
18
|
+
attributes = dashboard.show_page_attributes
|
19
|
+
|
20
|
+
if attributes.is_a? Array
|
21
|
+
attributes = { "" => attributes }
|
22
|
+
end
|
23
|
+
|
24
|
+
attributes.transform_values do |attrs|
|
25
|
+
attrs.map do |attr_name|
|
26
|
+
attribute_field(dashboard, resource, attr_name, :show)
|
27
|
+
end
|
20
28
|
end
|
21
29
|
end
|
22
30
|
end
|
data/lib/administrate/version.rb
CHANGED
data/lib/administrate.rb
CHANGED
@@ -2,7 +2,7 @@ require "administrate/engine"
|
|
2
2
|
|
3
3
|
module Administrate
|
4
4
|
def self.warn_of_missing_resource_class
|
5
|
-
|
5
|
+
deprecator.warn(
|
6
6
|
"Calling Field::Base.permitted_attribute without the option " +
|
7
7
|
":resource_class is deprecated. If you are seeing this " +
|
8
8
|
"message, you are probably using a custom field type that" +
|
@@ -12,7 +12,7 @@ module Administrate
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def self.warn_of_deprecated_option(name)
|
15
|
-
|
15
|
+
deprecator.warn(
|
16
16
|
"The option :#{name} is deprecated. " +
|
17
17
|
"Administrate should detect it automatically. " +
|
18
18
|
"Please file an issue at " +
|
@@ -22,7 +22,7 @@ module Administrate
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def self.warn_of_deprecated_method(klass, method)
|
25
|
-
|
25
|
+
deprecator.warn(
|
26
26
|
"The method #{klass}##{method} is deprecated. " +
|
27
27
|
"If you are seeing this message you are probably " +
|
28
28
|
"using a dashboard that depends explicitly on it. " +
|
@@ -32,10 +32,14 @@ module Administrate
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def self.warn_of_deprecated_authorization_method(method)
|
35
|
-
|
35
|
+
deprecator.warn(
|
36
36
|
"The method `#{method}` is deprecated. " +
|
37
37
|
"Please use `accessible_action?` instead, " +
|
38
38
|
"or see the documentation for other options.",
|
39
39
|
)
|
40
40
|
end
|
41
|
+
|
42
|
+
def self.deprecator
|
43
|
+
@deprecator ||= ActiveSupport::Deprecation.new(VERSION, "Administrate")
|
44
|
+
end
|
41
45
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: administrate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Charlton
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-01-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -17,70 +17,88 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
20
|
+
version: '6.0'
|
21
|
+
- - "<"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '8.0'
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
25
28
|
- - ">="
|
26
29
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
30
|
+
version: '6.0'
|
31
|
+
- - "<"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '8.0'
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: actionview
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
31
37
|
requirements:
|
32
38
|
- - ">="
|
33
39
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
40
|
+
version: '6.0'
|
41
|
+
- - "<"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '8.0'
|
35
44
|
type: :runtime
|
36
45
|
prerelease: false
|
37
46
|
version_requirements: !ruby/object:Gem::Requirement
|
38
47
|
requirements:
|
39
48
|
- - ">="
|
40
49
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
50
|
+
version: '6.0'
|
51
|
+
- - "<"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '8.0'
|
42
54
|
- !ruby/object:Gem::Dependency
|
43
55
|
name: activerecord
|
44
56
|
requirement: !ruby/object:Gem::Requirement
|
45
57
|
requirements:
|
46
58
|
- - ">="
|
47
59
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
60
|
+
version: '6.0'
|
61
|
+
- - "<"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '8.0'
|
49
64
|
type: :runtime
|
50
65
|
prerelease: false
|
51
66
|
version_requirements: !ruby/object:Gem::Requirement
|
52
67
|
requirements:
|
53
68
|
- - ">="
|
54
69
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
70
|
+
version: '6.0'
|
71
|
+
- - "<"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '8.0'
|
56
74
|
- !ruby/object:Gem::Dependency
|
57
75
|
name: jquery-rails
|
58
76
|
requirement: !ruby/object:Gem::Requirement
|
59
77
|
requirements:
|
60
|
-
- - "
|
78
|
+
- - "~>"
|
61
79
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
80
|
+
version: 4.6.0
|
63
81
|
type: :runtime
|
64
82
|
prerelease: false
|
65
83
|
version_requirements: !ruby/object:Gem::Requirement
|
66
84
|
requirements:
|
67
|
-
- - "
|
85
|
+
- - "~>"
|
68
86
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
87
|
+
version: 4.6.0
|
70
88
|
- !ruby/object:Gem::Dependency
|
71
89
|
name: kaminari
|
72
90
|
requirement: !ruby/object:Gem::Requirement
|
73
91
|
requirements:
|
74
|
-
- - "
|
92
|
+
- - "~>"
|
75
93
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
94
|
+
version: 1.2.2
|
77
95
|
type: :runtime
|
78
96
|
prerelease: false
|
79
97
|
version_requirements: !ruby/object:Gem::Requirement
|
80
98
|
requirements:
|
81
|
-
- - "
|
99
|
+
- - "~>"
|
82
100
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
101
|
+
version: 1.2.2
|
84
102
|
- !ruby/object:Gem::Dependency
|
85
103
|
name: sassc-rails
|
86
104
|
requirement: !ruby/object:Gem::Requirement
|
@@ -345,7 +363,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
345
363
|
- !ruby/object:Gem::Version
|
346
364
|
version: '0'
|
347
365
|
requirements: []
|
348
|
-
rubygems_version: 3.4.
|
366
|
+
rubygems_version: 3.4.20
|
349
367
|
signing_key:
|
350
368
|
specification_version: 4
|
351
369
|
summary: A Rails engine for creating super-flexible admin dashboards
|