activeadmin_addons 2.0.0.beta.0 → 2.0.0.beta.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aed38304ff68795198eb34b4fb634a5f8e55143b4f159b04698d0852d32e36ef
4
- data.tar.gz: 6c4637ae03b38a74d1d06831fea506de8d13a996002d1770a0d5d80372242906
3
+ metadata.gz: 44f61829c24cb573ef14551b359f25c763d2740f72a17e0c64fedb80090afcd6
4
+ data.tar.gz: d0f6bb02709f7c23cb16e10bc882e3c10aecade16cfcf70bf9369beca8050ecd
5
5
  SHA512:
6
- metadata.gz: 5c955ceb1fedfefd561237ba63e433b0013be0debad0750b70932e82141ae41c323c970041317720caed90cdff1820bda25d667cf00c4110d63fe6ebfcfbc3a1
7
- data.tar.gz: d9522cb0cab4b42be862e0451efbba5156a5b85cde8a8dfddd359b613c21638b216eff53b5a4e899e9b4b4d6fbae614dc238d0c72b4a35266350743e70214b6a
6
+ metadata.gz: 207fb0c30ec42531af763ccb9b346a6fd86b68b522890745c6f2c378e53914ea86132f3e63a461a7750a577bff1fe20a08d383b5e26147395e06caff77869f6f
7
+ data.tar.gz: c831f634ef1529f9706b4357c13c0eb2970aa0f87e3ca271b6a26dbb4ff293a9bae3cefcef229e7604e4db5b4492f350a25674826a6e25559ceb804c02dfe588
@@ -9,10 +9,10 @@ class ActiveAdmin::Inputs::SelectInput < Formtastic::Inputs::SelectInput
9
9
 
10
10
  def raw_collection
11
11
  field_value = begin
12
- object.send(method)
13
- rescue NoMethodError
14
- nil
15
- end
12
+ object.send(method)
13
+ rescue NoMethodError
14
+ nil
15
+ end
16
16
 
17
17
  @options[:tags].present? && field_value.present? ? (super.to_a << field_value).uniq : super
18
18
  end
@@ -1,4 +1,4 @@
1
- class NestedLevelInput < ActiveAdminAddons::InputBase
1
+ class NestedLevelInput < ActiveAdminAddons::SelectInputBase
2
2
  include ActiveAdminAddons::SelectHelpers
3
3
 
4
4
  def render_custom_input
@@ -13,6 +13,7 @@ class NestedLevelInput < ActiveAdminAddons::InputBase
13
13
 
14
14
  private
15
15
 
16
+ # rubocop:disable Metrics/MethodLength
16
17
  def load_control_attributes
17
18
  load_class(@options[:class])
18
19
  load_data_attr(:association, value: association_name)
@@ -26,24 +27,28 @@ class NestedLevelInput < ActiveAdminAddons::InputBase
26
27
  load_data_attr(:response_root, default: tableize_method)
27
28
  load_data_attr(:width)
28
29
  load_data_attr(:order,
29
- value: @options[:order_by],
30
- default: get_data_attr_value(:fields).first.to_s + "_desc")
30
+ value: @options[:order_by],
31
+ default: "#{get_data_attr_value(:fields).first}_desc")
31
32
  load_parent_data_options
32
33
  load_collection_data
33
34
  end
35
+ # rubocop:enable Metrics/MethodLength
34
36
 
35
37
  def load_parent_data_options
36
38
  return unless @options[:parent_attribute]
39
+
37
40
  load_data_attr(:parent, value: @options[:parent_attribute])
38
- load_data_attr(:parent_id, value: @object.send(@options[:parent_attribute]), default: -1)
41
+ load_data_attr(
42
+ :parent_id, value: @object.send(@options[:parent_id_attribute]), default: -1
43
+ )
39
44
  end
40
45
 
41
46
  def load_collection_data
42
47
  return unless @options[:collection]
43
48
 
44
49
  collection_options = collection_to_select_options do |item, option|
45
- if !!@options[:parent_attribute]
46
- option[@options[:parent_attribute]] = item.send(@options[:parent_attribute])
50
+ if @options[:parent_attribute].present?
51
+ option[@options[:parent_attribute]] = item.send(@options[:parent_id_attribute])
47
52
  end
