ui_bibz 2.4.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. checksums.yaml +4 -4
  2. data/.overcommit.yml +5 -0
  3. data/.rubocop.yml +52 -0
  4. data/.rubocop_todo.yml +25 -0
  5. data/Gemfile +5 -3
  6. data/Gemfile.lock +25 -1
  7. data/Rakefile +8 -6
  8. data/config/initializers/simple_form_init.rb +3 -1
  9. data/config/initializers/will_paginate.rb +11 -6
  10. data/lib/generators/ui_bibz/install_generator.rb +6 -5
  11. data/lib/generators/ui_bibz/templates/ui_bibz_initializer.rb +1 -1
  12. data/lib/tasks/ui_bibz_tasks.rake +2 -0
  13. data/lib/ui_bibz.rb +91 -100
  14. data/lib/ui_bibz/concerns/models/searchable.rb +56 -61
  15. data/lib/ui_bibz/helpers/ui/core/boxes_helper.rb +9 -9
  16. data/lib/ui_bibz/helpers/ui/core/forms_helper.rb +26 -26
  17. data/lib/ui_bibz/helpers/ui/core/icons_helper.rb +6 -6
  18. data/lib/ui_bibz/helpers/ui/core/layouts_helper.rb +5 -5
  19. data/lib/ui_bibz/helpers/ui/core/lists_helper.rb +5 -4
  20. data/lib/ui_bibz/helpers/ui/core/navigations_helper.rb +9 -9
  21. data/lib/ui_bibz/helpers/ui/core/notifications_helper.rb +11 -11
  22. data/lib/ui_bibz/helpers/ui/core/windows_helper.rb +3 -3
  23. data/lib/ui_bibz/helpers/ui/core_helper.rb +2 -0
  24. data/lib/ui_bibz/helpers/ui/ux_helper.rb +12 -12
  25. data/lib/ui_bibz/helpers/utils_helper.rb +8 -11
  26. data/lib/ui_bibz/infos.rb +9 -7
  27. data/lib/ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder.rb +40 -39
  28. data/lib/ui_bibz/inputs/ui_bibz_inputs/base_input.rb +6 -5
  29. data/lib/ui_bibz/inputs/ui_bibz_inputs/collection_input.rb +8 -6
  30. data/lib/ui_bibz/inputs/ui_bibz_inputs/string_input.rb +18 -18
  31. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_auto_complete_field_input.rb +3 -2
  32. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_box_switch_field_input.rb +3 -2
  33. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_checkbox_field_input.rb +3 -2
  34. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_choice_group_input.rb +6 -5
  35. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_date_picker_field_input.rb +3 -2
  36. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_dropdown_select_field_input.rb +3 -3
  37. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_file_field_input.rb +3 -2
  38. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_formula_field_input.rb +5 -4
  39. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_markdown_editor_field_input.rb +3 -2
  40. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_multi_column_field_input.rb +3 -2
  41. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_multi_select_field_input.rb +3 -3
  42. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_number_field_input.rb +3 -2
  43. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_radio_field_input.rb +7 -7
  44. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_range_field_input.rb +3 -2
  45. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_select_field_input.rb +3 -2
  46. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_switch_field_input.rb +3 -2
  47. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input.rb +3 -2
  48. data/lib/ui_bibz/rails/engine.rb +11 -15
  49. data/lib/ui_bibz/ui/base.rb +10 -6
  50. data/lib/ui_bibz/ui/core/boxes/card.rb +31 -32
  51. data/lib/ui_bibz/ui/core/boxes/card_accordion.rb +7 -8
  52. data/lib/ui_bibz/ui/core/boxes/card_column.rb +11 -12
  53. data/lib/ui_bibz/ui/core/boxes/card_deck.rb +11 -12
  54. data/lib/ui_bibz/ui/core/boxes/card_group.rb +11 -12
  55. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_link.rb +5 -6
  56. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_text.rb +5 -6
  57. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_title.rb +5 -6
  58. data/lib/ui_bibz/ui/core/boxes/components/card_body.rb +11 -12
  59. data/lib/ui_bibz/ui/core/boxes/components/card_footer.rb +7 -8
  60. data/lib/ui_bibz/ui/core/boxes/components/card_header.rb +12 -13
  61. data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +6 -7
  62. data/lib/ui_bibz/ui/core/boxes/components/card_list_group.rb +4 -5
  63. data/lib/ui_bibz/ui/core/boxes/components/card_tab_group.rb +5 -6
  64. data/lib/ui_bibz/ui/core/boxes/jumbotron.rb +5 -6
  65. data/lib/ui_bibz/ui/core/component.rb +22 -20
  66. data/lib/ui_bibz/ui/core/forms/buttons/button.rb +14 -15
  67. data/lib/ui_bibz/ui/core/forms/buttons/button_group.rb +14 -15
  68. data/lib/ui_bibz/ui/core/forms/buttons/button_link.rb +5 -6
  69. data/lib/ui_bibz/ui/core/forms/buttons/button_refresh.rb +11 -11
  70. data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_dropdown.rb +5 -6
  71. data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_split_dropdown.rb +5 -6
  72. data/lib/ui_bibz/ui/core/forms/choices/box_switch_field.rb +5 -6
  73. data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +10 -11
  74. data/lib/ui_bibz/ui/core/forms/choices/choice_group.rb +8 -9
  75. data/lib/ui_bibz/ui/core/forms/choices/components/choice.rb +5 -6
  76. data/lib/ui_bibz/ui/core/forms/choices/radio_field.rb +6 -7
  77. data/lib/ui_bibz/ui/core/forms/choices/switch_field.rb +4 -5
  78. data/lib/ui_bibz/ui/core/forms/dates/date_picker_field.rb +22 -23
  79. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_divider.rb +3 -5
  80. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_header.rb +4 -5
  81. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_link.rb +6 -7
  82. data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +21 -22
  83. data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +8 -9
  84. data/lib/ui_bibz/ui/core/forms/files/file_field.rb +5 -6
  85. data/lib/ui_bibz/ui/core/forms/numbers/formula_field.rb +10 -11
  86. data/lib/ui_bibz/ui/core/forms/numbers/number_field.rb +3 -4
  87. data/lib/ui_bibz/ui/core/forms/numbers/range_field.rb +3 -4
  88. data/lib/ui_bibz/ui/core/forms/selects/abstract_select.rb +9 -9
  89. data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +6 -7
  90. data/lib/ui_bibz/ui/core/forms/selects/multi_column_field.rb +9 -10
  91. data/lib/ui_bibz/ui/core/forms/selects/multi_select_field.rb +13 -14
  92. data/lib/ui_bibz/ui/core/forms/selects/select_field.rb +6 -7
  93. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_addon.rb +4 -4
  94. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button.rb +3 -3
  95. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_group.rb +3 -3
  96. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_link.rb +3 -3
  97. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_refresh.rb +3 -3
  98. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_checkbox_field.rb +4 -4
  99. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_dropdown.rb +3 -3
  100. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_radio_field.rb +3 -3
  101. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_switch_field.rb +3 -3
  102. data/lib/ui_bibz/ui/core/forms/surrounds/surround_field.rb +24 -25
  103. data/lib/ui_bibz/ui/core/forms/textareas/markdown_editor_field.rb +4 -5
  104. data/lib/ui_bibz/ui/core/forms/texts/auto_complete_field.rb +6 -7
  105. data/lib/ui_bibz/ui/core/forms/texts/text_field.rb +6 -6
  106. data/lib/ui_bibz/ui/core/icons/components/glyph_counter.rb +5 -6
  107. data/lib/ui_bibz/ui/core/icons/components/glyph_text.rb +5 -6
  108. data/lib/ui_bibz/ui/core/icons/glyph.rb +13 -14
  109. data/lib/ui_bibz/ui/core/icons/glyph_group.rb +16 -17
  110. data/lib/ui_bibz/ui/core/icons/star.rb +7 -9
  111. data/lib/ui_bibz/ui/core/layouts/col.rb +20 -21
  112. data/lib/ui_bibz/ui/core/layouts/container.rb +5 -6
  113. data/lib/ui_bibz/ui/core/layouts/row.rb +4 -5
  114. data/lib/ui_bibz/ui/core/lists/components/list.rb +19 -20
  115. data/lib/ui_bibz/ui/core/lists/components/list/list_body.rb +4 -5
  116. data/lib/ui_bibz/ui/core/lists/components/list/list_header.rb +5 -6
  117. data/lib/ui_bibz/ui/core/lists/list_group.rb +15 -16
  118. data/lib/ui_bibz/ui/core/navigations/breadcrumb.rb +5 -6
  119. data/lib/ui_bibz/ui/core/navigations/components/breadcrumb_link.rb +7 -8
  120. data/lib/ui_bibz/ui/core/navigations/components/nav_dropdown.rb +6 -7
  121. data/lib/ui_bibz/ui/core/navigations/components/nav_link.rb +12 -13
  122. data/lib/ui_bibz/ui/core/navigations/components/nav_link_link.rb +7 -8
  123. data/lib/ui_bibz/ui/core/navigations/components/nav_link_list.rb +4 -5
  124. data/lib/ui_bibz/ui/core/navigations/components/nav_link_span.rb +8 -9
  125. data/lib/ui_bibz/ui/core/navigations/components/nav_text.rb +8 -9
  126. data/lib/ui_bibz/ui/core/navigations/components/navbar_brand.rb +5 -6
  127. data/lib/ui_bibz/ui/core/navigations/components/navbar_form.rb +8 -8
  128. data/lib/ui_bibz/ui/core/navigations/components/navbar_nav.rb +6 -7
  129. data/lib/ui_bibz/ui/core/navigations/components/navbar_text.rb +6 -7
  130. data/lib/ui_bibz/ui/core/navigations/components/pagination_link.rb +5 -6
  131. data/lib/ui_bibz/ui/core/navigations/components/toolbar_form.rb +7 -7
  132. data/lib/ui_bibz/ui/core/navigations/link.rb +6 -7
  133. data/lib/ui_bibz/ui/core/navigations/nav.rb +20 -27
  134. data/lib/ui_bibz/ui/core/navigations/navbar.rb +23 -24
  135. data/lib/ui_bibz/ui/core/navigations/pagination.rb +9 -12
  136. data/lib/ui_bibz/ui/core/navigations/tab_group.rb +7 -8
  137. data/lib/ui_bibz/ui/core/navigations/toolbar.rb +14 -15
  138. data/lib/ui_bibz/ui/core/notifications/alert.rb +11 -12
  139. data/lib/ui_bibz/ui/core/notifications/badge.rb +7 -8
  140. data/lib/ui_bibz/ui/core/notifications/components/alert_body.rb +5 -6
  141. data/lib/ui_bibz/ui/core/notifications/components/alert_header.rb +8 -9
  142. data/lib/ui_bibz/ui/core/notifications/components/bar.rb +11 -12
  143. data/lib/ui_bibz/ui/core/notifications/components/toast_body.rb +5 -6
  144. data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +7 -8
  145. data/lib/ui_bibz/ui/core/notifications/progress_bar.rb +12 -13
  146. data/lib/ui_bibz/ui/core/notifications/spinner.rb +11 -12
  147. data/lib/ui_bibz/ui/core/notifications/toast.rb +9 -10
  148. data/lib/ui_bibz/ui/core/windows/components/modal_body.rb +4 -5
  149. data/lib/ui_bibz/ui/core/windows/components/modal_footer.rb +4 -5
  150. data/lib/ui_bibz/ui/core/windows/components/modal_header.rb +6 -7
  151. data/lib/ui_bibz/ui/core/windows/modal.rb +8 -9
  152. data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +13 -15
  153. data/lib/ui_bibz/ui/extensions/core/component/klass_extension.rb +9 -10
  154. data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +22 -21
  155. data/lib/ui_bibz/ui/extensions/core/forms/connect_extension.rb +9 -9
  156. data/lib/ui_bibz/ui/extensions/core/forms/surround_extension.rb +8 -10
  157. data/lib/ui_bibz/ui/ux/containers/components/panel_body.rb +5 -6
  158. data/lib/ui_bibz/ui/ux/containers/components/panel_column.rb +6 -7
  159. data/lib/ui_bibz/ui/ux/containers/components/panel_deck.rb +6 -7
  160. data/lib/ui_bibz/ui/ux/containers/components/panel_footer.rb +5 -6
  161. data/lib/ui_bibz/ui/ux/containers/components/panel_group.rb +6 -7
  162. data/lib/ui_bibz/ui/ux/containers/components/panel_header.rb +12 -12
  163. data/lib/ui_bibz/ui/ux/containers/components/panel_tab_group.rb +5 -6
  164. data/lib/ui_bibz/ui/ux/containers/components/panel_toolbar.rb +5 -6
  165. data/lib/ui_bibz/ui/ux/containers/panel.rb +21 -22
  166. data/lib/ui_bibz/ui/ux/tables/components/actions.rb +14 -16
  167. data/lib/ui_bibz/ui/ux/tables/components/as.rb +8 -9
  168. data/lib/ui_bibz/ui/ux/tables/components/column.rb +4 -4
  169. data/lib/ui_bibz/ui/ux/tables/components/columns.rb +4 -3
  170. data/lib/ui_bibz/ui/ux/tables/components/store.rb +5 -7
  171. data/lib/ui_bibz/ui/ux/tables/components/thead.rb +5 -6
  172. data/lib/ui_bibz/ui/ux/tables/extensions/actionable.rb +24 -23
  173. data/lib/ui_bibz/ui/ux/tables/extensions/paginable.rb +8 -10
  174. data/lib/ui_bibz/ui/ux/tables/extensions/searchable.rb +9 -9
  175. data/lib/ui_bibz/ui/ux/tables/extensions/sortable.rb +26 -26
  176. data/lib/ui_bibz/ui/ux/tables/table.rb +32 -39
  177. data/lib/ui_bibz/ui/ux/tables/table_card.rb +18 -26
  178. data/lib/ui_bibz/ui/ux/tables/table_pagination.rb +15 -18
  179. data/lib/ui_bibz/ui/ux/tables/table_pagination_per_page.rb +15 -18
  180. data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +19 -23
  181. data/lib/ui_bibz/utils/glyph_changer.rb +13 -13
  182. data/lib/ui_bibz/utils/internationalization.rb +10 -7
  183. data/lib/ui_bibz/utils/screwdriver.rb +7 -5
  184. data/test/dummy/Rakefile +3 -1
  185. data/test/dummy/app/controllers/application_controller.rb +2 -0
  186. data/test/dummy/app/controllers/users_controller.rb +15 -14
  187. data/test/dummy/app/helpers/application_helper.rb +2 -0
  188. data/test/dummy/app/models/application_record.rb +2 -0
  189. data/test/dummy/app/models/continent.rb +2 -0
  190. data/test/dummy/app/models/country.rb +2 -0
  191. data/test/dummy/app/models/user.rb +2 -0
  192. data/test/dummy/bin/bundle +3 -1
  193. data/test/dummy/bin/rails +3 -1
  194. data/test/dummy/bin/rake +2 -0
  195. data/test/dummy/bin/setup +10 -8
  196. data/test/dummy/config.ru +2 -0
  197. data/test/dummy/config/application.rb +5 -4
  198. data/test/dummy/config/boot.rb +4 -2
  199. data/test/dummy/config/environment.rb +3 -1
  200. data/test/dummy/config/environments/development.rb +2 -0
  201. data/test/dummy/config/environments/production.rb +2 -0
  202. data/test/dummy/config/environments/test.rb +2 -0
  203. data/test/dummy/config/initializers/assets.rb +2 -0
  204. data/test/dummy/config/initializers/backtrace_silencers.rb +2 -0
  205. data/test/dummy/config/initializers/cookies_serializer.rb +2 -0
  206. data/test/dummy/config/initializers/filter_parameter_logging.rb +2 -0
  207. data/test/dummy/config/initializers/inflections.rb +2 -0
  208. data/test/dummy/config/initializers/mime_types.rb +2 -0
  209. data/test/dummy/config/initializers/session_store.rb +2 -0
  210. data/test/dummy/config/initializers/simple_form_bootstrap.rb +3 -1
  211. data/test/dummy/config/initializers/ui_bibz.rb +1 -1
  212. data/test/dummy/config/initializers/wrap_parameters.rb +2 -0
  213. data/test/dummy/config/routes.rb +2 -0
  214. data/test/dummy/db/migrate/20150123191805_create_users.rb +2 -0
  215. data/test/dummy/db/migrate/20170309084406_continents.rb +2 -0
  216. data/test/dummy/db/migrate/20170309084453_countries.rb +2 -0
  217. data/test/dummy/db/schema.rb +22 -22
  218. data/test/dummy/test/models/user_test.rb +2 -0
  219. data/test/factories/user.rb +6 -4
  220. data/test/simple_form_test.rb +28 -34
  221. data/test/store_test.rb +10 -9
  222. data/test/support/factory_bot.rb +9 -5
  223. data/test/test_helper.rb +8 -8
  224. data/test/ui/core/boxes/card_test.rb +28 -26
  225. data/test/ui/core/boxes/jumbotron_test.rb +4 -3
  226. data/test/ui/core/component_test.rb +4 -4
  227. data/test/ui/core/forms/buttons/button_group_test.rb +8 -7
  228. data/test/ui/core/forms/buttons/button_link_test.rb +16 -14
  229. data/test/ui/core/forms/buttons/button_refresh_test.rb +5 -5
  230. data/test/ui/core/forms/buttons/button_test.rb +25 -23
  231. data/test/ui/core/forms/choices/box_switch_field_test.rb +62 -62
  232. data/test/ui/core/forms/choices/checkbox_field_test.rb +7 -6
  233. data/test/ui/core/forms/choices/choice_group_test.rb +6 -5
  234. data/test/ui/core/forms/choices/radio_field_test.rb +7 -6
  235. data/test/ui/core/forms/dates/date_picker_field_test.rb +12 -11
  236. data/test/ui/core/forms/dropdowns/dropdown_test.rb +12 -11
  237. data/test/ui/core/forms/files/text_field_test.rb +7 -6
  238. data/test/ui/core/forms/numbers/formula_field_test.rb +7 -6
  239. data/test/ui/core/forms/numbers/number_field_test.rb +12 -11
  240. data/test/ui/core/forms/numbers/range_field_test.rb +12 -11
  241. data/test/ui/core/forms/selects/dropdown_select_field_test.rb +61 -60
  242. data/test/ui/core/forms/selects/multi_column_field_test.rb +14 -13
  243. data/test/ui/core/forms/selects/multi_select_field_test.rb +19 -18
  244. data/test/ui/core/forms/selects/select_field_test.rb +13 -13
  245. data/test/ui/core/forms/surrounds/surround_field_test.rb +54 -54
  246. data/test/ui/core/forms/textareas/markdown_editor_field_test.rb +7 -6
  247. data/test/ui/core/forms/texts/auto_complete_field_test.rb +8 -7
  248. data/test/ui/core/forms/texts/text_field_test.rb +17 -16
  249. data/test/ui/core/icons/glyph_group_test.rb +8 -8
  250. data/test/ui/core/icons/glyph_test.rb +4 -4
  251. data/test/ui/core/icons/star_test.rb +37 -36
  252. data/test/ui/core/layouts/col_test.rb +11 -10
  253. data/test/ui/core/layouts/container_test.rb +3 -2
  254. data/test/ui/core/layouts/row_test.rb +4 -3
  255. data/test/ui/core/lists/list_group_test.rb +7 -6
  256. data/test/ui/core/navigations/breadcrumb_test.rb +12 -14
  257. data/test/ui/core/navigations/link_test.rb +9 -8
  258. data/test/ui/core/navigations/nav_test.rb +22 -21
  259. data/test/ui/core/navigations/navbar_test.rb +11 -11
  260. data/test/ui/core/navigations/pagination_test.rb +14 -13
  261. data/test/ui/core/navigations/tab_group_test.rb +22 -21
  262. data/test/ui/core/navigations/toolbar_test.rb +4 -3
  263. data/test/ui/core/notifications/alert_test.rb +5 -4
  264. data/test/ui/core/notifications/badge_test.rb +5 -4
  265. data/test/ui/core/notifications/progress_bar_test.rb +13 -13
  266. data/test/ui/core/notifications/spinner_test.rb +9 -8
  267. data/test/ui/core/notifications/toast_test.rb +3 -2
  268. data/test/ui/core/windows/modal_test.rb +3 -2
  269. data/test/ui/ux/containers/panel_test.rb +7 -6
  270. data/test/ui/ux/tables/table_test.rb +33 -33
  271. data/test/ui_bibz_test.rb +3 -1
  272. data/ui_bibz.gemspec +32 -28
  273. metadata +73 -42
