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

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