48
53
  end
49
54
 
@@ -59,32 +59,38 @@ class NestedSelectInput < ActiveAdminAddons::InputBase
59
59
  parent_level_data = hierarchy[next_idx] if hierarchy.count != next_idx
60
60
  if parent_level_data
61
61
  level_data[:parent_attribute] = parent_level_data[:attribute]
62
+ level_data[:parent_id_attribute] = "#{level_data[:parent_attribute]}_id"
62
63
  set_parent_value(level_data)
63
64
  end
64
65
  end
65
66
  end
66
67
 
67
68
  def set_parent_value(level_data)
68
- parent_attribute = level_data[:parent_attribute]
69
- build_virtual_attr(parent_attribute)
70
- instance = instance_from_attribute_name(level_data[:attribute])
71
- if instance&.respond_to?(parent_attribute)
72
- @object.send("#{parent_attribute}=", instance.send(parent_attribute))
69
+ build_virtual_attr(level_data[:parent_attribute])
70
+ build_virtual_attr(level_data[:parent_id_attribute])
71
+ instance = instance_from_attribute_id("#{level_data[:attribute]}_id")
72
+ if instance.respond_to?(level_data[:parent_id_attribute])
73
+ @object.send(
74
+ "#{level_data[:parent_attribute]}=", instance.send(level_data[:parent_attribute])
75
+ )
76
+ @object.send(
77
+ "#{level_data[:parent_id_attribute]}=", instance.send(level_data[:parent_id_attribute])
78
+ )
73
79
  end
74
80
  end
75
81
 
76
- def instance_from_attribute_name(attribute)
77
- return unless attribute
82
+ def instance_from_attribute_id(attribute_id)
83
+ return unless attribute_id
78
84
 
79
- attribute_value = @object.send(attribute)
80
- return unless attribute_value
85
+ attribute_id_value = @object.send(attribute_id)
86
+ return unless attribute_id_value
81
87
 
82
- klass = class_from_attribute(attribute)
83
- klass.find_by(id: attribute_value)
88
+ klass = class_from_attribute_id(attribute_id)
89
+ klass.find_by(id: attribute_id_value)
84
90
  end
85
91
 
86
- def class_from_attribute(attribute)
87
- association_name = attribute.to_s.chomp("_id")
92
+ def class_from_attribute_id(attribute_id)
93
+ association_name = attribute_id.to_s.chomp("_id")
88
94
  association_name.camelize.constantize
89
95
  rescue NameError
90
96
  object_class.reflect_on_association(association_name).klass
@@ -7,6 +7,20 @@ class SearchSelectFilterInput < SearchSelectInput
7
7
  end
8
8
 
9
9
  def input_method
10
- eq_input_name
10
+ "#{input_name}_eq"
11
+ end
12
+
13
+ def input_html_options_name
14
+ "#{object_name}[#{input_method}]"
15
+ end
16
+
17
+ def input_value
18
+ result = valid_object.conditions.find do |condition|
19
+ condition.attributes.map(&:name).include?(input_name.to_s)
20
+ end
21
+
22
+ return unless result
23
+
24
+ result.values.first.value
11
25
  end
12
26
  end
@@ -1,10 +1,11 @@
1
- class SearchSelectInput < ActiveAdminAddons::InputBase
1
+ class SearchSelectInput < ActiveAdminAddons::SelectInputBase
2
2
  include ActiveAdminAddons::SelectHelpers
3
3
 
4
4
  def render_custom_input
5
5
  concat(label_html)
6
- concat(builder.select(input_method,
7
- initial_collection_to_select_options, {}, input_html_options))
6
+ concat(
7
+ builder.select(input_method, initial_collection_to_select_options, {}, input_html_options)
8
+ )
8
9
  end
9
10
 
10
11
  def input_method
@@ -23,7 +24,7 @@ class SearchSelectInput < ActiveAdminAddons::InputBase
23
24
  load_data_attr(
24
25
  :order,
25
26
  value: @options[:order_by],
26
- default: get_data_attr_value(:fields).first.to_s + "_desc"
27
+ default: "#{get_data_attr_value(:fields).first}_desc"
27
28
  )
28
29
  end
29
30
  end