@@ -1,6 +1,7 @@
1
- require "ui_bibz/ui/ux/tables/components/store"
2
- module UiBibz::Ui::Ux::Tables
1
+ # frozen_string_literal: true
3
2
 
3
+ require 'ui_bibz/ui/ux/tables/components/store'
4
+ module UiBibz::Ui::Ux::Tables
4
5
  # Create a select pagination per page
5
6
  #
6
7
  # ==== Attributes
@@ -27,7 +28,7 @@ module UiBibz::Ui::Ux::Tables
27
28
 
28
29
  # Initialize per_page_field with component item
29
30
  # per_page_field require WillPaginate gem
30
- def initialize options = nil, html_options = nil
31
+ def initialize(options = nil, html_options = nil)
31
32
  @per_page_field = UiBibz::Ui::Core::Component.new nil, options, html_options
32
33
  end
33
34
 
@@ -42,16 +43,13 @@ module UiBibz::Ui::Ux::Tables
42
43
  end
43
44
  end
44
45
 
45
- private
46
+ private
46
47
 
47
48
  def store
48
- @store ||= if @per_page_field.options[:store].nil?
49
- raise 'Store is nil!'
50
- elsif @per_page_field.options[:store].try(:records).nil?
51
- raise 'Store can be created only with "table_search_pagination" method!'
52
- else
53
- Store.new @per_page_field.options.delete :store
54
- end
49
+ raise 'Store is nil!' if @per_page_field.options[:store].nil?
50
+ raise 'Store can be created only with "table_search_pagination" method!' if @per_page_field.options[:store].try(:records).nil?
51
+
52
+ @store ||= Store.new @per_page_field.options[:store]
55
53
  end
