active_scaffold 3.7.12 → 4.0.0.rc1

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 (303) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.rdoc +9 -23
  3. data/README.md +3 -2
  4. data/app/assets/config/active_scaffold_manifest.js +3 -0
  5. data/app/assets/javascripts/active_scaffold.js.erb +24 -34
  6. data/app/assets/javascripts/jquery/active_scaffold.js +41 -58
  7. data/app/assets/javascripts/jquery/date_picker_bridge.js.erb +1 -1
  8. data/app/assets/stylesheets/active_scaffold_colors.scss +0 -7
  9. data/app/assets/stylesheets/active_scaffold_extensions.css.erb +2 -2
  10. data/app/assets/stylesheets/active_scaffold_jquery_ui.css.erb +7 -7
  11. data/app/assets/stylesheets/active_scaffold_layout.css +57 -30
  12. data/app/views/active_scaffold_overrides/_add_existing_form.html.erb +10 -10
  13. data/app/views/active_scaffold_overrides/_base_form.html.erb +21 -21
  14. data/app/views/active_scaffold_overrides/_create_form.html.erb +10 -7
  15. data/app/views/active_scaffold_overrides/_create_form_on_list.html.erb +5 -5
  16. data/app/views/active_scaffold_overrides/_field_search.html.erb +6 -6
  17. data/app/views/active_scaffold_overrides/_form.html.erb +11 -14
  18. data/app/views/active_scaffold_overrides/_form_association.html.erb +21 -12
  19. data/app/views/active_scaffold_overrides/_form_association_footer.html.erb +19 -10
  20. data/app/views/active_scaffold_overrides/_form_association_record.html.erb +15 -21
  21. data/app/views/active_scaffold_overrides/_form_messages.html.erb +2 -2
  22. data/app/views/active_scaffold_overrides/_horizontal_subform.html.erb +7 -6
  23. data/app/views/active_scaffold_overrides/_human_conditions.html.erb +2 -2
  24. data/app/views/active_scaffold_overrides/_list.html.erb +15 -8
  25. data/app/views/active_scaffold_overrides/_list_calculations.html.erb +2 -3
  26. data/app/views/active_scaffold_overrides/_list_header.html.erb +2 -2
  27. data/app/views/active_scaffold_overrides/_list_inline_adapter.html.erb +5 -5
  28. data/app/views/active_scaffold_overrides/_list_messages.html.erb +12 -3
  29. data/app/views/active_scaffold_overrides/_list_pagination.html.erb +3 -3
  30. data/app/views/active_scaffold_overrides/_list_pagination_links.html.erb +4 -4
  31. data/app/views/active_scaffold_overrides/_list_record.html.erb +6 -6
  32. data/app/views/active_scaffold_overrides/_list_with_header.html.erb +4 -4
  33. data/app/views/active_scaffold_overrides/_messages.html.erb +1 -1
  34. data/app/views/active_scaffold_overrides/_refresh_list.js.erb +2 -2
  35. data/app/views/active_scaffold_overrides/_render_field.js.erb +4 -4
  36. data/app/views/active_scaffold_overrides/_row.html.erb +1 -1
  37. data/app/views/active_scaffold_overrides/_search.html.erb +6 -5
  38. data/app/views/active_scaffold_overrides/_show.html.erb +3 -3
  39. data/app/views/active_scaffold_overrides/_show_actions.html.erb +1 -1
  40. data/app/views/active_scaffold_overrides/_show_association.html.erb +1 -1
  41. data/app/views/active_scaffold_overrides/_show_association_horizontal.html.erb +1 -1
  42. data/app/views/active_scaffold_overrides/_show_association_vertical.html.erb +1 -1
  43. data/app/views/active_scaffold_overrides/_show_columns.html.erb +1 -1
  44. data/app/views/active_scaffold_overrides/_show_horizontal_record.html.erb +1 -1
  45. data/app/views/active_scaffold_overrides/_update_actions.html.erb +1 -1
  46. data/app/views/active_scaffold_overrides/_update_calculations.js.erb +2 -2
  47. data/app/views/active_scaffold_overrides/_update_column.js.erb +8 -7
  48. data/app/views/active_scaffold_overrides/_update_form.html.erb +5 -5
  49. data/app/views/active_scaffold_overrides/_update_messages.js.erb +1 -1
  50. data/app/views/active_scaffold_overrides/_vertical_subform.html.erb +4 -3
  51. data/app/views/active_scaffold_overrides/action_confirmation.html.erb +3 -3
  52. data/app/views/active_scaffold_overrides/add_existing.js.erb +6 -6
  53. data/app/views/active_scaffold_overrides/add_existing_form.html.erb +1 -1
  54. data/app/views/active_scaffold_overrides/add_tab.js.erb +15 -0
  55. data/app/views/active_scaffold_overrides/create.html.erb +1 -1
  56. data/app/views/active_scaffold_overrides/delete.html.erb +4 -4
  57. data/app/views/active_scaffold_overrides/destroy.js.erb +15 -13
  58. data/app/views/active_scaffold_overrides/edit_associated.js.erb +3 -3
  59. data/app/views/active_scaffold_overrides/field_search.html.erb +1 -1
  60. data/app/views/active_scaffold_overrides/form_messages.js.erb +1 -1
  61. data/app/views/active_scaffold_overrides/list.html.erb +1 -1
  62. data/app/views/active_scaffold_overrides/on_action_update.js.erb +13 -8
  63. data/app/views/active_scaffold_overrides/on_create.js.erb +34 -6
  64. data/app/views/active_scaffold_overrides/on_mark.js.erb +3 -3
  65. data/app/views/active_scaffold_overrides/on_update.js.erb +9 -9
  66. data/app/views/active_scaffold_overrides/render_field.js.erb +1 -1
  67. data/app/views/active_scaffold_overrides/render_field_inplace.html.erb +1 -1
  68. data/app/views/active_scaffold_overrides/row.js.erb +2 -2
  69. data/app/views/active_scaffold_overrides/search.html.erb +1 -1
  70. data/app/views/active_scaffold_overrides/show.html.erb +3 -3
  71. data/app/views/active_scaffold_overrides/update.html.erb +2 -2
  72. data/app/views/active_scaffold_overrides/update_column.js.erb +4 -4
  73. data/app/views/active_scaffold_overrides/update_row.js.erb +1 -1
  74. data/lib/active_scaffold/actions/common_search.rb +5 -3
  75. data/lib/active_scaffold/actions/core.rb +57 -32
  76. data/lib/active_scaffold/actions/create.rb +19 -17
  77. data/lib/active_scaffold/actions/delete.rb +10 -12
  78. data/lib/active_scaffold/actions/field_search.rb +28 -13
  79. data/lib/active_scaffold/actions/list.rb +34 -34
  80. data/lib/active_scaffold/actions/mark.rb +5 -5
  81. data/lib/active_scaffold/actions/nested.rb +64 -56
  82. data/lib/active_scaffold/actions/search.rb +2 -2
  83. data/lib/active_scaffold/actions/show.rb +5 -5
  84. data/lib/active_scaffold/actions/subform.rb +15 -4
  85. data/lib/active_scaffold/actions/update.rb +20 -20
  86. data/lib/active_scaffold/active_record_permissions.rb +4 -3
  87. data/lib/active_scaffold/attribute_params.rb +51 -50
  88. data/lib/active_scaffold/bridges/active_storage/active_storage_bridge.rb +4 -4
  89. data/lib/active_scaffold/bridges/active_storage/active_storage_helpers.rb +6 -2
  90. data/lib/active_scaffold/bridges/active_storage.rb +1 -1
  91. data/lib/active_scaffold/bridges/ancestry/ancestry_bridge.rb +3 -3
  92. data/lib/active_scaffold/bridges/bitfields/bitfields_bridge.rb +4 -1
  93. data/lib/active_scaffold/bridges/bitfields.rb +1 -1
  94. data/lib/active_scaffold/bridges/cancan/cancan_bridge.rb +9 -8
  95. data/lib/active_scaffold/bridges/cancan.rb +8 -8
  96. data/lib/active_scaffold/bridges/carrierwave/form_ui.rb +1 -1
  97. data/lib/active_scaffold/bridges/carrierwave/list_ui.rb +4 -3
  98. data/lib/active_scaffold/bridges/carrierwave.rb +2 -2
  99. data/lib/active_scaffold/bridges/chosen.rb +1 -5
  100. data/lib/active_scaffold/bridges/country_select/country_select_bridge_helper.rb +4 -2
  101. data/lib/active_scaffold/bridges/date_picker/ext.rb +20 -12
  102. data/lib/active_scaffold/bridges/date_picker/helper.rb +37 -33
  103. data/lib/active_scaffold/bridges/date_picker.rb +1 -4
  104. data/lib/active_scaffold/bridges/dragonfly/dragonfly_bridge.rb +1 -1
  105. data/lib/active_scaffold/bridges/dragonfly/list_ui.rb +3 -2
  106. data/lib/active_scaffold/bridges/dragonfly.rb +1 -1
  107. data/lib/active_scaffold/bridges/file_column/as_file_column_bridge.rb +3 -2
  108. data/lib/active_scaffold/bridges/file_column/file_column_helpers.rb +2 -1
  109. data/lib/active_scaffold/bridges/file_column/form_ui.rb +4 -9
  110. data/lib/active_scaffold/bridges/file_column/list_ui.rb +6 -3
  111. data/lib/active_scaffold/bridges/file_column/test/functional/file_column_keep_test.rb +3 -3
  112. data/lib/active_scaffold/bridges/file_column/test/mock_model.rb +1 -4
  113. data/lib/active_scaffold/bridges/file_column.rb +1 -0
  114. data/lib/active_scaffold/bridges/paper_trail/actions.rb +4 -2
  115. data/lib/active_scaffold/bridges/paper_trail/config.rb +1 -1
  116. data/lib/active_scaffold/bridges/paper_trail/helper.rb +1 -1
  117. data/lib/active_scaffold/bridges/paper_trail/paper_trail_bridge.rb +2 -1
  118. data/lib/active_scaffold/bridges/paperclip/list_ui.rb +3 -2
  119. data/lib/active_scaffold/bridges/paperclip/paperclip_bridge.rb +1 -1
  120. data/lib/active_scaffold/bridges/paperclip/paperclip_bridge_helpers.rb +10 -9
  121. data/lib/active_scaffold/bridges/paperclip.rb +2 -1
  122. data/lib/active_scaffold/bridges/record_select/helpers.rb +10 -11
  123. data/lib/active_scaffold/bridges/semantic_attributes/column.rb +3 -1
  124. data/lib/active_scaffold/bridges/tiny_mce/helpers.rb +3 -7
  125. data/lib/active_scaffold/bridges/tiny_mce.rb +2 -7
  126. data/lib/active_scaffold/bridges/usa_state_select/usa_state_select_helper.rb +7 -7
  127. data/lib/active_scaffold/bridges.rb +7 -5
  128. data/lib/active_scaffold/config/base.rb +20 -24
  129. data/lib/active_scaffold/config/core.rb +27 -39
  130. data/lib/active_scaffold/config/create.rb +1 -1
  131. data/lib/active_scaffold/config/delete.rb +9 -9
  132. data/lib/active_scaffold/config/field_search.rb +4 -9
  133. data/lib/active_scaffold/config/form.rb +3 -1
  134. data/lib/active_scaffold/config/list.rb +19 -15
  135. data/lib/active_scaffold/config/nested.rb +2 -2
  136. data/lib/active_scaffold/config/search.rb +5 -5
  137. data/lib/active_scaffold/config/show.rb +1 -1
  138. data/lib/active_scaffold/config/subform.rb +1 -1
  139. data/lib/active_scaffold/config/update.rb +4 -5
  140. data/lib/active_scaffold/configurable.rb +2 -1
  141. data/lib/active_scaffold/constraints.rb +16 -11
  142. data/lib/active_scaffold/core.rb +25 -27
  143. data/lib/active_scaffold/data_structures/action_columns.rb +10 -3
  144. data/lib/active_scaffold/data_structures/action_link.rb +19 -9
  145. data/lib/active_scaffold/data_structures/action_links.rb +20 -26
  146. data/lib/active_scaffold/data_structures/actions.rb +3 -3
  147. data/lib/active_scaffold/data_structures/association/abstract.rb +8 -4
  148. data/lib/active_scaffold/data_structures/association/active_mongoid.rb +1 -0
  149. data/lib/active_scaffold/data_structures/association/active_record.rb +1 -4
  150. data/lib/active_scaffold/data_structures/column.rb +368 -327
  151. data/lib/active_scaffold/data_structures/columns.rb +3 -2
  152. data/lib/active_scaffold/data_structures/nested_info.rb +6 -5
  153. data/lib/active_scaffold/data_structures/proxy_column.rb +68 -0
  154. data/lib/active_scaffold/data_structures/set.rb +7 -4
  155. data/lib/active_scaffold/data_structures/sorting.rb +21 -12
  156. data/lib/active_scaffold/engine.rb +12 -12
  157. data/lib/active_scaffold/extensions/action_controller_rendering.rb +5 -5
  158. data/lib/active_scaffold/extensions/action_controller_rescueing.rb +1 -1
  159. data/lib/active_scaffold/extensions/action_view_rendering.rb +29 -31
  160. data/lib/active_scaffold/extensions/ice_nine.rb +2 -1
  161. data/lib/active_scaffold/extensions/localize.rb +2 -2
  162. data/lib/active_scaffold/extensions/name_option_for_datetime.rb +1 -1
  163. data/lib/active_scaffold/extensions/routing_mapper.rb +5 -4
  164. data/lib/active_scaffold/extensions/unsaved_associated.rb +3 -2
  165. data/lib/active_scaffold/finder.rb +71 -78
  166. data/lib/active_scaffold/helpers/action_link_helpers.rb +37 -49
  167. data/lib/active_scaffold/helpers/association_helpers.rb +3 -2
  168. data/lib/active_scaffold/helpers/controller_helpers.rb +18 -16
  169. data/lib/active_scaffold/helpers/form_column_helpers.rb +69 -53
  170. data/lib/active_scaffold/helpers/human_condition_helpers.rb +17 -15
  171. data/lib/active_scaffold/helpers/id_helpers.rb +5 -5
  172. data/lib/active_scaffold/helpers/list_column_helpers.rb +35 -38
  173. data/lib/active_scaffold/helpers/pagination_helpers.rb +4 -4
  174. data/lib/active_scaffold/helpers/search_column_helpers.rb +25 -34
  175. data/lib/active_scaffold/helpers/show_column_helpers.rb +7 -4
  176. data/lib/active_scaffold/helpers/tabs_helpers.rb +88 -0
  177. data/lib/active_scaffold/helpers/view_helpers.rb +15 -13
  178. data/lib/active_scaffold/marked_model.rb +1 -2
  179. data/lib/active_scaffold/orm_checks.rb +6 -4
  180. data/lib/active_scaffold/paginator.rb +3 -2
  181. data/lib/active_scaffold/registry.rb +5 -0
  182. data/lib/active_scaffold/tableless.rb +24 -14
  183. data/lib/active_scaffold/version.rb +4 -4
  184. data/lib/active_scaffold.rb +8 -34
  185. data/lib/generators/active_scaffold/controller_generator.rb +20 -20
  186. data/lib/generators/active_scaffold/install_generator.rb +4 -8
  187. data/lib/generators/active_scaffold/resource_generator.rb +31 -31
  188. data/lib/tasks/brakeman.rake +1 -1
  189. data/shoulda_macros/macros.rb +14 -14
  190. metadata +11 -232
  191. data/app/assets/javascripts/prototype/active_scaffold.js +0 -1249
  192. data/app/assets/javascripts/prototype/active_scaffold_chosen.js +0 -0
  193. data/app/assets/javascripts/prototype/dhtml_history.js +0 -870
  194. data/app/assets/javascripts/prototype/form_enhancements.js +0 -117
  195. data/app/assets/javascripts/prototype/tiny_mce_bridge.js +0 -17
  196. data/app/views/active_scaffold_overrides/_list_messages_content.html.erb +0 -8
  197. data/app/views/active_scaffold_overrides/_new_record.js.erb +0 -15
  198. data/app/views/active_scaffold_overrides/_popup_adapter.html.erb +0 -20
  199. data/app/views/active_scaffold_overrides/_refresh_create_form.js.erb +0 -12
  200. data/lib/active_scaffold/bridges/calendar_date_select/as_cds_bridge.rb +0 -58
  201. data/lib/active_scaffold/bridges/calendar_date_select.rb +0 -17
  202. data/lib/active_scaffold/data_structures/action_link_separator.rb +0 -13
  203. data/lib/active_scaffold/extensions/cow_proxy.rb +0 -102
  204. data/test/active_scaffold_config_mock.rb +0 -33
  205. data/test/bridges/bridge_test.rb +0 -88
  206. data/test/bridges/date_picker_test.rb +0 -31
  207. data/test/bridges/paper_trail_test.rb +0 -16
  208. data/test/bridges/paperclip_test.rb +0 -85
  209. data/test/bridges/tiny_mce_test.rb +0 -61
  210. data/test/class_with_finder.rb +0 -42
  211. data/test/company.rb +0 -97
  212. data/test/config/base_test.rb +0 -17
  213. data/test/config/core_test.rb +0 -66
  214. data/test/config/create_test.rb +0 -72
  215. data/test/config/delete_test.rb +0 -35
  216. data/test/config/field_search_test.rb +0 -49
  217. data/test/config/list_test.rb +0 -134
  218. data/test/config/nested_test.rb +0 -55
  219. data/test/config/search_test.rb +0 -62
  220. data/test/config/show_test.rb +0 -45
  221. data/test/config/subform_test.rb +0 -19
  222. data/test/config/update_test.rb +0 -52
  223. data/test/const_mocker.rb +0 -32
  224. data/test/data_structures/action_columns_test.rb +0 -112
  225. data/test/data_structures/action_link_test.rb +0 -79
  226. data/test/data_structures/action_links_test.rb +0 -78
  227. data/test/data_structures/actions_test.rb +0 -25
  228. data/test/data_structures/association_column_test.rb +0 -41
  229. data/test/data_structures/column_test.rb +0 -186
  230. data/test/data_structures/columns_test.rb +0 -68
  231. data/test/data_structures/set_test.rb +0 -84
  232. data/test/data_structures/sorting_test.rb +0 -148
  233. data/test/data_structures/standard_column_test.rb +0 -23
  234. data/test/data_structures/validation_reflection_test.rb +0 -69
  235. data/test/data_structures/virtual_column_test.rb +0 -23
  236. data/test/extensions/action_view_rendering_test.rb +0 -20
  237. data/test/extensions/active_record_test.rb +0 -44
  238. data/test/extensions/routing_mapper_test.rb +0 -73
  239. data/test/helpers/form_column_helpers_test.rb +0 -34
  240. data/test/helpers/list_column_helpers_test.rb +0 -53
  241. data/test/helpers/pagination_helpers_test.rb +0 -65
  242. data/test/helpers/search_column_helpers_test.rb +0 -15
  243. data/test/misc/active_record_permissions_test.rb +0 -193
  244. data/test/misc/attribute_params_test.rb +0 -460
  245. data/test/misc/calculation_test.rb +0 -39
  246. data/test/misc/configurable_test.rb +0 -97
  247. data/test/misc/constraints_test.rb +0 -209
  248. data/test/misc/convert_numbers_format_test.rb +0 -171
  249. data/test/misc/finder_test.rb +0 -124
  250. data/test/misc/lang_test.rb +0 -10
  251. data/test/misc/parse_datetime_test.rb +0 -159
  252. data/test/misc/render_test.rb +0 -9
  253. data/test/misc/tableless_test.rb +0 -56
  254. data/test/mock_app/.gitignore +0 -2
  255. data/test/mock_app/Rakefile +0 -7
  256. data/test/mock_app/app/assets/config/manifest.js +0 -0
  257. data/test/mock_app/app/controllers/addresses_controller.rb +0 -4
  258. data/test/mock_app/app/controllers/application_controller.rb +0 -10
  259. data/test/mock_app/app/controllers/buildings_controller.rb +0 -4
  260. data/test/mock_app/app/controllers/cars_controller.rb +0 -5
  261. data/test/mock_app/app/controllers/contacts_controller.rb +0 -4
  262. data/test/mock_app/app/controllers/floors_controller.rb +0 -6
  263. data/test/mock_app/app/controllers/people_controller.rb +0 -8
  264. data/test/mock_app/app/controllers/roles_controller.rb +0 -4
  265. data/test/mock_app/app/helpers/application_helper.rb +0 -3
  266. data/test/mock_app/app/models/address.rb +0 -3
  267. data/test/mock_app/app/models/building.rb +0 -9
  268. data/test/mock_app/app/models/car.rb +0 -3
  269. data/test/mock_app/app/models/contact.rb +0 -3
  270. data/test/mock_app/app/models/file_model.rb +0 -31
  271. data/test/mock_app/app/models/floor.rb +0 -8
  272. data/test/mock_app/app/models/person.rb +0 -12
  273. data/test/mock_app/app/models/role.rb +0 -3
  274. data/test/mock_app/app/views/active_scaffold_overrides/_form.html.erb +0 -2
  275. data/test/mock_app/app/views/active_scaffold_overrides/list.html.erb +0 -2
  276. data/test/mock_app/app/views/people/_first_name_form_column.html.erb +0 -2
  277. data/test/mock_app/app/views/people/_form.html.erb +0 -2
  278. data/test/mock_app/app/views/people/list.html.erb +0 -2
  279. data/test/mock_app/config/application.rb +0 -14
  280. data/test/mock_app/config/boot.rb +0 -7
  281. data/test/mock_app/config/database.yml +0 -16
  282. data/test/mock_app/config/environment.rb +0 -6
  283. data/test/mock_app/config/environments/development.rb +0 -24
  284. data/test/mock_app/config/environments/production.rb +0 -49
  285. data/test/mock_app/config/environments/test.rb +0 -34
  286. data/test/mock_app/config/initializers/backtrace_silencers.rb +0 -7
  287. data/test/mock_app/config/initializers/inflections.rb +0 -10
  288. data/test/mock_app/config/initializers/mime_types.rb +0 -5
  289. data/test/mock_app/config/initializers/secret_token.rb +0 -11
  290. data/test/mock_app/config/initializers/session_store.rb +0 -8
  291. data/test/mock_app/config/initializers/wrap_parameters.rb +0 -14
  292. data/test/mock_app/config/locales/en.yml +0 -5
  293. data/test/mock_app/config/routes.rb +0 -17
  294. data/test/mock_app/config.ru +0 -4
  295. data/test/mock_app/db/schema.rb +0 -68
  296. data/test/mock_app/db/test.sqlite3 +0 -1
  297. data/test/model_stub.rb +0 -64
  298. data/test/performance/list_cars_performance_test.rb +0 -34
  299. data/test/performance/list_people_performance_test.rb +0 -31
  300. data/test/performance_test_help.rb +0 -3
  301. data/test/run_all.rb +0 -6
  302. data/test/test_helper.rb +0 -71
  303. data/vendor/assets/javascripts/getprototypeof.js +0 -12