@@ -1,17 +1,12 @@
1
- class TagsInput < ActiveAdminAddons::InputBase
1
+ class TagsInput < ActiveAdminAddons::SelectInputBase
2
2
  include ActiveAdminAddons::SelectHelpers
3
3
 
4
4
  def render_custom_input
5
- if active_record_select?
6
- return render_collection_tags
7
- end
8
-
9
- render_array_tags
5
+ render_collection_tags
10
6
  end
11
7
 
12
8
  def load_control_attributes
13
- load_data_attr(:model, value: model_name)
14
- load_data_attr(:method, value: method)
9
+ @options[:multiple] = true
15
10
  load_data_attr(:width)
16
11
 
17
12
  if active_record_select?
@@ -24,32 +19,8 @@ class TagsInput < ActiveAdminAddons::InputBase
24
19
 
25
20
  private
26
21
 
27
- def render_array_tags
28
- render_tags_control { build_hidden_control(prefixed_method, method_to_input_name, input_value) }
29
- end
30
-
31
22
  def render_collection_tags
32
- render_tags_control { render_selected_hidden_items }
33
- end
34
-
35
- def render_tags_control(&block)
36
23
  concat(label_html)
37
- concat(block.call)
38
- concat(builder.select(build_virtual_attr, [], {}, input_html_options))
39
- end
40
-
41
- def render_selected_hidden_items
42
- template.content_tag(:div, id: selected_values_id) do
43
- template.concat(build_hidden_control(empty_input_id, method_to_input_array_name, ""))
44
- input_value.each do |item_id|
45
- template.concat(
46
- build_hidden_control(
47
- method_to_input_id(item_id),
48
- method_to_input_array_name,
49
- item_id.to_s
50
- )
51
- )
52
- end
53
- end
24
+ concat(builder.select(method, [], input_options, input_html_options))
54
25
  end
55
26
  end
@@ -12,7 +12,7 @@ function ajaxSearch(search, currentData, args) {
12
12
  });
13
13
 
14
14
  if (!!args.parent) {
15
- args.query.q[`${args.parent}_eq`] = args.parentId;
15
+ args.query.q[`${args.parent}_id_eq`] = args.parentId;
16
16
  }
17
17
 
18
18
  args.query.q = { ...args.query.q, ...args.filters };
@@ -25,10 +25,12 @@ function collectionSearch(search, args, collection) {
25
25
  return Promise.reject('Search term too short');
26
26
  }
27
27
 
28
- const data = JSON.parse(collection).map(
28
+ const data = JSON.parse(collection).filter(
29
+ (item) => (!args.parent || item[args.parent] === Number(args.parentId)) &&
30
+ String(item.text).toLowerCase().includes(search.toLowerCase()),
31
+ ).map(
29
32
  (item) => ({ value: String(item.id), text: item.text }),
30
- ).filter(
31
- (item) => String(item.text).toLowerCase().includes(search.toLowerCase()));
33
+ );
32
34
 
33
35
  return Promise.resolve(data);
34
36
  }