56
54
 
57
55
  def url_parameters
@@ -61,7 +59,7 @@ module UiBibz::Ui::Ux::Tables
61
59
  def per_page_html
62
60
  content_tag :div, class: 'table-pagination-per-page' do
63
61
  concat results_count_html
64
- concat UiBibz::Utils::Internationalization.new("ui_bibz.table.pagination.per_page", default: "Per page: ").translate
62
+ concat UiBibz::Utils::Internationalization.new('ui_bibz.table.pagination.per_page', default: 'Per page: ').translate
65
63
  concat select_tag('per_page', options_for_select([5, 10, 20, 30, 50, 100, 200, 500], store.per_page), class: 'form-control')
66
64
  end
67
65
  end
@@ -69,8 +67,8 @@ module UiBibz::Ui::Ux::Tables
69
67
  def per_page_html_in_wrap
70
68
  content_tag :div, class: 'table-pagination-per-page' do
71
69
  concat results_count_html
72
- concat UiBibz::Utils::Internationalization.new("ui_bibz.table.pagination.per_page", default: "Per page: ").translate
73
- store.parameters.with_indifferent_access.reject{ |k, v| default_parameters?(k) || v.blank? }.each do |k,v|
70
+ concat UiBibz::Utils::Internationalization.new('ui_bibz.table.pagination.per_page', default: 'Per page: ').translate
71
+ store.parameters.with_indifferent_access.reject { |k, v| default_parameters?(k) || v.blank? }.each do |k, v|
74
72
  concat tag(:input, type: 'hidden', name: k, value: v)
