activeadmin_addons 1.8.3 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/activeadmin_addons/all.js +10 -10
  3. data/app/inputs/date_time_picker_input.rb +2 -3
  4. data/app/inputs/nested_select_input.rb +13 -3
  5. data/app/javascript/activeadmin_addons/addons/interactive_select_tag.js +1 -1
  6. data/app/javascript/activeadmin_addons/addons/toggle_bool.js +1 -1
  7. data/app/javascript/activeadmin_addons/config.js +1 -1
  8. data/app/javascript/activeadmin_addons/inputs/color-picker.js +1 -1
  9. data/app/javascript/activeadmin_addons/inputs/date-time-picker.js +1 -1
  10. data/app/javascript/activeadmin_addons/inputs/nested-select.js +1 -1
  11. data/app/javascript/activeadmin_addons/inputs/search-select.js +1 -1
  12. data/app/javascript/activeadmin_addons/inputs/select2.js +1 -1
  13. data/app/javascript/activeadmin_addons/inputs/selected-list.js +1 -1
  14. data/app/javascript/activeadmin_addons/inputs/tags.js +1 -1
  15. data/lib/activeadmin_addons/addons/image_builder.rb +26 -1
  16. data/lib/activeadmin_addons/addons/markdown_builder.rb +38 -0
  17. data/lib/activeadmin_addons/addons/tag_builder.rb +11 -7
  18. data/lib/activeadmin_addons/support/enum_utils.rb +19 -0
  19. data/lib/activeadmin_addons/support/input_helpers/input_html_helpers.rb +1 -0
  20. data/lib/activeadmin_addons/support/input_helpers/input_methods.rb +7 -0
  21. data/lib/activeadmin_addons/support/input_helpers/input_options_handler.rb +5 -1
  22. data/lib/activeadmin_addons/support/input_helpers/select_helpers.rb +11 -3
  23. data/lib/activeadmin_addons/support/select_filter_input_extension.rb +19 -0
  24. data/lib/activeadmin_addons/support/set_datepicker.rb +11 -1
  25. data/lib/activeadmin_addons/version.rb +1 -1
  26. metadata +80 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 55def873497d38747a6897932970590af63bd4dd135293804d7b39a938fd082f
4
- data.tar.gz: 7e544cbc4d57033643f9334d46c05769044423faca46b1a2ea3b8335340a4ecd
3
+ metadata.gz: d72fffa977c3deca692ef85867b113cff5d81c77448124ce2be3b7bb8bca205e
4
+ data.tar.gz: db4ff250da3a471b018b02735185adf0627fcd5ab2b0062fac45994259b125a8
5
5
  SHA512:
6
- metadata.gz: 91987d8083fb82cfb200f87bd252ccaed20bbb7072be7ff9853d492e13baf089d6bd4e564996711f25f44f4105608de539e68dac4d17d918c0c74f3fb497577e
7
- data.tar.gz: 770e27656a0ba98f37a32e449c35ed06a55d7cb9b07b090177bebcee25681b76d0c9c12f10507da31a068e7114ff76b9d5709a4e950867f5c2948d73225ca3e7
6
+ metadata.gz: b2785b849c40e967c81226a546e284185b497ab0359297036f302400685dc0dd2f3bbffdfbf40a03b5f574e98647a8d8707b9fe914cb44e672b54993bbb8e846
7
+ data.tar.gz: 2d4f90088726b45b97a67e16db4325fa4b2c24b78d69ce380e8635f089b4ed4cf6c8544689d40e02a63de823aa07d057da9b25c788c4a482fe2b5064bac14ab4
@@ -171,7 +171,7 @@
171
171
  };
172
172
  };
173
173
  $(initializer$9);