@@ -48,7 +50,7 @@ function settings(el) {
48
50
  const { model, association } = el.dataset;
49
51
  const child = el.closest('.nested_level')
50
52
  .parentNode
51
- .querySelector(`.nested_level [data-model=${model}][data-parent=${association}_id]`);
53
+ .querySelector(`.nested_level [data-model=${model}][data-parent=${association}]`);
52
54
 
53
55
  if (child) {
54
56
  child.slim.setSelected();
@@ -2,9 +2,6 @@ const classes = ['tags-input'];
2
2
 
3
3
  // eslint-disable-next-line max-statements
4
4
  function settings(el) {
5
- const model = el.dataset.model;
6
- const method = el.dataset.method;
7
- const prefix = `${model}_${method}`;
8
5
  const isRelation = el.dataset.relation === 'true';
9
6
  const collection = el.dataset.collection ? JSON.parse(el.dataset.collection) : null;
10
7
 
@@ -14,38 +11,7 @@ function settings(el) {
14
11
  return { ...rest, value: id, selected: !!item.selected };
15
12
  });
16
13
 
17
- function fillHiddenInput(values) {
18
- const hiddenInput = document.querySelector(`#${prefix}`);
19
- hiddenInput.value = values.map(val => val.value).join();
20
- }
21
-
22
- const events = {
23
- afterChange: (newVal) => {
24
- if (isRelation) {
25
- const selectedItemsContainer = document.querySelector(`#${prefix}_selected_values`);
26
- const itemName = `${model}[${method}][]`;
27
- selectedItemsContainer.innerHTML = '';
28
-
29
- newVal.forEach((data) => {
30
- const itemId = `${prefix}_${data.value}`;
31
- if (document.querySelectorAll(`#${itemId}`).length > 0) {
32
- return;
33
- }
34
-
35
- const hiddenInput = document.createElement('input');
36
- hiddenInput.id = itemId;
37
- hiddenInput.name = itemName;
38
- hiddenInput.value = data.value;
39
- hiddenInput.type = 'hidden';
40
-
41
- selectedItemsContainer.appendChild(hiddenInput);
42
- });
43
- } else {
44
- fillHiddenInput(newVal);
45
- }
46
- },
47
- };
48
-
14
+ const events = {};
49
15
  if (!isRelation) {
50
16
  events.addable = (value) => value;
51
17
  }
@@ -56,12 +22,7 @@ function settings(el) {
56
22
  };
57
23
  }
58
24
 
59
- function init(el) {
60
- el.multiple = true;
61
- }
62
-
63
25
  export {
64
26
  settings,
65
27
  classes,
66
- init,
67
28
  };
@@ -18,15 +18,8 @@ const selectTypes = {
18
18
  tagsSelect,
19
19
  };
20
20
 
21
- // eslint-disable-next-line max-statements
21
+ // eslint-disable-next-line max-statements, complexity
22
22
  function setupSelect(el) {
23
- const emptyOption = el.querySelector('option[value=""]');
24
- if (!emptyOption) {
25
- el.insertAdjacentHTML('afterbegin', '<option value=""></option>');
26
- }
27
- el.querySelector('option[value=""]').dataset.placeholder = true;
28
-
29
- el.style.width = el.dataset.width;
30
23
  let settings = {
31
24
  select: el,
32
25
  settings: {
@@ -35,6 +28,31 @@ function setupSelect(el) {
35
28
  },
36
29
  };
37
30
 
31
+ const selectStyles = window.getComputedStyle(el);
32
+ el.style.width = el.dataset.width;
33
+ el.style.fontSize = selectStyles.fontSize;
34
+
35
+ const searchSelectFilter = el.closest('.filter_form_field');
36
+ if (searchSelectFilter) {
37
+ if (searchSelectFilter.classList.contains('search_select_filter') ||
38
+ searchSelectFilter.classList.contains('filter_string')) {
39
+ settings.settings.allowDeselect = false;
40
+ }
41
+
42
+ if (el.options.length > 0) {
43
+ el.style.width = el.dataset.width || selectStyles.width;
44
+ if (selectStyles.display === 'inline-block') {
45
+ el.style.display = 'inline-flex';
46
+ }
47
+ }
48
+ }
49
+
50
+ const emptyOption = el.querySelector('option[value=""]');
51
+ if (!emptyOption) {
52
+ el.insertAdjacentHTML('afterbegin', '<option value=""></option>');
53
+ }
54
+ el.querySelector('option[value=""]').dataset.placeholder = true;
55
+
38
56
  Object.keys(selectTypes).forEach((type) => {
39
57
  if (selectTypes[type].classes.some((className) => el.classList.contains(className))) {
40
58
  settings = merge({}, settings, selectTypes[type].settings(el));
@@ -44,8 +62,8 @@ function setupSelect(el) {
44
62
  }
45
63
  });
46
64
 
47
- const slim = new SlimSelect(settings);
48
- el.dataset.slimSelectId = slim.settings.id;
65
+ // eslint-disable-next-line no-new
66
+ new SlimSelect(settings);
49
67
  }
50
68
 
51
69
  function initSelects(node = document) {
@@ -1,4 +1,4 @@
1
- @import 'jquery-datetimepicker/build/jquery.datetimepicker.min.css';
1
+ @import 'imports/jquery-datepicker';
2
2
  @import 'vendor/palette-color-picker';
3
3
  @import 'imports/slimselect';
4
4
 
@@ -11,6 +11,7 @@ module ActiveAdminAddons
11
11
  def render
12
12
  raise "you need to install AASM gem first" unless defined? AASM
13
13
  raise "the #{attribute} is not an AASM state" unless state_attribute?
14
+
14
15
  context.status_tag(model.aasm(machine_name).human_state, class: status_class_for_model)
15
16
  end
16
17
 
@@ -4,7 +4,7 @@ module ActiveAdminAddons
4
4
  require "xdan-datetimepicker-rails"
5
5
  require "require_all"
6
6
 
7
- initializer "initialize addons" do |app|
7
+ initializer "initialize addons" do |_app|
8
8
  require_rel "support"
9
9
  require_rel "addons"
10
10
  require_rel "active_admin_config"
@@ -79,7 +79,7 @@ module ActiveAdminAddons
79
79
  end
80
80
 
81
81
  def has_label?
82
- has_opts? ? args.length == 3 : args.length == 2
82
+ args.length == (has_opts? ? 3 : 2)
83
83
  end
84
84
 
85
85
  def has_opts?
@@ -7,47 +7,5 @@ module ActiveAdminAddons
7
7
  include InputOptionsHandler
8
8
  include InputMethods
9
9
  include InputHtmlHelpers
10
-
11
- def to_html
12
- load_input_class
13
- load_control_attributes
14
- render_custom_input
15
- if parts.any?
16
- return input_wrapping { parts_to_html }
17
- else
18
- super
19
- end
20
- end
21
-
22
- def input_html_options
23
- # maxwidth and size are added by Formtastic::Inputs::StringInput
24
- # but according to the HTML standard these are not valid attributes
25
- # on the inputs provided by this module
26
- super.except(:maxlength, :size).merge(control_attributes)
27
- end
28
-
29
- def parts_to_html
30
- parts.flatten.join("\n").html_safe
31
- end
32
-
33
- def load_input_class
34
- load_class(self.class.to_s.underscore.dasherize)
35
- end
36
-
37
- def load_control_attributes
38
- # Override on child classes if needed
39
- end
40
-
41
- def render_custom_input
42
- # Override on child classes if needed
43
- end
44
-
45
- def parts
46
- @parts ||= []
47
- end
48
-
49
- def concat(part)
50
- parts << part
51
- end
52
10
  end
53
11
  end
@@ -14,6 +14,7 @@ module ActiveAdminAddons
14
14
  end
15
15
 
16
16
  return unless result
17
+
17
18
  result.values.first.value
18
19
  end
19
20
 
@@ -40,5 +40,47 @@ module ActiveAdminAddons
40
40
  value: value
41
41
  )
42
42
  end
43
+
44
+ def to_html
45
+ load_input_class
46
+ load_control_attributes
47
+ render_custom_input
48
+ if parts.any?
49
+ input_wrapping { parts_to_html }
50
+ else
51
+ super
52
+ end
53
+ end
54
+
55
+ def input_html_options
56
+ # maxwidth and size are added by Formtastic::Inputs::StringInput
57
+ # but according to the HTML standard these are not valid attributes
58
+ # on the inputs provided by this module
59
+ super.except(:maxlength, :size).merge(control_attributes)
60
+ end
61
+
62
+ def load_input_class
63
+ load_class(self.class.to_s.underscore.dasherize)
64
+ end
65
+
66
+ def load_control_attributes
67
+ # Override on child classes if needed
68
+ end
69
+
70
+ def render_custom_input
71
+ # Override on child classes if needed
72
+ end
73
+
74
+ def parts_to_html
75
+ parts.flatten.join("\n").html_safe # rubocop:disable Rails/OutputSafety
76
+ end
77
+
78
+ def concat(part)
79
+ parts << part
80
+ end
81
+
82
+ def parts
83
+ @parts ||= []
84
+ end
43
85
  end
44
86
  end
@@ -57,21 +57,19 @@ module ActiveAdminAddons
57
57
  end
58
58
 
59
59
  def selected_collection
60
- @selected_collection ||= begin
61
- if active_record_relation?(collection)
62
- collection.model.where(id: input_value)
63
- else
64
- method_model.where(id: input_value)
65
- end
66
- end
60
+ @selected_collection ||= if active_record_relation?(collection)
61
+ collection.model.where(id: input_value)
62
+ else
63
+ method_model.where(id: input_value)
64
+ end
67
65
  end
68
66
 
69
67
  def selected_item
70
68
  @selected_item ||= begin
71
- input_association_value
72
- rescue NoMethodError
73
- selected_collection.first
74
- end
69
+ input_association_value
70
+ rescue NoMethodError
71
+ selected_collection.first
72
+ end
75
73
  end
76
74
 
77
75
  private
@@ -14,6 +14,4 @@ module ActiveAdminAddons
14
14
  end
15
15
  end
16
16
 
17
- ::ActiveAdmin::Inputs::Filters::SelectInput.send(
18
- :prepend, ActiveAdminAddons::SelectFilterInputExtension
19
- )
17
+ ::ActiveAdmin::Inputs::Filters::SelectInput.prepend ActiveAdminAddons::SelectFilterInputExtension
@@ -0,0 +1,11 @@
1
+ require_relative "input_helpers/input_options_handler"
2
+ require_relative "input_helpers/input_methods"
3
+ require_relative "input_helpers/input_html_helpers"
4
+
5
+ module ActiveAdminAddons
6
+ class SelectInputBase < Formtastic::Inputs::SelectInput
7
+ include InputOptionsHandler
8
+ include InputMethods
9
+ include InputHtmlHelpers
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module ActiveadminAddons
2
- VERSION = "2.0.0.beta.0"
2
+ VERSION = "2.0.0.beta.2"
3
3
  end
@@ -5,16 +5,19 @@ module ActiveadminAddons
5
5
 
6
6
  def default_select
7
7
  return "slim-select" unless @default_select
8
+
8
9
  @default_select
9
10
  end
10
11
 
11
12
  def datetime_picker_default_options
12
13
  return {} unless @datetime_picker_default_options
14
+
13
15
  @datetime_picker_default_options
14
16
  end
15
17
 
16
18
  def datetime_picker_input_format
17
19
  return "%Y-%m-%d %H:%M" unless @datetime_picker_input_format
20
+
18
21
  @datetime_picker_input_format
19
22
  end
20
23
 
@@ -3,7 +3,7 @@ ActiveadminAddons.setup do |config|
3
3
  # config.default_select = "slim-select"
4
4
 
5
5
  # Set default options for DateTimePickerInput. The options you can provide are the same as in
6
- # xdan's datetimepicker library (https://github.com/xdan/datetimepicker/tree/2.5.4). Yo need to
6
+ # xdan's datetimepicker library (https://github.com/xdan/datetimepicker/tree/2.5.4). You need to
7
7
  # pass a ruby hash, avoid camelCase keys. For example: use min_date instead of minDate key.
8
8
  # config.datetime_picker_default_options = {}
9
9
 
@@ -11,9 +11,7 @@ module ActiveadminAddons
11
11
  def add_stylesheets
12
12
  file_path = 'app/javascript/stylesheets/active_admin.scss'
13
13
 
14
- begin
15
- prepend_file(file_path, css_assets)
16
- end
14
+ prepend_file(file_path, css_assets)
17
15
  end
18
16
 
19
17
  def install_package
@@ -23,8 +21,7 @@ module ActiveadminAddons
23
21
  private
24
22
 
25
23
  def js_assets
26
- to_add = "import \"activeadmin_addons\"\n"
27
- to_add
24
+ "import \"activeadmin_addons\"\n"
28
25
  end
29
26
 
30
27
  def css_assets
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: 2.0.0.beta.0
4
+ version: 2.0.0.beta.2
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: 2023-03-20 00:00:00.000000000 Z
14
+ date: 2023-06-12 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: railties
@@ -181,6 +181,20 @@ dependencies:
181
181
  - - ">="
182
182
  - !ruby/object:Gem::Version
183
183
  version: '0'
184
+ - !ruby/object:Gem::Dependency
185
+ name: pry-byebug
186
+ requirement: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ type: :development
192
+ prerelease: false
193
+ version_requirements: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
184
198
  - !ruby/object:Gem::Dependency
185
199
  name: pry-rails
186
200
  requirement: !ruby/object:Gem::Requirement
@@ -243,6 +257,20 @@ dependencies:
243
257
  - - ">="
244
258
  - !ruby/object:Gem::Version
245
259
  version: '0'
260
+ - !ruby/object:Gem::Dependency
261
+ name: rspec_junit_formatter
262
+ requirement: !ruby/object:Gem::Requirement
263
+ requirements:
264
+ - - ">="
265
+ - !ruby/object:Gem::Version
266
+ version: '0'
267
+ type: :development
268
+ prerelease: false
269
+ version_requirements: !ruby/object:Gem::Requirement
270
+ requirements:
271
+ - - ">="
272
+ - !ruby/object:Gem::Version
273
+ version: '0'
246
274
  - !ruby/object:Gem::Dependency
247
275
  name: rspec-rails
248
276
  requirement: !ruby/object:Gem::Requirement
@@ -272,7 +300,21 @@ dependencies:
272
300
  - !ruby/object:Gem::Version
273
301
  version: '0'
274
302
  - !ruby/object:Gem::Dependency
275
- name: rspec_junit_formatter
303
+ name: rubocop
304
+ requirement: !ruby/object:Gem::Requirement
305
+ requirements:
306
+ - - "~>"
307
+ - !ruby/object:Gem::Version
308
+ version: '1.50'
309
+ type: :development
310
+ prerelease: false
311
+ version_requirements: !ruby/object:Gem::Requirement
312
+ requirements:
313
+ - - "~>"
314
+ - !ruby/object:Gem::Version
315
+ version: '1.50'
316
+ - !ruby/object:Gem::Dependency
317
+ name: rubocop-performance
276
318
  requirement: !ruby/object:Gem::Requirement
277
319
  requirements:
278
320
  - - ">="
@@ -286,19 +328,33 @@ dependencies:
286
328
  - !ruby/object:Gem::Version
287
329
  version: '0'
288
330
  - !ruby/object:Gem::Dependency
289
- name: rubocop
331
+ name: rubocop-rails
332
+ requirement: !ruby/object:Gem::Requirement
333
+ requirements:
334
+ - - ">="
335
+ - !ruby/object:Gem::Version
336
+ version: '0'
337
+ type: :development
338
+ prerelease: false
339
+ version_requirements: !ruby/object:Gem::Requirement
340
+ requirements:
341
+ - - ">="
342
+ - !ruby/object:Gem::Version
343
+ version: '0'
344
+ - !ruby/object:Gem::Dependency
345
+ name: rubocop-rspec
290
346
  requirement: !ruby/object:Gem::Requirement
291
347
  requirements:
292
348
  - - "~>"
293
349
  - !ruby/object:Gem::Version
294
- version: 0.65.0
350
+ version: '2.2'
295
351
  type: :development
296
352
  prerelease: false
297
353
  version_requirements: !ruby/object:Gem::Requirement
298
354
  requirements:
299
355
  - - "~>"
300
356
  - !ruby/object:Gem::Version
301
- version: 0.65.0
357
+ version: '2.2'
302
358
  - !ruby/object:Gem::Dependency
303
359
  name: shoulda-matchers
304
360
  requirement: !ruby/object:Gem::Requirement
@@ -428,6 +484,7 @@ files:
428
484
  - lib/activeadmin_addons/support/input_helpers/input_options_handler.rb
429
485
  - lib/activeadmin_addons/support/input_helpers/select_helpers.rb
430
486
  - lib/activeadmin_addons/support/select_filter_input_extension.rb
487
+ - lib/activeadmin_addons/support/select_input_base.rb
431
488
  - lib/activeadmin_addons/support/set_datepicker.rb
432
489
  - lib/activeadmin_addons/version.rb
433
490
  - lib/generators/activeadmin_addons/install/install_generator.rb
@@ -446,14 +503,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
446
503
  requirements:
447
504
  - - ">="
448
505
  - !ruby/object:Gem::Version
449
- version: '0'
506
+ version: 2.7.0
450
507
  required_rubygems_version: !ruby/object:Gem::Requirement
451
508
  requirements:
452
509
  - - ">"
453
510
  - !ruby/object:Gem::Version
454
511
  version: 1.3.1
455
512
  requirements: []
456
- rubygems_version: 3.3.26
513
+ rubygems_version: 3.4.10
457
514
  signing_key:
458
515
  specification_version: 4
459
516
  summary: Set of addons to help with the activeadmin ui