@@ -5,15 +5,10 @@ class ActiveScaffold::Bridges::TinyMce < ActiveScaffold::DataStructures::Bridge
5
5
  end
6
6
 
7
7
  def self.install?
8
- Object.const_defined? 'TinyMCE'
8
+ Object.const_defined? :TinyMCE
9
9
  end
10
10
 
11
11
  def self.javascripts
12
- case ActiveScaffold.js_framework
13
- when :jquery
14
- ['tinymce', 'jquery/tiny_mce_bridge']
15
- when :prototype
16
- ['tinymce', 'prototype/tiny_mce_bridge']
17
- end
12
+ ['tinymce', 'jquery/tiny_mce_bridge']
18
13
  end
19
14
  end
@@ -13,21 +13,21 @@ module ActiveScaffold::Bridges
13
13
  # NOTE: Only the option tags are returned from this method, wrap it in a <select>
14
14
  def usa_state_options_for_select(selected = nil, priority_states = nil)
15
15
  state_options = if priority_states
16
- options_for_select(priority_states + [['-------------', '']], :selected => selected, :disabled => '')
16
+ options_for_select(priority_states + [['-------------', '']], selected: selected, disabled: '')
17
17
  else
18
18
  options_for_select([])
19
19
  end
20
20
 
21
21
  state_options += if priority_states&.include?(selected)