174
- $(document).on("turbolinks:load", initializer$9);
174
+ $(document).on("turbolinks:load turbo:load", initializer$9);
175
175
  var initializer$8 = function() {
176
176
  configureSelect2(document);
177
177
  $(document).on("has_many_add:after", function(event, container) {
@@ -213,7 +213,7 @@
213
213
  }
214
214
  };
215
215
  $(initializer$8);
216
- $(document).on("turbolinks:load", initializer$8);
216
+ $(document).on("turbolinks:load turbo:load", initializer$8);
217
217
  var initializer$7 = function() {
218
218
  setupSearchSelect(document);
219
219
  $(document).on("has_many_add:after", function(event, container) {
@@ -283,7 +283,7 @@
283
283
  }
284
284
  };
285
285
  $(initializer$7);
286
- $(document).on("turbolinks:load", initializer$7);
286
+ $(document).on("turbolinks:load turbo:load", initializer$7);
287
287
  $.fn.select2.amd.define("select2/data/nestedCustomAdapter", [ "select2/data/array", "select2/utils" ], function(ArrayData, Utils) {
288
288
  function CustomData($element, options) {
289
289
  CustomData.__super__.constructor.call(this, $element, options);
@@ -429,7 +429,7 @@
429
429
  }
430
430
  };
431
431
  $(initializer$6);
432
- $(document).on("turbolinks:load", initializer$6);
432
+ $(document).on("turbolinks:load turbo:load", initializer$6);
433
433
  var initializer$5 = function() {
434
434
  setupTags(document);
435
435
  $(document).on("has_many_add:after", function(event, container) {
@@ -495,7 +495,7 @@
495
495
  }
496
496
  };
497
497
  $(initializer$5);
498
- $(document).on("turbolinks:load", initializer$5);
498
+ $(document).on("turbolinks:load turbo:load", initializer$5);
499
499
  var initializer$4 = function() {
500
500
  setupSelectedList(document);
501
501
  $(document).on("has_many_add:after", function(event, container) {
@@ -589,7 +589,7 @@
589
589
  }
590
590
  };
591
591
  $(initializer$4);
592
- $(document).on("turbolinks:load", initializer$4);
592
+ $(document).on("turbolinks:load turbo:load", initializer$4);
593
593
  var initializer$3 = function() {
594
594
  setupDateTimePicker(document);
595
595
  $(document).on("has_many_add:after", ".has_many_container", function(event, fieldset) {
@@ -613,7 +613,7 @@
613
613
  }
614
614
  };
615
615
  $(initializer$3);
616
- $(document).on("turbolinks:load", initializer$3);
616
+ $(document).on("turbolinks:load turbo:load", initializer$3);
617
617
  var initializer$2 = function() {
618
618
  setupColorPicker();
619
619
  $(document).on("has_many_add:after", setupColorPicker);
@@ -626,7 +626,7 @@
626
626
  }
627
627
  };
628
628
  $(initializer$2);
629
- $(document).on("turbolinks:load", initializer$2);
629
+ $(document).on("turbolinks:load turbo:load", initializer$2);
630
630
  var initializer$1 = function() {
631
631
  $(".toggle-bool-switch").click(function(e) {
632
632
  var boolSwitch = $(e.target);
@@ -665,7 +665,7 @@
665
665
  });
666
666
  };
667
667
  $(initializer$1);
668
- $(document).on("turbolinks:load", initializer$1);
668
+ $(document).on("turbolinks:load turbo:load", initializer$1);
669
669
  var initializer = function() {
670
670
  configureInteractiveSelect(document);
671
671
  $(document).on("has_many_add:after", function(event, container) {
@@ -749,5 +749,5 @@
749
749
  });
750
750
  };
751
751
  $(initializer);
752
- $(document).on("turbolinks:load", initializer);
752
+ $(document).on("turbolinks:load turbo:load", initializer);
753
753
  });
@@ -43,9 +43,8 @@ class DateTimePickerInput < ActiveAdminAddons::InputBase
43
43
 
44
44
  def datetime_picker_options
45
45
  @datetime_picker_options ||= begin
46
- opts = options.fetch(:picker_options, {})
47
- opts = Hash[opts.map { |k, v| [k.to_s.camelcase(:lower), v] }]
48
- default_picker_options.merge(opts)
46
+ opts = default_picker_options.merge(options.fetch(:picker_options, {}))
47
+ Hash[opts.map { |k, v| [k.to_s.camelcase(:lower), v] }]
49
48
  end
50
49
  end
51
50
 
@@ -15,6 +15,7 @@ class NestedSelectInput < ActiveAdminAddons::InputBase
15
15
  def hierarchy
16
16
  data = get_levels_data
17
17
  raise("Undefined levels on nested_select") if data.empty?
18
+
18
19
  set_parent_attributes(data)
19
20
  data.reverse
20
21
  end
@@ -67,17 +68,26 @@ class NestedSelectInput < ActiveAdminAddons::InputBase
67
68
  parent_attribute = level_data[:parent_attribute]
68
69
  build_virtual_attr(parent_attribute)
69
70
  instance = instance_from_attribute_name(level_data[:attribute])
70
- if instance && instance.respond_to?(parent_attribute)
71
+ if instance&.respond_to?(parent_attribute)
71
72
  @object.send("#{parent_attribute}=", instance.send(parent_attribute))
72
73
  end
73
74
  end
74
75
 
75
76
  def instance_from_attribute_name(attribute)
76
77
  return unless attribute
78
+
77
79
  attribute_value = @object.send(attribute)
78
80
  return unless attribute_value
79
- klass = attribute.to_s.chomp("_id").camelize.constantize
80
- klass.find_by_id(attribute_value)
81
+
82
+ klass = class_from_attribute(attribute)
83
+ klass.find_by(id: attribute_value)
84
+ end
85
+
86
+ def class_from_attribute(attribute)
87
+ association_name = attribute.to_s.chomp("_id")
88
+ association_name.camelize.constantize
89
+ rescue NameError
90
+ object_class.reflect_on_association(association_name).klass
81
91
  end
82
92
 
83
93
  def build_virtual_attr(attribute_name)
@@ -92,4 +92,4 @@ var initializer = function() {
92
92
  };
93
93
 
94
94
  $(initializer);
95
- $(document).on('turbolinks:load', initializer);
95
+ $(document).on('turbolinks:load turbo:load', initializer);
@@ -36,4 +36,4 @@ var initializer = function() {
36
36
  };
37
37
 
38
38
  $(initializer);
39
- $(document).on('turbolinks:load', initializer);
39
+ $(document).on('turbolinks:load turbo:load', initializer);
@@ -7,4 +7,4 @@ var initializer = function() {
7
7
  };
8
8
 
9
9
  $(initializer);
10
- $(document).on('turbolinks:load', initializer);
10
+ $(document).on('turbolinks:load turbo:load', initializer);
@@ -13,4 +13,4 @@ var initializer = function() {
13
13
  };
14
14
 
15
15
  $(initializer);
16
- $(document).on('turbolinks:load', initializer);
16
+ $(document).on('turbolinks:load turbo:load', initializer);
@@ -25,4 +25,4 @@ var initializer = function() {
25
25
  };
26
26
 
27
27
  $(initializer);
28
- $(document).on('turbolinks:load', initializer);
28
+ $(document).on('turbolinks:load turbo:load', initializer);
@@ -167,4 +167,4 @@ var initializer = function() {
167
167
  };
168
168
 
169
169
  $(initializer);
170
- $(document).on('turbolinks:load', initializer);
170
+ $(document).on('turbolinks:load turbo:load', initializer);
@@ -73,4 +73,4 @@ var initializer = function() {
73
73
  };
74
74
 
75
75
  $(initializer);
76
- $(document).on('turbolinks:load', initializer);
76
+ $(document).on('turbolinks:load turbo:load', initializer);
@@ -49,4 +49,4 @@ var initializer = function() {
49
49
  };
50
50
 
51
51
  $(initializer);
52
- $(document).on('turbolinks:load', initializer);
52
+ $(document).on('turbolinks:load turbo:load', initializer);
@@ -104,4 +104,4 @@ var initializer = function() {
104
104
  };
105
105
 
106
106
  $(initializer);
107
- $(document).on('turbolinks:load', initializer);
107
+ $(document).on('turbolinks:load turbo:load', initializer);
@@ -73,4 +73,4 @@ var initializer = function() {
73
73
  };
74
74
 
75
75
  $(initializer);
76
- $(document).on('turbolinks:load', initializer);
76
+ $(document).on('turbolinks:load turbo:load', initializer);
@@ -2,10 +2,35 @@ module ActiveAdminAddons
2
2
  class ImageBuilder < CustomBuilder
3
3
  def render
4
4
  return nil if data.nil?
5
- raise "you need to pass a paperclip image attribute" unless data.respond_to?(:url)
5
+
6
+ if Object.const_defined?('Paperclip::Attachment') && data.is_a?(Paperclip::Attachment)
7
+ paperclip_data
8
+ elsif Object.const_defined?('Shrine::UploadedFile') && data.is_a?(Shrine::UploadedFile)
9
+ shrine_data
10
+ else
11
+ raise "you need to pass a paperclip or shrine image attribute"
12
+ end
13
+ end
14
+
15
+ private
16
+
17
+ def paperclip_data
6
18
  style = options.fetch(:style, :original)
7
19
  context.image_tag(data.url(style)) if data.file?
8
20
  end
21
+
22
+ def shrine_data
23
+ image_options = options[:image_options].presence || {}
24
+ if options[:style] && derivatives.include?(options[:style])
25
+ context.image_tag(model.send("#{attribute}_url", options[:style]), image_options)
26
+ else
27
+ context.image_tag(data.url, image_options)
28
+ end
29
+ end
30
+
31
+ def derivatives
32
+ model.send("#{attribute}_derivatives")
33
+ end
9
34
  end
10
35
  end
11
36
 
@@ -0,0 +1,38 @@
1
+ require 'redcarpet'
2
+
3
+ module ActiveAdminAddons
4
+ class MarkdownBuilder < CustomBuilder
5
+ def render
6
+ return if data.blank?
7
+
8
+ Redcarpet::Markdown.new(renderer, extensions).render(@data).html_safe
9
+ end
10
+
11
+ private
12
+
13
+ def extensions_default
14
+ { fenced_code_blocks: true,
15
+ no_intra_emphasis: true,
16
+ strikethrough: true,
17
+ superscript: true }
18
+ end
19
+
20
+ def renderer_options_default
21
+ { filter_html: true, hard_wrap: true }
22
+ end
23
+
24
+ def extensions
25
+ @extensions ||= extensions_default.merge(options[:extensions] || {})
26
+ end
27
+
28
+ def render_options
29
+ @render_options ||= renderer_options_default.merge(options[:render_options] || {})
30
+ end
31
+
32
+ def renderer
33
+ @renderer ||= Redcarpet::Render::HTML.new(render_options)
34
+ end
35
+ end
36
+ end
37
+
38
+ ActiveAdminAddons::MarkdownBuilder.create_view_methods
@@ -25,9 +25,9 @@ module ActiveAdminAddons
25
25
 
26
26
  context.div(interactive_tag_select_params) do
27
27
  context.select do
28
- possible_values.each do |val|
29
- context.option(value: val, selected: val == data) do
30
- context.text_node val.capitalize
28
+ possible_values.each do |label, value|
29
+ context.option(value: value, selected: value == data) do
30
+ context.text_node label
31
31
  end
32
32
  end
33
33
  end
@@ -36,7 +36,11 @@ module ActiveAdminAddons
36
36
  end
37
37
 
38
38
  def display_data
39
- @enum_attr == :enumerize ? data.text : data
39
+ if @enum_attr == :enumerize
40
+ data.text
41
+ else
42
+ EnumUtils.translate_enum_option(model.class, attribute.to_s, data)
43
+ end
40
44
  end
41
45
 
42
46
  def interactive_params(klass)
@@ -45,7 +49,7 @@ module ActiveAdminAddons
45
49
  'data-model' => class_name,
46
50
  'data-object_id' => model.id,
47
51
  'data-field' => attribute,
48
- 'data-url' => context.resource_path(model),
52
+ 'data-url' => resource_url,
49
53
  'data-value' => data
50
54
  }
51
55
  end
@@ -69,9 +73,9 @@ module ActiveAdminAddons
69
73
  def possible_values
70
74
  klass = model.class
71
75
  if @enum_attr == :enumerize
72
- klass.enumerized_attributes[attribute.to_s].values
76
+ klass.enumerized_attributes[attribute.to_s].values.map { |value| [value.capitalize, value] }
73
77
  else
74
- klass.defined_enums[attribute.to_s].keys
78
+ EnumUtils.options_for_select(klass, attribute.to_s)
75
79
  end
76
80
  end
77
81
 
@@ -0,0 +1,19 @@
1
+ module ActiveAdminAddons
2
+ class EnumUtils
3
+ def self.options_for_select(klass, enum_name, use_db_value: false)
4
+ enum_options_hash = klass.defined_enums[enum_name]
5
+ enum_options_hash.map do |enum_option_name, db_value|
6
+ value = use_db_value ? db_value : enum_option_name
7
+ [translate_enum_option(klass, enum_name, enum_option_name), value]
8
+ end
9
+ end
10
+
11
+ def self.translate_enum_option(klass, enum_name, enum_option_name)
12
+ return if enum_option_name.blank?
13
+
14
+ klass_key = klass.model_name.i18n_key
15
+ key = "activerecord.attributes.#{klass_key}.#{enum_name.pluralize}.#{enum_option_name}"
16
+ I18n.t(key, default: enum_option_name)
17
+ end
18
+ end
19
+ end
@@ -16,6 +16,7 @@ module ActiveAdminAddons
16
16
 
17
17
  def method_to_input_id(id)
18
18
  raise "invalid input id" if id.blank?
19
+
19
20
  "#{prefixed_method}_#{id}"
20
21
  end
21
22
 
@@ -6,11 +6,13 @@ module ActiveAdminAddons
6
6
 
7
7
  def valid_method
8
8
  raise "invalid method given" if method.blank?
9
+
9
10
  method
10
11
  end
11
12
 
12
13
  def valid_object
13
14
  raise "blank object given" if @object.blank?
15
+
14
16
  @object
15
17
  end
16
18
 
@@ -42,6 +44,10 @@ module ActiveAdminAddons
42
44
  @input_value ||= valid_object.send(valid_method)
43
45
  end
44
46
 
47
+ def input_association_value
48
+ @input_association_value ||= valid_object.send(association_name)
49
+ end
50
+
45
51
  def translated_method
46
52
  valid_object.class.human_attribute_name(valid_method)
47
53
  end
@@ -60,6 +66,7 @@ module ActiveAdminAddons
60
66
  def build_virtual_attr
61
67
  attribute_name = "virtual_#{valid_method}_attr"
62
68
  fail "#{attribute_name} is already defined" if valid_object.respond_to?(attribute_name)
69
+
63
70
  valid_object.singleton_class.send(:attr_accessor, attribute_name)
64
71
  attribute_name
65
72
  end
@@ -41,6 +41,7 @@ module ActiveAdminAddons
41
41
  def load_class(class_attr)
42
42
  @css_classes ||= []
43
43
  return if class_attr.blank?
44
+
44
45
  class_attr = class_attr.strip
45
46
  @css_classes << class_attr
46
47
  class_attr
@@ -49,6 +50,7 @@ module ActiveAdminAddons
49
50
  def get_data_attr_value(attr_name)
50
51
  item = data_attr_options[attr_name.to_sym]
51
52
  return unless item
53
+
52
54
  item[:value]
53
55
  end
54
56
 
@@ -56,13 +58,14 @@ module ActiveAdminAddons
56
58
 
57
59
  def formatted_option_value(item)
58
60
  return item[:value].send(item[:formatter]) if item[:formatter]
61
+
59
62
  item[:value]
60
63
  end
61
64
 
62
65
  def load_option_attr(attr_name, options)
63
66
  value = calculate_attr_value(attr_name, options)
64
67
  item = { value: value }
65
- item[:formatter] = options[:formatter] unless options[:formatter].blank?
68
+ item[:formatter] = options[:formatter] if options[:formatter].present?
66
69
  item
67
70
  end
68
71
 
@@ -80,6 +83,7 @@ module ActiveAdminAddons
80
83
  default_value = attr_options[:default]
81
84
  return unless default_value
82
85
  return default_value.call if default_value.is_a?(Proc)
86
+
83
87
  default_value
84
88
  end
85
89
 
@@ -42,6 +42,7 @@ module ActiveAdminAddons
42
42
 
43
43
  def item_to_select_option(item)
44
44
  return unless item
45
+
45
46
  {
46
47
  id: item.send((valid_options[:value] || :id)),
47
48
  text: item.send((valid_options[:display_name] || :name))
@@ -66,19 +67,26 @@ module ActiveAdminAddons
66
67
  end
67
68
 
68
69
  def selected_item
69
- @selected_item ||= selected_collection.first
70
+ @selected_item ||= begin
71
+ input_association_value
72
+ rescue NoMethodError
73
+ selected_collection.first
74
+ end
70
75
  end
71
76
 
72
77
  private
73
78
 
74
79
  def active_record_relation?(value)
75
80
  klass = value.class.name
76
- klass == "ActiveRecord::Relation" ||
77
- klass == "ActiveRecord::Associations::CollectionProxy"
81
+ [
82
+ "ActiveRecord::Relation",
83
+ "ActiveRecord::Associations::CollectionProxy"
84
+ ].include?(klass)
78
85
  end
79
86
 
80
87
  def valid_options
81
88
  raise "missing @options hash" unless !!@options
89
+
82
90
  @options
83
91
  end
84
92
 
@@ -0,0 +1,19 @@
1
+ module ActiveAdminAddons
2
+ module SelectFilterInputExtension
3
+ def collection_from_enum?
4
+ klass.respond_to?(:defined_enums) && klass.defined_enums.has_key?(method.to_s)
5
+ end
6
+
7
+ def collection
8
+ if !options[:collection] && collection_from_enum?
9
+ EnumUtils.options_for_select(klass, method.to_s, use_db_value: true)
10
+ else
11
+ super
12
+ end
13
+ end
14
+ end
15
+ end
16
+
17
+ ::ActiveAdmin::Inputs::Filters::SelectInput.send(
18
+ :prepend, ActiveAdminAddons::SelectFilterInputExtension
19
+ )
@@ -5,9 +5,19 @@ module ::Formtastic
5
5
 
6
6
  def default_input_type(method, options = {})
7
7
  input_type = original_default_input_type(method, options)
8
- input_type = :datepicker if input_type == :date_select
8
+
9
+ if input_type == :date_select && active_admin_context?
10
+ input_type = :datepicker
11
+ end
12
+
9
13
  input_type
10
14
  end
15
+
16
+ def active_admin_context?
17
+ options[:builder] == ::ActiveAdmin::FormBuilder
18
+ rescue NameError
19
+ false
20
+ end
11
21
  end
12
22
  end
13
23
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveadminAddons
2
- VERSION = "1.8.3"
2
+ VERSION = "1.10.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activeadmin_addons
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.3
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Platanus
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2021-07-27 00:00:00.000000000 Z
14
+ date: 2023-03-07 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: active_material
@@ -41,6 +41,20 @@ dependencies:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
43
  version: '0'
44
+ - !ruby/object:Gem::Dependency
45
+ name: redcarpet
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
44
58
  - !ruby/object:Gem::Dependency
45
59
  name: require_all
46
60
  requirement: !ruby/object:Gem::Requirement
@@ -195,6 +209,34 @@ dependencies:
195
209
  - - ">="
196
210
  - !ruby/object:Gem::Version
197
211
  version: '0'
212
+ - !ruby/object:Gem::Dependency
213
+ name: image_processing
214
+ requirement: !ruby/object:Gem::Requirement
215
+ requirements:
216
+ - - ">="
217
+ - !ruby/object:Gem::Version
218
+ version: '0'
219
+ type: :development
220
+ prerelease: false
221
+ version_requirements: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - ">="
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
226
+ - !ruby/object:Gem::Dependency
227
+ name: matrix
228
+ requirement: !ruby/object:Gem::Requirement
229
+ requirements:
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ version: '0'
233
+ type: :development
234
+ prerelease: false
235
+ version_requirements: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - ">="
238
+ - !ruby/object:Gem::Version
239
+ version: '0'
198
240
  - !ruby/object:Gem::Dependency
199
241
  name: paperclip
200
242
  requirement: !ruby/object:Gem::Requirement
@@ -243,20 +285,34 @@ dependencies:
243
285
  requirements:
244
286
  - - "~>"
245
287
  - !ruby/object:Gem::Version
246
- version: '5.2'
288
+ version: '6.1'
247
289
  - - ">="
248
290
  - !ruby/object:Gem::Version
249
- version: 5.2.4.1
291
+ version: 6.1.4.4
250
292
  type: :development
251
293
  prerelease: false
252
294
  version_requirements: !ruby/object:Gem::Requirement
253
295
  requirements:
254
296
  - - "~>"
255
297
  - !ruby/object:Gem::Version
256
- version: '5.2'
298
+ version: '6.1'
257
299
  - - ">="
258
300
  - !ruby/object:Gem::Version
259
- version: 5.2.4.1
301
+ version: 6.1.4.4
302
+ - !ruby/object:Gem::Dependency
303
+ name: rexml
304
+ requirement: !ruby/object:Gem::Requirement
305
+ requirements:
306
+ - - ">="
307
+ - !ruby/object:Gem::Version
308
+ version: '0'
309
+ type: :development
310
+ prerelease: false
311
+ version_requirements: !ruby/object:Gem::Requirement
312
+ requirements:
313
+ - - ">="
314
+ - !ruby/object:Gem::Version
315
+ version: '0'
260
316
  - !ruby/object:Gem::Dependency
261
317
  name: rspec-rails
262
318
  requirement: !ruby/object:Gem::Requirement
@@ -313,6 +369,20 @@ dependencies:
313
369
  - - ">="
314
370
  - !ruby/object:Gem::Version
315
371
  version: '0'
372
+ - !ruby/object:Gem::Dependency
373
+ name: shrine
374
+ requirement: !ruby/object:Gem::Requirement
375
+ requirements:
376
+ - - "~>"
377
+ - !ruby/object:Gem::Version
378
+ version: '3.0'
379
+ type: :development
380
+ prerelease: false
381
+ version_requirements: !ruby/object:Gem::Requirement
382
+ requirements:
383
+ - - "~>"
384
+ - !ruby/object:Gem::Version
385
+ version: '3.0'
316
386
  - !ruby/object:Gem::Dependency
317
387
  name: sqlite3
318
388
  requirement: !ruby/object:Gem::Requirement
@@ -509,12 +579,14 @@ files:
509
579
  - lib/activeadmin_addons/addons/bool_builder.rb
510
580
  - lib/activeadmin_addons/addons/image_builder.rb
511
581
  - lib/activeadmin_addons/addons/list_builder.rb
582
+ - lib/activeadmin_addons/addons/markdown_builder.rb
512
583
  - lib/activeadmin_addons/addons/number_builder.rb
513
584
  - lib/activeadmin_addons/addons/state_builder.rb
514
585
  - lib/activeadmin_addons/addons/tag_builder.rb
515
586
  - lib/activeadmin_addons/addons/toggle_bool_builder.rb
516
587
  - lib/activeadmin_addons/engine.rb
517
588
  - lib/activeadmin_addons/support/custom_builder.rb
589
+ - lib/activeadmin_addons/support/enum_utils.rb
518
590
  - lib/activeadmin_addons/support/enumerize_formtastic_support.rb
519
591
  - lib/activeadmin_addons/support/input_base.rb
520
592
  - lib/activeadmin_addons/support/input_helpers/filter_input.rb
@@ -523,6 +595,7 @@ files:
523
595
  - lib/activeadmin_addons/support/input_helpers/input_methods.rb
524
596
  - lib/activeadmin_addons/support/input_helpers/input_options_handler.rb
525
597
  - lib/activeadmin_addons/support/input_helpers/select_helpers.rb
598
+ - lib/activeadmin_addons/support/select_filter_input_extension.rb
526
599
  - lib/activeadmin_addons/support/set_datepicker.rb
527
600
  - lib/activeadmin_addons/version.rb
528
601
  - lib/generators/activeadmin_addons/assets/assets_generator.rb
@@ -551,7 +624,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
551
624
  - !ruby/object:Gem::Version
552
625
  version: '0'
553
626
  requirements: []
554
- rubygems_version: 3.1.6
627
+ rubygems_version: 3.3.26
555
628
  signing_key:
556
629
  specification_version: 4
557
630
  summary: Set of addons to help with the activeadmin ui