administrate 0.19.0 → 0.20.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|