22
- options_for_select(USASTATES - priority_states, :selected => selected)
22
+ options_for_select(USASTATES - priority_states, selected: selected)
23
23
  else
24
- options_for_select(USASTATES, :selected => selected)
24
+ options_for_select(USASTATES, selected: selected)
25
25
  end
26
26
 
27
27
  state_options
28
28
  end
29
29
 
30
- unless const_defined?('USASTATES')
30
+ unless const_defined?(:USASTATES)
31
31
  USASTATES = [
32
32
  %w[Alabama AL], %w[Alaska AK], %w[Arizona AZ], %w[Arkansas AR], %w[California CA], %w[Colorado CO],
33
33
  %w[Connecticut CT], %w[Delaware DE], ['District of Columbia', 'DC'], %w[Florida FL], %w[Georgia GA],
@@ -59,7 +59,7 @@ module ActiveScaffold::Bridges
59
59
 
60
60
  module FormColumnHelpers
61
61
  def active_scaffold_input_usa_state(column, options, ui_options: column.options)
62
- select_options = {:prompt => as_(:_select_)}
62
+ select_options = {prompt: as_(:_select_)}
63
63
  select_options.merge!(options)
64
64
  options.reverse_merge!(ui_options).except!(:prompt, :priority)
65
65
  active_scaffold_select_name_with_multiple options
@@ -69,7 +69,7 @@ module ActiveScaffold::Bridges
69
69
 
70
70
  module SearchColumnHelpers
71
71
  def active_scaffold_search_usa_state(column, options, ui_options: column.options)
72
- active_scaffold_input_usa_state(column, options.merge!(:selected => options.delete(:value)), ui_options: ui_options)
72
+ active_scaffold_input_usa_state(column, options.merge!(selected: options.delete(:value)), ui_options: ui_options)
73
73
  end
74
74
  end
75
75
  end
@@ -89,7 +89,7 @@ if defined? ActionView::Helpers::InstanceTag # TODO: remove when rails 3.2 suppo
89
89
  end
90
90
  end
91
91
  else
92
- class ActionView::Helpers::Tags::UsaStateSelect < ActionView::Helpers::Tags::Base #:nodoc:
92
+ class ActionView::Helpers::Tags::UsaStateSelect < ActionView::Helpers::Tags::Base # :nodoc:
93
93
  include ActiveScaffold::Bridges::UsaStateSelect::UsaStateSelectOptionsHelpers
94
94
  include ActiveScaffold::Bridges::UsaStateSelect::InstanceTagMethods
95
95
  end
@@ -31,15 +31,17 @@ module ActiveScaffold
31
31
 
32
32
  def self.run_all
33
33
  return false if bridges_run
34
+
34
35
  bridges.each_key do |bridge_name|
35
36
  self[bridge_name]&.run
36
37
  end
37
- ActiveScaffold::Config::Core.freeze if ActiveScaffold.threadsafe
38
+ ActiveScaffold::Config::Core.freeze
38
39
  self.bridges_run = true
39
40
  end
40
41
 
41
42
  def self.prepare_all
42
43
  return false if bridges_prepared
44
+
43
45
  bridges.each_key do |bridge_name|
44
46
  bridge = self[bridge_name]
45
47
  bridge.prepare if bridge&.install?
@@ -48,17 +50,17 @@ module ActiveScaffold
48
50
  end
49
51
 
50
52
  def self.all_stylesheets
51
- bridges.keys.collect do |bridge_name|
53
+ bridges.keys.filter_map do |bridge_name|
52
54
  bridge = self[bridge_name]
53
55
  bridge.stylesheets if bridge&.install?
54
- end.compact.flatten
56
+ end.flatten
55
57
  end
56
58
 
57
59
  def self.all_javascripts
58
- bridges.keys.collect do |bridge_name|
60
+ bridges.keys.filter_map do |bridge_name|
59
61
  bridge = self[bridge_name]
60
62
  bridge.javascripts if bridge&.install?
61
- end.compact.flatten
63
+ end.flatten
62
64
  end
63
65
  end
64
66
  end
@@ -17,7 +17,7 @@ module ActiveScaffold::Config
17
17
  @user_settings_key = :"#{model_id}_#{self.class.name.underscore}"
18
18
  end
19
19
 
20
- attr_reader :core
20
+ attr_reader :core, :user_settings_key
21
21
 
22
22
  # delegate
23
23
  def crud_type
@@ -25,16 +25,14 @@ module ActiveScaffold::Config
25
25
  end
26
26
 
27
27
  def label(model = nil)
28
- model ||= @core.label(:count => 1)
29
- @label.nil? ? model : as_(@label, :model => model)
28
+ model ||= @core.label(count: 1)
29
+ @label.nil? ? model : as_(@label, model: model)
30
30
  end
31
31
 
32
32
  def model_id
33
33
  (core || self).model_id
34
34
  end
35
35
 
36
- attr_reader :user_settings_key
37
-
38
36
  # the user property gets set to the instantiation of the local UserSettings class during the automatic instantiation of this class.
39
37
  def user
40
38
  ActiveScaffold::Registry.user_settings[user_settings_key]
@@ -53,6 +51,7 @@ module ActiveScaffold::Config
53
51
 
54
52
  def formats
55
53
  return @formats || NO_FORMATS if frozen?
54
+
56
55
  @formats ||= NO_FORMATS.dup
57
56
  end
58
57
  attr_writer :formats
@@ -63,9 +62,10 @@ module ActiveScaffold::Config
63
62
  # getter will return value set with setter, or value from conf
64
63
  def self.user_attr(*names)
65
64
  attr_writer(*names)
65
+
66
66
  names.each do |name|
67
67
  define_method(name) do
68
- instance_variable_defined?("@#{name}") ? instance_variable_get("@#{name}") : @conf.send(name)
68
+ instance_variable_defined?(:"@#{name}") ? instance_variable_get(:"@#{name}") : @conf.send(name)
69
69
  end
70
70
  end
71
71
  end
@@ -128,18 +128,11 @@ module ActiveScaffold::Config
128
128
  def proxy_to_conf?(name, include_all)
129
129
  name !~ /=$/ && @conf.respond_to?(name, include_all)
130
130
  end
131
-
132
- private
133
-
134
- def proxy_columns(columns)
135
- proxy = ::CowProxy.wrap(columns)
136
- proxy.action = self
137
- proxy
138
- end
139
131
  end
140
132
 
141
133
  def self.inherited(subclass)
142
- subclass.const_set 'UserSettings', Class.new(subclass.superclass::UserSettings)
134
+ super
135
+ subclass.const_set :UserSettings, Class.new(subclass.superclass::UserSettings)
143
136
  class << subclass
144
137
  # the crud type of the action. possible values are :create, :read, :update, :delete, and nil.
145
138
  # this is not a setting for the developer. it's self-description for the actions.
@@ -149,6 +142,7 @@ module ActiveScaffold::Config
149
142
 
150
143
  def crud_type=(val)
151
144
  raise ArgumentError, "unknown CRUD type #{val}" unless %i[create read update delete].include?(val.to_sym)
145
+
152
146
  @crud_type = val.to_sym
153
147
  end
154
148
  end
@@ -163,8 +157,8 @@ module ActiveScaffold::Config
163
157
  class_attribute :columns_collections
164
158
 
165
159
  def self.columns_writer(name)
166
- var = "@#{name}"
167
- define_method "#{name}=" do |val|
160
+ var = :"@#{name}"
161
+ define_method :"#{name}=" do |val|
168
162
  if instance_variable_defined?(var)
169
163
  instance_variable_get(var).set_values(*val)
170
164
  instance_variable_get(var)
@@ -175,7 +169,7 @@ module ActiveScaffold::Config
175
169
  end
176
170
 
177
171
  def self.columns_reader(name, options, &block)
178
- var = "@#{name}"
172
+ var = :"@#{name}"
179
173
  define_method name do
180
174
  unless instance_variable_defined?(var) # lazy evaluation
181
175
  action, columns = options[:copy] if options[:copy]
@@ -184,7 +178,7 @@ module ActiveScaffold::Config
184
178
  action_columns.action = self
185
179
  instance_variable_set(var, action_columns)
186
180
  else
187
- send("#{name}=", @core.columns._inheritable)
181
+ send(:"#{name}=", @core.columns._inheritable)
188
182
  end
189
183
  instance_exec(&block) if block
190
184
  end
@@ -199,14 +193,16 @@ module ActiveScaffold::Config
199
193
  columns_writer name
200
194
  columns_reader name, options, &block unless method_defined? name
201
195
 
202
- var = "@#{name}"
196
+ var = :"@#{name}"
203
197
  self::UserSettings.class_eval do
204
- define_method "#{name}=" do |val|
205
- instance_variable_set var, proxy_columns(build_action_columns(val))
198
+ define_method :"#{name}=" do |val|
199
+ instance_variable_set var, build_action_columns(val)
206
200
  end
207
201
  define_method name do
208
- instance_variable_get(var) ||
209
- instance_variable_set(var, proxy_columns(@conf.send(name)))
202
+ instance_variable_get(var) || @conf.send(name)
203
+ end
204
+ define_method :"override_#{name}" do |&blck|
205
+ send(:"#{name}=", send(name)).tap(&blck)
210
206
  end
211
207
  end
212
208
  end
@@ -16,10 +16,6 @@ module ActiveScaffold::Config
16
16
  cattr_accessor :plugin_directory
17
17
  @@plugin_directory = File.expand_path(__FILE__).match(%{(^.*)/lib/active_scaffold/config/core.rb})[1]
18
18
 
19
- # lets you specify a global ActiveScaffold frontend.
20
- cattr_accessor :frontend, instance_accessor: false
21
- @@frontend = :default
22
-
23
19
  # lets you specify a global ActiveScaffold theme for your frontend.
24
20
  cattr_accessor :theme, instance_accessor: false
25
21
  @@theme = :default
@@ -103,21 +99,20 @@ module ActiveScaffold::Config
103
99
 
104
100
  # provides read/write access to the local Actions DataStructure
105
101
  attr_reader :actions
102
+
106
103
  def actions=(args)
107
104
  @actions = ActiveScaffold::DataStructures::Actions.new(*args)
108
105
  end
109
106
 
110
107
  # provides read/write access to the local Columns DataStructure
111
108
  attr_reader :columns
109
+
112
110
  def columns=(val)
113
111
  @columns._inheritable = val.collect(&:to_sym)
114
112
  # Add virtual columns
115
113
  @columns.add(*val)
116
114
  end
117
115
 
118
- # lets you override the global ActiveScaffold frontend for a specific controller
119
- attr_accessor :frontend
120
-
121
116
  # lets you override the global ActiveScaffold theme for a specific controller
122
117
  attr_accessor :theme
123
118
 
@@ -135,6 +130,7 @@ module ActiveScaffold::Config
135
130
 
136
131
  # lets you specify whether add a create link for each sti child for a specific controller
137
132
  attr_accessor :sti_create_links
133
+
138
134
  def add_sti_create_links?
139
135
  sti_create_links && !sti_children.nil?
140
136
  end
@@ -144,8 +140,9 @@ module ActiveScaffold::Config
144
140
 
145
141
  # a generally-applicable name for this ActiveScaffold ... will be used for generating page/section headers
146
142
  attr_writer :label
143
+
147
144
  def label(options = {})
148
- as_(@label, options) || model.model_name.human(options.merge(options[:count].to_i == 1 ? {} : {:default => model.name.pluralize}))
145
+ as_(@label, options) || model.model_name.human(options.merge(options[:count].to_i == 1 ? {} : {default: model.name.pluralize}))
149
146
  end
150
147
 
151
148
  # STI children models, use an array of model names
@@ -161,7 +158,7 @@ module ActiveScaffold::Config
161
158
  ## internal usage only below this point
162
159
  ## ------------------------------------
163
160
 
164
- def initialize(model_id)
161
+ def initialize(model_id) # rubocop:disable Lint/MissingSuper
165
162
  # model_id is the only absolutely required configuration value. it is also not publicly accessible.
166
163
  @model_id = model_id
167
164
  setup_user_setting_key
@@ -181,10 +178,8 @@ module ActiveScaffold::Config
181
178
  content_columns = Set.new(_content_columns.map(&:name))
182
179
  @columns.exclude(*self.class.ignore_columns)
183
180
  @columns.exclude(*@columns.find_all { |c| c.column && content_columns.exclude?(c.column.name) }.collect(&:name))
184
- @columns.exclude(*model.reflect_on_all_associations.collect { |a| a.foreign_type.to_sym if a.options[:polymorphic] }.compact)
181
+ @columns.exclude(*model.reflect_on_all_associations.filter_map { |a| a.foreign_type.to_sym if a.options[:polymorphic] })
185
182
 
186
- # inherit the global frontend
187
- @frontend = self.class.frontend
188
183
  @theme = self.class.theme
189
184
  @cache_action_link_urls = self.class.cache_action_link_urls
190
185
  @cache_association_options = self.class.cache_association_options
@@ -212,6 +207,7 @@ module ActiveScaffold::Config
212
207
  # To be called after your finished configuration
213
208
  def _configure_sti
214
209
  return if sti_children.nil?
210
+
215
211
  column = model.inheritance_column
216
212
  if sti_create_links
217
213
  columns[column].form_ui ||= :hidden
@@ -238,7 +234,7 @@ module ActiveScaffold::Config
238
234
  end
239
235
 
240
236
  def respond_to_missing?(name, include_all = false)
241
- self.class.config_class?(name) && @actions.include?(name.to_sym) || super
237
+ (self.class.config_class?(name) && @actions.include?(name.to_sym)) || super
242
238
  end
243
239
 
244
240
  def [](action_name)
@@ -249,6 +245,7 @@ module ActiveScaffold::Config
249
245
  unless @actions.include? underscored_name
250
246
  raise "#{action_name.to_s.camelcase} is not enabled. Please enable it or remove any references in your configuration (e.g. config.#{underscored_name}.columns = [...])."
251
247
  end
248
+
252
249
  @action_configs ||= {}
253
250
  @action_configs[underscored_name] ||= klass.new(self)
254
251
  end
@@ -272,7 +269,7 @@ module ActiveScaffold::Config
272
269
  end
273
270
 
274
271
  def self.respond_to_missing?(name, include_all = false)
275
- config_class?(name) && @@actions.include?(name.to_s.underscore) || super
272
+ (config_class?(name) && @@actions.include?(name.to_s.underscore)) || super
276
273
  end
277
274
  # some utility methods
278
275
  # --------------------
@@ -304,24 +301,6 @@ module ActiveScaffold::Config
304
301
  action_columns
305
302
  end
306
303
 
307
- # must be a class method so the layout doesn't depend on a controller that uses active_scaffold
308
- # note that this is unaffected by per-controller frontend configuration.
309
- def self.asset_path(filename, frontend = self.frontend)
310
- "active_scaffold/#{frontend}/#{filename}"
311
- end
312
-
313
- # must be a class method so the layout doesn't depend on a controller that uses active_scaffold
314
- # note that this is unaffected by per-controller frontend configuration.
315
- def self.javascripts(frontend = self.frontend)
316
- javascript_dir = File.join(Rails.public_path, 'javascripts', asset_path('', frontend))
317
- Dir.entries(javascript_dir).reject { |e| !e.match(/\.js$/) || (!dhtml_history? && e.match('dhtml_history')) }
318
- end
319
-
320
- def self.available_frontends
321
- frontends_dir = Rails.root.join('vendor', 'plugins', ActiveScaffold::Config::Core.plugin_directory, 'frontends')
322
- Dir.entries(frontends_dir).reject { |e| e.match(/^\./) } # Get rid of files that start with .
323
- end
324
-
325
304
  class UserSettings < Base::UserSettings
326
305
  include ActiveScaffold::Configurable
327
306
  user_attr :cache_action_link_urls, :cache_association_options, :conditional_get_support,
@@ -348,7 +327,7 @@ module ActiveScaffold::Config
348
327
  end
349
328
 
350
329
  def action_links
351
- @action_links ||= CowProxy.wrap(@conf.action_links)
330
+ @conf.action_links
352
331
  end
353
332
 
354
333
  def model
@@ -369,27 +348,36 @@ module ActiveScaffold::Config
369
348
  end
370
349
 
371
350
  def [](name)
372
- return nil unless @global_columns[name]
373
- @columns[name.to_sym] ||= CowProxy.wrap @global_columns[name]
351
+ @columns[name.to_sym] || @global_columns[name]
352
+ end
353
+
354
+ def override(name)
355
+ raise ArgumentError, "column '#{name}' doesn't exist" unless @global_columns[name]
356
+
357
+ (@columns[name.to_sym] ||= ActiveScaffold::DataStructures::ProxyColumn.new(@global_columns[name])).tap do |col|
358
+ yield col if block_given?
359
+ end
374
360
  end
375
361
 
376
362
  def each
377
363
  return enum_for(:each) unless block_given?
364
+
378
365
  @global_columns.each do |col|
379
366
  yield self[col.name]
380
367
  end
381
368
  end
382
369
 
383
- def method_missing(name, *args, &block)
384
- if @global_columns.respond_to?(name, true)
385
- @global_columns.send(name, *args, &block)
370
+ def method_missing(name, ...)
371
+ if respond_to_missing?(name, true)
372
+ @global_columns.send(name, ...)
386
373
  else
387
374
  super
388
375
  end
389
376
  end
390
377
 
378
+ DONT_DELEGATE = %i[add exclude add_association_columns _inheritable=].freeze
391
379
  def respond_to_missing?(name, include_all = false)
392
- @global_columns.respond_to?(name, include_all) || super
380
+ (DONT_DELEGATE.exclude?(name) && @global_columns.respond_to?(name, include_all)) || super
393
381
  end
394
382
  end
395
383
  end
@@ -17,7 +17,7 @@ module ActiveScaffold::Config
17
17
  def self.link=(val)
18
18
  @@link = val
19
19
  end
20
- @@link = ActiveScaffold::DataStructures::ActionLink.new('new', :label => :create_new, :type => :collection, :security_method => :create_authorized?, :ignore_method => :create_ignore?)
20
+ @@link = ActiveScaffold::DataStructures::ActionLink.new('new', label: :create_new, type: :collection, security_method: :create_authorized?, ignore_method: :create_ignore?)
21
21
 
22
22
  # whether update form is opened after a create or not
23
23
  cattr_accessor :action_after_create, instance_accessor: false
@@ -14,15 +14,15 @@ module ActiveScaffold::Config
14
14
  cattr_accessor :link, instance_accessor: false
15
15
  @@link = ActiveScaffold::DataStructures::ActionLink.new(
16
16
  'destroy',
17
- :label => :delete,
18
- :type => :member,
19
- :method => :delete,
20
- :crud_type => :delete,
21
- :confirm => :are_you_sure_to_delete,
22
- :position => false,
23
- :parameters => {:destroy_action => true},
24
- :security_method => :delete_authorized?,
25
- :ignore_method => :delete_ignore?
17
+ label: :delete,
18
+ type: :member,
19
+ method: :delete,
20
+ crud_type: :delete,
21
+ confirm: :are_you_sure_to_delete,
22
+ position: false,
23
+ parameters: {destroy_action: true},
24
+ security_method: :delete_authorized?,
25
+ ignore_method: :delete_ignore?
26
26
  )
27
27
 
28
28
  # whether we should refresh list after destroy or not
@@ -15,7 +15,7 @@ module ActiveScaffold::Config
15
15
  # --------------------------
16
16
  # the ActionLink for this action
17
17
  cattr_reader :link, instance_accessor: false
18
- @@link = ActiveScaffold::DataStructures::ActionLink.new('show_search', :label => :search, :type => :collection, :security_method => :search_authorized?, :ignore_method => :field_search_ignore?)
18
+ @@link = ActiveScaffold::DataStructures::ActionLink.new('show_search', label: :search, type: :collection, security_method: :search_authorized?, ignore_method: :field_search_ignore?)
19
19
 
20
20
  # A flag for how the search should do full-text searching in the database:
21
21
  # * :full: LIKE %?%
@@ -37,9 +37,6 @@ module ActiveScaffold::Config
37
37
 
38
38
  cattr_accessor :reset_form, instance_accessor: false
39
39
 
40
- # whether refresh columns defined in update_columns when a column is changed, as create and update forms do
41
- cattr_accessor :update_columns
42
-
43
40
  # instance-level configuration
44
41
  # ----------------------------
45
42
 
@@ -65,6 +62,7 @@ module ActiveScaffold::Config
65
62
 
66
63
  def optional_columns
67
64
  return @optional_columns || NO_COLUMNS if frozen?
65
+
68
66
  @optional_columns ||= NO_COLUMNS.dup
69
67
  end
70
68
 
@@ -75,7 +73,7 @@ module ActiveScaffold::Config
75
73
  attr_accessor :grouped_columns
76
74
 
77
75
  # default search params
78
- # default_params = {:title => {"from"=>"test", "to"=>"", "opt"=>"%?%"}}
76
+ # default_params = {title: {"from"=>"test", "to"=>"", "opt"=>"%?%"}}
79
77
  attr_accessor :default_params
80
78
 
81
79
  # human conditions
@@ -87,11 +85,8 @@ module ActiveScaffold::Config
87
85
 
88
86
  attr_accessor :reset_form
89
87
 
90
- # whether refresh columns defined in update_columns when a column is changed, as create and update forms do
91
- attr_accessor :update_columns
92
-
93
88
  UserSettings.class_eval do
94
- user_attr :optional_columns, :group_options, :grouped_columns, :human_conditions, :floating_footer, :update_columns
89
+ user_attr :optional_columns, :group_options, :grouped_columns, :human_conditions, :floating_footer
95
90
  end
96
91
  end
97
92
  end
@@ -51,11 +51,12 @@ module ActiveScaffold::Config
51
51
 
52
52
  columns_accessor :columns do
53
53
  columns.exclude :created_on, :created_at, :updated_on, :updated_at, :as_marked
54
- columns.exclude(*@core.columns.collect { |c| c.name if c.association&.polymorphic? }.compact)
54
+ columns.exclude(*@core.columns.filter_map { |c| c.name if c.association&.polymorphic? })
55
55
  end
56
56
 
57
57
  # whether the form should be multipart
58
58
  attr_writer :multipart
59
+
59
60
  def multipart?
60
61
  @multipart ? true : false
61
62
  end
@@ -64,6 +65,7 @@ module ActiveScaffold::Config
64
65
  user_attr :persistent, :refresh_list, :show_unauthorized_columns, :floating_footer
65
66
 
66
67
  attr_writer :multipart
68
+
67
69
  def multipart?
68
70
  defined?(@multipart) ? @multipart : @conf.multipart?
69
71
  end
@@ -79,7 +79,7 @@ module ActiveScaffold::Config
79
79
 
80
80
  # the ActionLink to reset search
81
81
  cattr_reader :reset_link, instance_reader: false
82
- @@reset_link = ActiveScaffold::DataStructures::ActionLink.new('index', :label => :click_to_reset, :type => :collection, :position => false, :parameters => {:search => ''})
82
+ @@reset_link = ActiveScaffold::DataStructures::ActionLink.new('index', label: :click_to_reset, type: :collection, position: false, parameters: {search: ''})
83
83
 
84
84
  # wrap normal cells (not inplace editable columns or with link) with a tag
85
85
  # it allows for more css styling
@@ -147,9 +147,9 @@ module ActiveScaffold::Config
147
147
  attr_reader :reset_link
148
148
 
149
149
  # the default sorting.
150
- # should be a hash of {column_name => direction}, e.g. {:a => 'desc', :b => 'asc'}.
151
- # for backwards compatibility, it may be an array of hashes of {column_name => direction}, e.g. [{:a => 'desc'}, {:b => 'asc'}].
152
- # to just sort on one column, you can simply provide a hash, e.g. {:a => 'desc'}.
150
+ # should be a hash of {column_name => direction}, e.g. {a: 'desc', b: 'asc'}.
151
+ # for backwards compatibility, it may be an array of hashes of {column_name => direction}, e.g. [{a: 'desc'}, {b: 'asc'}].
152
+ # to just sort on one column, you can simply provide a hash, e.g. {a: 'desc'}.
153
153
  def sorting=(val)
154
154
  val = [val] if val.is_a? Hash
155
155
  sorting.set(*val)
@@ -164,21 +164,21 @@ module ActiveScaffold::Config
164
164
 
165
165
  # the label for this List action. used for the header.
166
166
  attr_writer :label
167
+
167
168
  def label
168
- @label ? as_(@label, :count => 2) : @core.label(:count => 2)
169
+ @label ? as_(@label, count: 2) : @core.label(count: 2)
169
170
  end
170
171
 
171
- attr_writer :no_entries_message
172
+ attr_writer :no_entries_message, :filtered_message, :always_show_search
173
+
172
174
  def no_entries_message
173
- @no_entries_message ? @no_entries_message : :no_entries
175
+ @no_entries_message || :no_entries
174
176
  end
175
177
 
176
- attr_writer :filtered_message
177
178
  def filtered_message
178
- @filtered_message ? @filtered_message : :filtered
179
+ @filtered_message || :filtered
179
180
  end
180
181
 
181
- attr_writer :always_show_search
182
182
  def always_show_search
183
183
  @always_show_search && search_partial.present?
184
184
  end
@@ -192,18 +192,23 @@ module ActiveScaffold::Config
192
192
  end
193
193
 
194
194
  def auto_search_partial
195
- return 'search' if @core.actions.include?(:search)
196
- return 'field_search' if @core.actions.include?(:field_search)
195
+ if @core.actions.include?(:search)
196
+ 'search'
197
+ elsif @core.actions.include?(:field_search)
198
+ 'field_search'
199
+ end
197
200
  end
198
201
 
199
202
  # always show create
200
203
  attr_writer :always_show_create
204
+
201
205
  def always_show_create
202
206
  @always_show_create && @core.actions.include?(:create)
203
207
  end
204
208
 
205
209
  # if list view is nested hide nested_column
206
210
  attr_writer :hide_nested_column
211
+
207
212
  def hide_nested_column
208
213
  @hide_nested_column.nil? ? true : @hide_nested_column
209
214
  end
@@ -232,6 +237,7 @@ module ActiveScaffold::Config
232
237
  end
233
238
 
234
239
  attr_writer :label
240
+
235
241
  # This label has already been localized.
236
242
  def label
237
243
  self['label'] || embedded_label || @label || @conf.label
@@ -293,9 +299,7 @@ module ActiveScaffold::Config
293
299
  else
294
300
  @_sorting = default_sorting
295
301
  @_sorting.set(*@sorting) if @sorting
296
- if @conf.columns.constraint_columns.present?
297
- @_sorting.constraint_columns = @conf.columns.constraint_columns
298
- end
302
+ @_sorting.constraint_columns = @conf.columns.constraint_columns if @conf.columns.constraint_columns.present?
299
303
  end
300
304
  end
301
305
  @_sorting
@@ -32,9 +32,9 @@ module ActiveScaffold::Config
32
32
  if column.association.polymorphic?
33
33
  column.label
34
34
  else
35
- column.association.klass.model_name.human(:count => column.association.singular? ? 1 : 2, :default => column.association.klass.name.pluralize)
35
+ column.association.klass.model_name.human(count: column.association.singular? ? 1 : 2, default: column.association.klass.name.pluralize)
36
36
  end
37
- options.reverse_merge! :security_method => :nested_authorized?, :label => label
37
+ options.reverse_merge! security_method: :nested_authorized?, label: label
38
38
  action_group = options.delete(:action_group) || self.action_group
39
39
  action_link = @core.link_for_association(column, options)
40
40
  @core.action_links.add_to_group(action_link, action_group) unless action_link.nil?