75
73
  end
76
74
  concat select_tag('per_page', options_for_select([5, 10, 20, 30, 50, 100, 200, 500], store.per_page), class: 'form-control')
@@ -79,7 +77,7 @@ module UiBibz::Ui::Ux::Tables
79
77
  end
80
78
 
81
79
  def results_count_html
82
- "#{ page_entries_info store.records } | ".html_safe
80
+ "#{page_entries_info store.records} | ".html_safe
83
81
  end
84
82
 
85
83
  def from_current_results
@@ -90,9 +88,8 @@ module UiBibz::Ui::Ux::Tables
90
88
  store.limit_value * store.current_page
91
89
  end
92
90
 
93
- def default_parameters?(k)
94
- %w(store_id search controller action page link_type utf8).include?(k)
91
+ def default_parameters?(key)
92
+ %w[store_id search controller action page link_type utf8].include?(key)
95
93
  end
96
-
97
94
  end
98
95
  end
@@ -1,11 +1,11 @@
1
- require "ui_bibz/ui/ux/tables/components/store"
2
- module UiBibz::Ui::Ux::Tables
1
+ # frozen_string_literal: true
3
2
 
3
+ require 'ui_bibz/ui/ux/tables/components/store'
4
+ module UiBibz::Ui::Ux::Tables
4
5
  class TableSearchField < UiBibz::Ui::Core::Component
5
-
6
6
  # Initialize search_field with component item
7
- def initialize content = nil, options = nil, html_options = nil
8
- html_options = options
7
+ def initialize(content = nil, options = nil, html_options = nil)
8
+ html_options = options # rubocop:disable Lint/ShadowedArgument
9
9
  options = content
10
10
  content = nil
11
11
  super
@@ -22,22 +22,19 @@ module UiBibz::Ui::Ux::Tables
22
22
  end
23
23
  end
24
24
 
25
- private
25
+ private
26
26
 
27
27
  def url_parameters
28
- #{ controller: store.controller, action: store.action, id: store.param_id }
28
+ # { controller: store.controller, action: store.action, id: store.param_id }
29
29
  store.parameters
30
30
  end
31
31
 
32
32
  # Store must be generated by *table_search_pagination* method
33
33
  def store
34
- @store ||= if @options[:store].nil?
35
- raise 'Store is nil!'
36
- elsif @options[:store].try(:records).nil?
37
- raise 'Store can be created only with "table_search_pagination" method!'
38
- else
39
- Store.new @options.delete :store
40
- end
34
+ raise 'Store is nil!' if @options[:store].nil?
35
+ raise 'Store can be created only with "table_search_pagination" method!' if @options[:store].try(:records).nil?
36
+
37
+ @store ||= Store.new @options[:store]
41
38
  end
42
39
 
43
40
  def search_field_html
@@ -53,7 +50,7 @@ module UiBibz::Ui::Ux::Tables
53
50
  def search_field_html_in_wrap
54
51
  content_tag :div, html_options do
55
52
  concat content_tag(:span, UiBibz::Ui::Core::Icons::Glyph.new('search').render, class: 'input-group-addon')
56
- store.parameters.with_indifferent_access.reject{ |k,_| default_parameters?(k) }.each do |k,v|
53
+ store.parameters.with_indifferent_access.reject { |k, _| default_parameters?(k) }.each do |k, v|
57
54
  concat tag(:input, type: 'hidden', name: k, value: v)
58
55
  end
59
56
  concat tag(:input, type: 'hidden', name: 'store_id', value: store.id) unless store.id.nil? # if there is more one table in html page
@@ -76,7 +73,7 @@ module UiBibz::Ui::Ux::Tables
76
73
  end
77
74
 
78
75
  def component_html_classes
79
- %w(input-group input-group-sm table-search-field)
76
+ %w[input-group input-group-sm table-search-field]
80
77
  end
81
78
 
82
79
  def search_placeholder_field
@@ -86,7 +83,7 @@ module UiBibz::Ui::Ux::Tables
86
83
  def searchable_attributes_sentence
87
84
  store.searchable_attributes.map do |i|
88
85
  attribute_name = underscorize_hash(i)
89
- UiBibz::Utils::Internationalization.new("ui_bibz.grid.searchable.field.searchable_attributes.#{ model_name }.#{ attribute_name }", default: [translate_searchable_attributes_by_active_record(attribute_name), attribute_name.to_s.humanize]).translate
86
+ UiBibz::Utils::Internationalization.new("ui_bibz.grid.searchable.field.searchable_attributes.#{model_name}.#{attribute_name}", default: [translate_searchable_attributes_by_active_record(attribute_name), attribute_name.to_s.humanize]).translate
90
87
  end.to_sentence(locale: I18n.locale)
91
88
  end
92
89
 
@@ -94,17 +91,16 @@ module UiBibz::Ui::Ux::Tables
94
91
  store.model.to_s.underscore
95
92
  end
96
93
 
97
- def translate_searchable_attributes_by_active_record attr
94
+ def translate_searchable_attributes_by_active_record(attr)
98
95
  store.model.human_attribute_name(attr)
99
96
  end
100
97
 
101
- def underscorize_hash attr
102
- attr.kind_of?(Hash) ? "#{ attr.keys.first }_#{ attr.values.first }".to_sym : attr
98
+ def underscorize_hash(attr)
99
+ attr.is_a?(Hash) ? "#{attr.keys.first}_#{attr.values.first}".to_sym : attr
103
100
  end
104
101
 
105
- def default_parameters?(k)
106
- %w(store_id search controller action utf8 link_type).include?(k)
102
+ def default_parameters?(key)
103
+ %w[store_id search controller action utf8 link_type].include?(key)
107
104
  end
108
-
109
105
  end
110
106
  end
@@ -1,16 +1,17 @@
1
- # Glyph changer
2
- #
3
- # => ui_link 'My link', url: '#', glyph: { type: :group, items: [{ name: 'circle', stataus: :danger },{ name: 'times', inverse: true, transform:'shrink-6'}] }
1
+ # frozen_string_literal: true
2
+
4
3
  module UiBibz::Utils
4
+ # Glyph changer
5
+ #
6
+ # => ui_link 'My link', url: '#', glyph: { type: :group, items: [{ name: 'circle', stataus: :danger },{ name: 'times', inverse: true, transform:'shrink-6'}] }
5
7
  class GlyphChanger
6
-
7
- def initialize glyph_options, options = {}
8
+ def initialize(glyph_options, options = {})
8
9
  @glyph_options = glyph_options
9
10
  @options = options
10
11
  end
11
12
 
12
13
  def render
13
- @glyph_options.kind_of?(Hash) ? glyph_or_glyph_group : glyph_by_hash
14
+ @glyph_options.is_a?(Hash) ? glyph_or_glyph_group : glyph_by_hash
14
15
  end
15
16
 
16
17
  private
@@ -23,21 +24,21 @@ module UiBibz::Utils
23
24
  glyph_name = @glyph_options.try(:[], :name)
24
25
  glyph_opts = @glyph_options
25
26
  glyph_html_opts = @options[:html_options] || {}
26
- #glyph_html_opts = glyph_html_opts.merge(@options[:text] ? {} : { title: @options[:content] })
27
+ # glyph_html_opts = glyph_html_opts.merge(@options[:text] ? {} : { title: @options[:content] })
27
28
  glyph_items = @glyph_options.try(:[], :items) || []
28
29
 
29
30
  [glyph_name, glyph_opts, glyph_html_opts, glyph_items]
30
31
  end
31
32
 
32
33
  def glyph_by_hash
33
- if @glyph_options.kind_of?(Hash)
34
+ if @glyph_options.is_a?(Hash)
34
35
  glyph_name, glyph_opts, glyph_html_opts = format_opts
35
36
  else
36
37
  glyph_name = @glyph_options
37
38
  glyph_opts = @options
38
- #title = [(@options[:content] unless @options[:text]), ("<kbd>#{ @options[:shortcut] }</kbd>" unless @options[:shortcut].nil?)].compact.join(" ")
39
+ # title = [(@options[:content] unless @options[:text]), ("<kbd>#{ @options[:shortcut] }</kbd>" unless @options[:shortcut].nil?)].compact.join(" ")
39
40
  glyph_html_opts = @options[:html_options] || {}
40
- # glyph_html_opts = glyph_html_opts.merge(title.blank? ? {} : { title: title.html_safe })
41
+ # glyph_html_opts = glyph_html_opts.merge(title.blank? ? {} : { title: title.html_safe })
41
42
  end
42
43
 
43
44
  UiBibz::Ui::Core::Icons::Glyph.new(glyph_name, glyph_opts, glyph_html_opts).render unless glyph_name.nil?
@@ -47,11 +48,10 @@ module UiBibz::Utils
47
48
  _, glyph_opts, glyph_html_opts, glyph_items = format_opts
48
49
 
49
50
  UiBibz::Ui::Core::Icons::GlyphGroup.new(glyph_opts, glyph_html_opts).tap do |gg|
50
- glyph_items.each do|item|
51
- gg.send(item[:type] ||:glyph, item[:name] || item[:content], item, item[:html_options] || {})
51
+ glyph_items.each do |item|
52
+ gg.send(item[:type] || :glyph, item[:name] || item[:content], item, item[:html_options] || {})
52
53
  end
53
54
  end.render
54
55
  end
55
-
56
56
  end
57
57
  end
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Transalte with array of translation
2
4
  #
3
5
  # => UiBibz::Utils::Internationalization.new("ui_bibz.table.actions.#{ @store.model.to_s.underscore }.show", default: defaults).translate
4
6
  module UiBibz::Utils
7
+ # Internalizations methods to translate can be used outside of Ui Bibz
5
8
  class Internationalization
6
-
7
- def initialize translation, options = {}
9
+ def initialize(translation, options = {})
8
10
  @translation = translation
9
11
  @options = options
10
12
  end
@@ -13,7 +15,7 @@ module UiBibz::Utils
13
15
  I18n.t(@translation, options_with_default)
14
16
  end
15
17
 
16
- private
18
+ private
17
19
 
18
20
  def options_with_default
19
21
  @options[:default] = translate_default unless @options[:default].nil?
@@ -21,13 +23,14 @@ module UiBibz::Utils
21
23
  end
22
24
 
23
25
  # To know if translation missing
24
- def i18n_set? key
25
- I18n.t key, :raise => true rescue false
26
+ def i18n_set?(key)
27
+ I18n.t key, raise: true
28
+ rescue StandardError
29
+ false
26
30
  end
27
31
 
28
32
  def translate_default
29
- I18n.t([*@options[:default]].select{ |translation| i18n_set? translation }.first, default: [*@options[:default]].last)
33
+ I18n.t([*@options[:default]].select { |translation| i18n_set? translation }.first, default: [*@options[:default]].last)
30
34
  end
31
-
32
35
  end
33
36
  end
@@ -1,20 +1,22 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module UiBibz::Utils
4
+ # Utils methods can be used outside of Ui Bibz
2
5
  class Screwdriver
3
6
  include Singleton
4
7
 
5
- def self.join_classes *classes
8
+ def self.join_classes(*classes)
6
9
  klasses = [*classes].flatten.map(&:to_s).compact.uniq.reject(&:blank?)
7
10
  klasses.empty? ? nil : klasses
8
11
  end
9
12
 
10
- def self.exclude_classes html_classes, *classes
11
- klasses = (html_classes || []).flatten.map(&:to_s).reject{ |klass_name| [*classes].flatten.include?(klass_name.to_s) || klass_name.blank? }
13
+ def self.exclude_classes(html_classes, *classes)
14
+ klasses = (html_classes || []).flatten.map(&:to_s).reject { |klass_name| [*classes].flatten.include?(klass_name.to_s) || klass_name.blank? }
12
15
  klasses.empty? ? nil : klasses
13
16
  end
14
17
 
15
- def self.uniq_word_in_string str
18
+ def self.uniq_word_in_string(str)
16
19
  str.split(/\s/).uniq
17
20
  end
18
-
19
21
  end
20
22
  end
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Add your own tasks in files placed in lib/tasks ending in .rake,
2
4
  # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
5
 
4
- require File.expand_path('../config/application', __FILE__)
6
+ require File.expand_path('config/application', __dir__)
5
7
 
6
8
  Rails.application.load_tasks
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class ApplicationController < ActionController::Base
2
4
  # Prevent CSRF attacks by raising an exception.
3
5
  # For APIs, you may want to use :null_session instead.
@@ -1,18 +1,19 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class UsersController < ApplicationController
2
4
  # Prevent CSRF attacks by raising an exception.
3
5
  # For APIs, you may want to use :null_session instead.
4
- def index
5
- end
6
- def add
7
- end
8
- def edit
9
- end
10
- def show
11
- end
12
- def create
13
- end
14
- def update
15
- end
16
- def destroy
17
- end
6
+ def index; end
7
+
8
+ def add; end
9
+
10
+ def edit; end
11
+
12
+ def show; end
13
+
14
+ def create; end
15
+
16
+ def update; end
17
+
18
+ def destroy; end
18
19
  end
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ApplicationHelper
2
4
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class ApplicationRecord < ActiveRecord::Base
2
4
  self.abstract_class = true
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Continent < ApplicationRecord
2
4
  has_many :countries
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Country < ApplicationRecord
2
4
  belongs_to :continent
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class User < ApplicationRecord
2
4
  include UiBibz::Concerns::Models::Searchable
3
5
 
@@ -1,3 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
2
+ # frozen_string_literal: true
3
+
4
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
3
5
  load Gem.bin_path('bundler', 'bundle')
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
- APP_PATH = File.expand_path('../../config/application', __FILE__)
2
+ # frozen_string_literal: true
3
+
4
+ APP_PATH = File.expand_path('../config/application', __dir__)
3
5
  require_relative '../config/boot'
4
6
  require 'rails/commands'
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
2
4
  require_relative '../config/boot'
3
5
  require 'rake'
4
6
  Rake.application.run
@@ -1,16 +1,18 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
2
4
  require 'pathname'
3
5
 
4
6
  # path to your application root.
5
- APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
7
+ APP_ROOT = Pathname.new File.expand_path('..', __dir__)
6
8
 
7
9
  Dir.chdir APP_ROOT do
8
10
  # This script is a starting point to setup your application.
9
11
  # Add necessary setup steps to this file:
10
12
 
11
- puts "== Installing dependencies =="
12
- system "gem install bundler --conservative"
13
- system "bundle check || bundle install"
13
+ puts '== Installing dependencies =='
14
+ system 'gem install bundler --conservative'
15
+ system 'bundle check || bundle install'
14
16
 
15
17
  # puts "\n== Copying sample files =="
16
18
  # unless File.exist?("config/database.yml")
@@ -18,12 +20,12 @@ Dir.chdir APP_ROOT do
18
20
  # end
19
21
 
20
22
  puts "\n== Preparing database =="
21
- system "bin/rake db:setup"
23
+ system 'bin/rake db:setup'
22
24
 
23
25
  puts "\n== Removing old logs and tempfiles =="
24
- system "rm -f log/*"
25
- system "rm -rf tmp/cache"
26
+ system 'rm -f log/*'
27
+ system 'rm -rf tmp/cache'
26
28
 
27
29
  puts "\n== Restarting application server =="
28
- system "touch tmp/restart.txt"
30
+ system 'touch tmp/restart.txt'
29
31
  end