has_helpers 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (748) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +38 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +10 -0
  5. data/.ruby-gemset +1 -0
  6. data/.ruby-version +1 -0
  7. data/.tekton/Chart.yaml +14 -0
  8. data/.tekton/templates/pipelinerun.yaml +44 -0
  9. data/.tekton/values-main.yaml +53 -0
  10. data/.tekton/values-pr.yaml +40 -0
  11. data/.tekton/values.yaml +17 -0
  12. data/.tool-versions +1 -0
  13. data/CHANGELOG.md +204 -0
  14. data/Gemfile +25 -0
  15. data/README.md +76 -0
  16. data/Rakefile +46 -0
  17. data/app/api/has_helpers/rack_api.rb +116 -0
  18. data/app/api/has_helpers/search_api.rb +173 -0
  19. data/app/assets/stylesheets/has_helpers/base.scss +5 -0
  20. data/app/assets/stylesheets/has_helpers/color_palette.scss +33 -0
  21. data/app/assets/stylesheets/has_helpers/color_palettes/default.scss +11 -0
  22. data/app/assets/stylesheets/has_helpers/components/dataset.scss +43 -0
  23. data/app/assets/stylesheets/has_helpers/mixins.scss +149 -0
  24. data/app/commands/has_helpers/cards/available_cards_command.rb +98 -0
  25. data/app/commands/has_helpers/cards/card_data_command.rb +1062 -0
  26. data/app/commands/reports/base_options.rb +79 -0
  27. data/app/commands/reports/belongs_to_options.rb +178 -0
  28. data/app/commands/reports/constant_options.rb +66 -0
  29. data/app/commands/reports/external_graphql_client.rb +116 -0
  30. data/app/commands/reports/fill_dates.rb +65 -0
  31. data/app/commands/reports/filter_option_generator.rb +186 -0
  32. data/app/commands/reports/generator.rb +310 -0
  33. data/app/commands/reports/has_many_options.rb +105 -0
  34. data/app/commands/reports/importer.rb +132 -0
  35. data/app/commands/reports/nested_attribute_options.rb +134 -0
  36. data/app/constants/color.rb +9 -0
  37. data/app/constants/file_format.rb +12 -0
  38. data/app/constants/has_helpers/cards/card_custom_field.rb +12 -0
  39. data/app/constants/has_helpers/cards/card_data_type.rb +11 -0
  40. data/app/constants/has_helpers/cards/card_identifier.rb +10 -0
  41. data/app/constants/has_helpers/cards/card_layout_type.rb +11 -0
  42. data/app/constants/has_helpers/cards/card_variant_type.rb +12 -0
  43. data/app/constants/has_helpers/link_type.rb +10 -0
  44. data/app/constants/has_helpers/notification_alert_status.rb +14 -0
  45. data/app/constants/has_helpers/notification_alert_type.rb +10 -0
  46. data/app/constants/has_helpers/operation.rb +11 -0
  47. data/app/constants/has_helpers/resource_type.rb +25 -0
  48. data/app/constants/icon.rb +22 -0
  49. data/app/constants/logical_operator.rb +7 -0
  50. data/app/constants/option.rb +10 -0
  51. data/app/constants/time_zone.rb +12 -0
  52. data/app/constructors/has_helpers/base_constructor.rb +62 -0
  53. data/app/controllers/concerns/has_helpers/service_trust/authenticated_as_service.rb +51 -0
  54. data/app/controllers/concerns/has_helpers/service_trust/graphql_authentication.rb +57 -0
  55. data/app/controllers/has_helpers/controller.rb +63 -0
  56. data/app/controllers/has_helpers/factory_controller.rb +261 -0
  57. data/app/controllers/has_helpers/graphql_extensions.rb +83 -0
  58. data/app/controllers/has_helpers/health_check_controller.rb +46 -0
  59. data/app/controllers/has_helpers/search_extensions.rb +92 -0
  60. data/app/controllers/has_helpers/service_trust/jwks_controller.rb +20 -0
  61. data/app/controllers/has_helpers/xlsx_export.rb +115 -0
  62. data/app/controllers/search_extensions.rb +5 -0
  63. data/app/graphql/has_helpers/base_type.rb +13 -0
  64. data/app/graphql/has_helpers/base_union.rb +9 -0
  65. data/app/graphql/has_helpers/enums/resource_enum.rb +24 -0
  66. data/app/graphql/has_helpers/middleware/application_access.rb +26 -0
  67. data/app/graphql/has_helpers/mutations/base.rb +27 -0
  68. data/app/graphql/has_helpers/mutations/external_data_sync.rb +72 -0
  69. data/app/graphql/has_helpers/mutations/mark_individual_alert_read.rb +31 -0
  70. data/app/graphql/has_helpers/mutations/mark_notifications_read.rb +50 -0
  71. data/app/graphql/has_helpers/mutations/toggle_favorite.rb +39 -0
  72. data/app/graphql/has_helpers/resolvers/app_nav.rb +107 -0
  73. data/app/graphql/has_helpers/resolvers/base.rb +27 -0
  74. data/app/graphql/has_helpers/resolvers/cards/available_cards.rb +31 -0
  75. data/app/graphql/has_helpers/resolvers/cards/card_data.rb +74 -0
  76. data/app/graphql/has_helpers/resolvers/cards/hover_card_data.rb +153 -0
  77. data/app/graphql/has_helpers/resolvers/favorite.rb +62 -0
  78. data/app/graphql/has_helpers/resolvers/internal/roles.rb +54 -0
  79. data/app/graphql/has_helpers/resolvers/is_favorite.rb +24 -0
  80. data/app/graphql/has_helpers/resolvers/list_notification_alerts.rb +47 -0
  81. data/app/graphql/has_helpers/resolvers/lookup.rb +36 -0
  82. data/app/graphql/has_helpers/resolvers/recently_viewed.rb +54 -0
  83. data/app/graphql/has_helpers/resolvers/resource_tab.rb +22 -0
  84. data/app/graphql/has_helpers/resolvers/search.rb +18 -0
  85. data/app/graphql/has_helpers/resolvers/search_query.rb +38 -0
  86. data/app/graphql/has_helpers/resolvers/user_application_order.rb +35 -0
  87. data/app/graphql/has_helpers/resources/organization_option_resource.rb +28 -0
  88. data/app/graphql/has_helpers/resources/organization_resource_resource.rb +18 -0
  89. data/app/graphql/has_helpers/resources/resource_group_resource.rb +10 -0
  90. data/app/graphql/has_helpers/resources/resource_resource.rb +21 -0
  91. data/app/graphql/has_helpers/resources/user_role_resource.rb +9 -0
  92. data/app/graphql/has_helpers/types/application_order_type.rb +18 -0
  93. data/app/graphql/has_helpers/types/cards/available_card_type.rb +20 -0
  94. data/app/graphql/has_helpers/types/cards/card_badge_type.rb +12 -0
  95. data/app/graphql/has_helpers/types/cards/card_config_type.rb +18 -0
  96. data/app/graphql/has_helpers/types/cards/card_data_type.rb +13 -0
  97. data/app/graphql/has_helpers/types/cards/card_entry_field_type.rb +21 -0
  98. data/app/graphql/has_helpers/types/cards/card_entry_type.rb +12 -0
  99. data/app/graphql/has_helpers/types/cards/card_field_config_type.rb +17 -0
  100. data/app/graphql/has_helpers/types/layouts/app_nav/link_section_type.rb +17 -0
  101. data/app/graphql/has_helpers/types/layouts/app_nav/link_type.rb +20 -0
  102. data/app/graphql/has_helpers/types/layouts/app_nav/sub_link_type.rb +17 -0
  103. data/app/graphql/has_helpers/types/layouts/app_nav/type.rb +16 -0
  104. data/app/graphql/has_helpers/types/lookup.rb +16 -0
  105. data/app/graphql/has_helpers/types/resource_tab/type.rb +15 -0
  106. data/app/graphql/has_helpers/types/role_type.rb +13 -0
  107. data/app/graphql/has_helpers/types/search/detail_badge_type.rb +15 -0
  108. data/app/graphql/has_helpers/types/search/detail_item_type.rb +14 -0
  109. data/app/graphql/has_helpers/types/search/detail_type.rb +16 -0
  110. data/app/graphql/has_helpers/types/search/filter_operation_enum.rb +19 -0
  111. data/app/graphql/has_helpers/types/search/input_type.rb +16 -0
  112. data/app/graphql/has_helpers/types/search/result_type.rb +72 -0
  113. data/app/graphql/has_helpers/types/search/search_filter_input_type.rb +17 -0
  114. data/app/graphql/has_helpers/types/search/type.rb +17 -0
  115. data/app/importers/has_helpers/cards/importer.rb +1223 -0
  116. data/app/lib/has_helpers/application_helper.rb +21 -0
  117. data/app/lib/has_helpers/dn/processor.rb +55 -0
  118. data/app/lib/has_helpers/dn/refresh.rb +13 -0
  119. data/app/lib/has_helpers/dn/utils/backfill_utils.rb +80 -0
  120. data/app/lib/has_helpers/dn/utils/query_utils.rb +216 -0
  121. data/app/lib/has_helpers/feature.rb +88 -0
  122. data/app/lib/has_helpers/hq_exception.rb +18 -0
  123. data/app/lib/has_helpers/index.rb +890 -0
  124. data/app/lib/has_helpers/organization_merge.rb +128 -0
  125. data/app/lib/has_helpers/query/elasticsearch.rb +20 -0
  126. data/app/lib/has_helpers/query/provider.rb +105 -0
  127. data/app/lib/has_helpers/query/sql.rb +133 -0
  128. data/app/lib/has_helpers/query.rb +14 -0
  129. data/app/lib/has_helpers/search/elasticsearch.rb +41 -0
  130. data/app/lib/has_helpers/search/elasticsearch_shared.rb +70 -0
  131. data/app/lib/has_helpers/search/provider.rb +149 -0
  132. data/app/lib/has_helpers/search/search_utils.rb +74 -0
  133. data/app/lib/has_helpers/search/sql_search.rb +219 -0
  134. data/app/lib/has_helpers/search.rb +46 -0
  135. data/app/models/ability.rb +233 -0
  136. data/app/models/has_helpers/application.rb +47 -0
  137. data/app/models/has_helpers/application_record.rb +7 -0
  138. data/app/models/has_helpers/cards/card_builder/base.rb +74 -0
  139. data/app/models/has_helpers/cards/card_builder/card_definition_builder.rb +486 -0
  140. data/app/models/has_helpers/cards/card_builder/definition_context.rb +82 -0
  141. data/app/models/has_helpers/cards/card_builder/field_builder.rb +142 -0
  142. data/app/models/has_helpers/cards/card_builder/resource_builder.rb +34 -0
  143. data/app/models/has_helpers/cards/card_definition.rb +41 -0
  144. data/app/models/has_helpers/cards/card_definition_resource.rb +19 -0
  145. data/app/models/has_helpers/cards/card_field.rb +39 -0
  146. data/app/models/has_helpers/cards/registry.rb +115 -0
  147. data/app/models/has_helpers/cards/role_card_field.rb +28 -0
  148. data/app/models/has_helpers/cards/role_resource_card.rb +41 -0
  149. data/app/models/has_helpers/dn_utils.rb +61 -0
  150. data/app/models/has_helpers/favorite.rb +20 -0
  151. data/app/models/has_helpers/master_record.rb +18 -0
  152. data/app/models/has_helpers/notification_alert.rb +52 -0
  153. data/app/models/has_helpers/organization.rb +16 -0
  154. data/app/models/has_helpers/organization_link.rb +92 -0
  155. data/app/models/has_helpers/organization_methods.rb +62 -0
  156. data/app/models/has_helpers/organization_option.rb +31 -0
  157. data/app/models/has_helpers/organization_resource.rb +45 -0
  158. data/app/models/has_helpers/pending_db_operation.rb +31 -0
  159. data/app/models/has_helpers/recently_viewed.rb +34 -0
  160. data/app/models/has_helpers/reindex_queue.rb +43 -0
  161. data/app/models/has_helpers/resource.rb +38 -0
  162. data/app/models/has_helpers/resource_group.rb +15 -0
  163. data/app/models/has_helpers/restriction.rb +15 -0
  164. data/app/models/has_helpers/restriction_operation.rb +13 -0
  165. data/app/models/has_helpers/role.rb +20 -0
  166. data/app/models/has_helpers/service_trust/audit_log.rb +20 -0
  167. data/app/models/has_helpers/service_trust/key.rb +56 -0
  168. data/app/models/has_helpers/stat.rb +13 -0
  169. data/app/models/has_helpers/user.rb +18 -0
  170. data/app/models/has_helpers/user_methods.rb +184 -0
  171. data/app/models/has_helpers/user_organization.rb +33 -0
  172. data/app/models/has_helpers/user_role.rb +27 -0
  173. data/app/models/has_helpers/user_session.rb +19 -0
  174. data/app/presenters/has_helpers/barcode_base_presenter.rb +113 -0
  175. data/app/presenters/has_helpers/base_presenter.rb +100 -0
  176. data/app/presenters/has_helpers/cacheable_item.rb +28 -0
  177. data/app/presenters/has_helpers/item_presenter.rb +52 -0
  178. data/app/presenters/has_helpers/items_presenter.rb +33 -0
  179. data/app/presenters/has_helpers/resource/action_presenter.rb +8 -0
  180. data/app/presenters/has_helpers/resource/cell_presenter.rb +52 -0
  181. data/app/presenters/has_helpers/resource/email_presenter.rb +34 -0
  182. data/app/presenters/has_helpers/resource/form_presenter.rb +76 -0
  183. data/app/presenters/has_helpers/resource/info_collection_presenter.rb +33 -0
  184. data/app/presenters/has_helpers/resource/info_presenter.rb +34 -0
  185. data/app/presenters/has_helpers/resource/list_presenter.rb +120 -0
  186. data/app/presenters/has_helpers/resource/note_presenter.rb +14 -0
  187. data/app/presenters/has_helpers/resource/row_presenter.rb +25 -0
  188. data/app/presenters/has_helpers/resource/tag_presenter.rb +31 -0
  189. data/app/presenters/has_helpers/search_presenter.rb +230 -0
  190. data/app/triggers/has_helpers/erase_denormalized_belongs_to_column_trigger.rb +85 -0
  191. data/app/triggers/has_helpers/limit_favorites.rb +97 -0
  192. data/app/utils/has_helpers/redis_configurable.rb +79 -0
  193. data/app/utils/has_helpers/sync_utils.rb +234 -0
  194. data/app/views/has_helpers/actions/_action.html.erb +31 -0
  195. data/app/views/has_helpers/alerts/_alert.html.erb +3 -0
  196. data/app/views/has_helpers/barcodes.html.erb +36 -0
  197. data/app/views/has_helpers/containers/_container.html.erb +3 -0
  198. data/app/views/has_helpers/email_notifier/system.html.erb +8 -0
  199. data/app/views/has_helpers/email_notifier/system.text.erb +7 -0
  200. data/app/views/has_helpers/enumerables/_enumerable.html.erb +1 -0
  201. data/app/views/has_helpers/icons/_icon.html.erb +1 -0
  202. data/app/views/has_helpers/render_objects/_render_object.html.erb +1 -0
  203. data/app/views/has_helpers/services/_service.html.erb +1 -0
  204. data/app/views/has_helpers/text_nodes/_text_node.html.erb +4 -0
  205. data/app/views/has_helpers/ui_attributes/_html_attrs.html.erb +1 -0
  206. data/app/workers/elasticsearch_process_queue.rb +11 -0
  207. data/app/workers/elasticsearch_reindex.rb +11 -0
  208. data/app/workers/elasticsearch_reindex_scheduler.rb +35 -0
  209. data/app/workers/good_job/configurable_backfill.rb +64 -0
  210. data/app/workers/good_job/cron_denormalization_stats_manager.rb +39 -0
  211. data/app/workers/good_job/denormalization_stats_worker.rb +57 -0
  212. data/app/workers/good_job/dn_update_worker.rb +30 -0
  213. data/app/workers/good_job/dn_worker.rb +47 -0
  214. data/app/workers/good_job/elasticsearch_old_index_cleaner_worker.rb +113 -0
  215. data/app/workers/good_job/elasticsearch_on_finish_reindex.rb +26 -0
  216. data/app/workers/good_job/elasticsearch_process_batch.rb +78 -0
  217. data/app/workers/good_job/elasticsearch_process_change_logs_master_worker.rb +27 -0
  218. data/app/workers/good_job/elasticsearch_process_change_logs_worker.rb +155 -0
  219. data/app/workers/good_job/elasticsearch_process_queue.rb +50 -0
  220. data/app/workers/good_job/elasticsearch_reindex.rb +31 -0
  221. data/app/workers/has_helpers/cards/orphan_card_sweeper.rb +28 -0
  222. data/app/workers/has_helpers/db_operations/clean_stats_worker.rb +42 -0
  223. data/app/workers/has_helpers/db_operations/helper_worker.rb +131 -0
  224. data/app/workers/has_helpers/db_operations/main_worker.rb +164 -0
  225. data/app/workers/has_helpers/db_operations/operations.rb +134 -0
  226. data/app/workers/has_helpers/db_operations/update_operations_stats_resume_worker.rb +35 -0
  227. data/app/workers/has_helpers/default_worker.rb +17 -0
  228. data/app/workers/has_helpers/good_job/notification_alert_cleanup_worker.rb +43 -0
  229. data/app/workers/has_helpers/service_trust/audit_log_cleanup_worker.rb +19 -0
  230. data/app/workers/sidekiq/elasticsearch_old_index_cleaner_worker.rb +112 -0
  231. data/app/workers/sidekiq/elasticsearch_process_batch.rb +87 -0
  232. data/app/workers/sidekiq/elasticsearch_process_queue.rb +40 -0
  233. data/app/workers/sidekiq/elasticsearch_reindex.rb +53 -0
  234. data/config/initializers/action_view.rb +7 -0
  235. data/config/initializers/inflections.rb +24 -0
  236. data/config/initializers/marginalia.rb +8 -0
  237. data/config/initializers/mime_types.rb +6 -0
  238. data/config/initializers/opentelemetry.rb +12 -0
  239. data/config/initializers/redis_conf.rb +40 -0
  240. data/config/initializers/searchkick.rb +9 -0
  241. data/config/initializers/will_paginate.rb +39 -0
  242. data/config/redis.yml +12 -0
  243. data/config/routes.rb +27 -0
  244. data/config/service_trust_routes.rb +5 -0
  245. data/config.ru +9 -0
  246. data/db/migrate/20230127194725_create_organization_table.rb +25 -0
  247. data/db/migrate/20230127194726_validate_organization_foreign_keys.rb +7 -0
  248. data/db/migrate/20230206141413_create_security_models.rb +42 -0
  249. data/db/migrate/20230206141513_create_restriction_model.rb +20 -0
  250. data/db/migrate/20230206142613_add_security_indexes.rb +14 -0
  251. data/db/migrate/20230206143513_security_model_constants_seed.rb +8 -0
  252. data/db/migrate/20230206161513_add_organization_to_security_models.rb +13 -0
  253. data/db/migrate/20230209121019_create_search_group_models.rb +36 -0
  254. data/db/migrate/20230209122919_add_search_group_indexes.rb +21 -0
  255. data/db/migrate/20230209181832_add_search_group_resources_type_constraint_trigger.rb +61 -0
  256. data/db/migrate/20230313220337_create_table_user_sessions.rb +31 -0
  257. data/db/migrate/20230517141106_update_resource_types.rb +12 -0
  258. data/db/migrate/20230518194611_add_resources_contraints.rb +17 -0
  259. data/db/migrate/20230518194642_create_nested_resource_model.rb +21 -0
  260. data/db/migrate/20230518194645_validate_security_models_constraints.rb +23 -0
  261. data/db/migrate/20230608125037_add_inactive_field_to_user_sessions.rb +7 -0
  262. data/db/migrate/20230919191525_add_parent_id_to_resources.rb +8 -0
  263. data/db/migrate/20230919191535_validate_parent_id_fk_resources.rb +7 -0
  264. data/db/migrate/20230919210456_drop_nested_resources.rb +7 -0
  265. data/db/migrate/20231222135620_add_user_role.rb +19 -0
  266. data/db/migrate/20240108172021_create_favorites_table.rb +20 -0
  267. data/db/migrate/20240108190209_create_organization_link_table_if_doesnt_exists.rb +31 -0
  268. data/db/migrate/20240109211445_validate_fks_org_links.rb +9 -0
  269. data/db/migrate/20240110135440_create_recently_vieweds.rb +20 -0
  270. data/db/migrate/20240112185312_link_type_options_seed.rb +7 -0
  271. data/db/migrate/20240116173201_organization_link_resource_tab_constraints.rb +19 -0
  272. data/db/migrate/20240131160949_add_user_organizations_table.rb +32 -0
  273. data/db/migrate/20240212132519_add_organization_in_user_sessions.rb +13 -0
  274. data/db/migrate/20240227135052_add_user_organization_composite_fks.rb +32 -0
  275. data/db/migrate/20240312193501_update_organization_links.rb +11 -0
  276. data/db/migrate/20240426185902_add_user_organizations_current_organization_column.rb +12 -0
  277. data/db/migrate/20240429214601_add_primary_trigger.rb +10 -0
  278. data/db/migrate/20241112131819_add_json_file_format_seed.rb +7 -0
  279. data/db/migrate/20250520133417_create_restriction_operations.rb +18 -0
  280. data/db/migrate/20250520133420_validate_create_restriction_operations.rb +8 -0
  281. data/db/migrate/20250520140642_add_indexes_to_restrictions.rb +9 -0
  282. data/db/migrate/20250529130741_create_notification_alerts_table.rb +28 -0
  283. data/db/migrate/20250530223332_create_data_migrations_table.rb +19 -0
  284. data/db/migrate/20250605121622_seed_notification_alert_status.rb +7 -0
  285. data/db/migrate/20250605131439_seed_notification_alert_types.rb +7 -0
  286. data/db/migrate/20250606173128_update_notification_alert_length_constraint.rb +18 -0
  287. data/db/migrate/20250606174043_validate_notification_alert_length_constraints.rb +8 -0
  288. data/db/migrate/20250624183000_add_data_import_alert_type.rb +11 -0
  289. data/db/migrate/20250722183935_create_organization_options_table.rb +38 -0
  290. data/db/migrate/20250722192724_validate_organization_options_fks_and_constraints.rb +32 -0
  291. data/db/migrate/20250722192936_add_indexes_to_organization_options_table.rb +15 -0
  292. data/db/migrate/20250915132448_add_column_restrictions_hash.rb +7 -0
  293. data/db/migrate/20250917143211_add_column_permissions_hash.rb +7 -0
  294. data/db/migrate/20251001145950_add_trust_this_device.rb +7 -0
  295. data/db/migrate/20251021130835_add_backend_urls_to_applications_table.rb +13 -0
  296. data/db/migrate/20251021172715_validate_backend_urls_constraints_in_applications.rb +9 -0
  297. data/db/migrate/20251030200020_create_card_definitions.rb +23 -0
  298. data/db/migrate/20251030201012_create_card_definition_resources.rb +24 -0
  299. data/db/migrate/20251030201236_create_card_fields.rb +34 -0
  300. data/db/migrate/20251103194317_create_role_resource_cards.rb +37 -0
  301. data/db/migrate/20251103194426_create_role_card_fields.rb +34 -0
  302. data/db/migrate/20251107173218_validate_columns_from_cards.rb +17 -0
  303. data/db/migrate/20251111173212_add_column_application_array.rb +7 -0
  304. data/db/migrate/20251112203326_add_card_types.rb +10 -0
  305. data/db/migrate/20251115120000_add_virtual_cards_support.rb +28 -0
  306. data/db/migrate/20251202231256_add_org_scoped_fk_role_resource_cards_to_roles.rb +14 -0
  307. data/db/migrate/20260105134504_add_accessor_field_resource_type.rb +7 -0
  308. data/db/migrate/20260115123000_add_default_visibility_to_card_definitions.rb +9 -0
  309. data/db/migrate/20260120175037_is_new_admin.rb +9 -0
  310. data/db/migrate/20260122392008_add_stats_table.rb +17 -0
  311. data/db/migrate/20260414204718_add_index_to_stats_table.rb +10 -0
  312. data/db/migrate/20260509120000_create_service_trust_keys.rb +25 -0
  313. data/db/migrate/20260509120001_create_service_trust_audit_logs.rb +26 -0
  314. data/db/migrate/20260511120000_add_direction_to_service_trust_audit_logs.rb +17 -0
  315. data/db/migrate/20260511121000_remove_role_fk_from_role_resource_cards.rb +19 -0
  316. data/db/migrate/20260511121001_add_disabled_at_to_role_resource_cards.rb +10 -0
  317. data/db/migrate/20260605120100_seed_hover_card_options.rb +8 -0
  318. data/db/migrate/20260608120000_seed_badge_list_card_data_type.rb +7 -0
  319. data/db/migrate/20260727000000_add_two_factor_trust_id_to_user_sessions.rb +11 -0
  320. data/db/seeds.rb +14 -0
  321. data/docs/Elasticsearch.md +23 -0
  322. data/docs/Search_API.md +126 -0
  323. data/docs/cards_role_proxy.md +107 -0
  324. data/docs/factory_api.md +135 -0
  325. data/has-helpers-pr-289-pipeline.yaml +16 -0
  326. data/has-helpers-pr-298-pipeline.yaml +15 -0
  327. data/has_helpers.gemspec +68 -0
  328. data/lib/active_record/migration/active_migration_patch.rb +123 -0
  329. data/lib/generators/has_helpers/install/USAGE +8 -0
  330. data/lib/generators/has_helpers/install/install_generator.rb +22 -0
  331. data/lib/generators/has_helpers/install/templates/migrate/has_helpers_initial_setup.rb +26 -0
  332. data/lib/has_helpers/active_record/base.rb +50 -0
  333. data/lib/has_helpers/active_record/date_range.rb +228 -0
  334. data/lib/has_helpers/active_record/nested_resource.rb +58 -0
  335. data/lib/has_helpers/active_record/validation.rb +63 -0
  336. data/lib/has_helpers/active_record.rb +520 -0
  337. data/lib/has_helpers/app/command.rb +107 -0
  338. data/lib/has_helpers/app.rb +10 -0
  339. data/lib/has_helpers/assets_precompile_helper.rb +20 -0
  340. data/lib/has_helpers/attributes.rb +196 -0
  341. data/lib/has_helpers/aws.rb +67 -0
  342. data/lib/has_helpers/cards/cache.rb +49 -0
  343. data/lib/has_helpers/cards/config.rb +42 -0
  344. data/lib/has_helpers/cards/remote_role.rb +27 -0
  345. data/lib/has_helpers/cards/remote_roles.rb +75 -0
  346. data/lib/has_helpers/cards/roles.rb +55 -0
  347. data/lib/has_helpers/cards.rb +34 -0
  348. data/lib/has_helpers/concerns/hydrate_concern.rb +76 -0
  349. data/lib/has_helpers/concerns/importable_accessors.rb +25 -0
  350. data/lib/has_helpers/concerns/restrictions_parseable.rb +51 -0
  351. data/lib/has_helpers/config.rb +11 -0
  352. data/lib/has_helpers/constant.rb +578 -0
  353. data/lib/has_helpers/constraints.rb +10 -0
  354. data/lib/has_helpers/core_ext/array.rb +28 -0
  355. data/lib/has_helpers/core_ext/date/infinity.rb +25 -0
  356. data/lib/has_helpers/core_ext/date.rb +39 -0
  357. data/lib/has_helpers/core_ext/enumerable.rb +20 -0
  358. data/lib/has_helpers/core_ext/false_class.rb +14 -0
  359. data/lib/has_helpers/core_ext/float.rb +18 -0
  360. data/lib/has_helpers/core_ext/hash.rb +71 -0
  361. data/lib/has_helpers/core_ext/integer.rb +18 -0
  362. data/lib/has_helpers/core_ext/nil_class.rb +30 -0
  363. data/lib/has_helpers/core_ext/object.rb +60 -0
  364. data/lib/has_helpers/core_ext/proc.rb +16 -0
  365. data/lib/has_helpers/core_ext/string.rb +81 -0
  366. data/lib/has_helpers/core_ext/symbol.rb +17 -0
  367. data/lib/has_helpers/core_ext/true_class.rb +14 -0
  368. data/lib/has_helpers/cursor.rb +46 -0
  369. data/lib/has_helpers/data_migration/base.rb +293 -0
  370. data/lib/has_helpers/data_migration/large_worker.rb +20 -0
  371. data/lib/has_helpers/data_migration/master_worker.rb +33 -0
  372. data/lib/has_helpers/data_migration/migrator.rb +83 -0
  373. data/lib/has_helpers/data_migration/model.rb +18 -0
  374. data/lib/has_helpers/data_migration/small_worker.rb +20 -0
  375. data/lib/has_helpers/data_migration.rb +8 -0
  376. data/lib/has_helpers/engine.rb +47 -0
  377. data/lib/has_helpers/extensions.rb +17 -0
  378. data/lib/has_helpers/factory_api.rb +47 -0
  379. data/lib/has_helpers/factory_scenario/definition.rb +33 -0
  380. data/lib/has_helpers/factory_scenario/dsl.rb +80 -0
  381. data/lib/has_helpers/factory_scenario/factory_bot_override.rb +53 -0
  382. data/lib/has_helpers/factory_scenario/registry.rb +31 -0
  383. data/lib/has_helpers/factory_scenario/runner.rb +285 -0
  384. data/lib/has_helpers/factory_scenario.rb +27 -0
  385. data/lib/has_helpers/fixed_expiration_time_cache_session_store.rb +20 -0
  386. data/lib/has_helpers/flattener/association.rb +140 -0
  387. data/lib/has_helpers/flattener/attribute.rb +42 -0
  388. data/lib/has_helpers/flattener/base.rb +428 -0
  389. data/lib/has_helpers/flattener/column/types.rb +71 -0
  390. data/lib/has_helpers/flattener/column.rb +97 -0
  391. data/lib/has_helpers/flattener/pivot.rb +49 -0
  392. data/lib/has_helpers/flattener/reset.rb +33 -0
  393. data/lib/has_helpers/flattener/resource.rb +114 -0
  394. data/lib/has_helpers/flattener/resource_generator.rb +21 -0
  395. data/lib/has_helpers/flattener/utils.rb +14 -0
  396. data/lib/has_helpers/flattener.rb +53 -0
  397. data/lib/has_helpers/hash_accessors.rb +62 -0
  398. data/lib/has_helpers/helpers/application.rb +291 -0
  399. data/lib/has_helpers/index/config.rb +15 -0
  400. data/lib/has_helpers/lazy_config.rb +61 -0
  401. data/lib/has_helpers/resource_importer.rb +260 -0
  402. data/lib/has_helpers/resources.rb +127 -0
  403. data/lib/has_helpers/rspec/constants.rb +61 -0
  404. data/lib/has_helpers/rspec/factories.rb +11 -0
  405. data/lib/has_helpers/rspec.rb +22 -0
  406. data/lib/has_helpers/sentry/graphql_trace.rb +37 -0
  407. data/lib/has_helpers/serializer.rb +41 -0
  408. data/lib/has_helpers/service_trust/audit.rb +45 -0
  409. data/lib/has_helpers/service_trust/authorization.rb +34 -0
  410. data/lib/has_helpers/service_trust/bearer_token.rb +23 -0
  411. data/lib/has_helpers/service_trust/capability.rb +32 -0
  412. data/lib/has_helpers/service_trust/client/response.rb +13 -0
  413. data/lib/has_helpers/service_trust/client/retry.rb +35 -0
  414. data/lib/has_helpers/service_trust/client.rb +128 -0
  415. data/lib/has_helpers/service_trust/configuration.rb +76 -0
  416. data/lib/has_helpers/service_trust/engine.rb +10 -0
  417. data/lib/has_helpers/service_trust/errors.rb +32 -0
  418. data/lib/has_helpers/service_trust/graphql/authorizable.rb +72 -0
  419. data/lib/has_helpers/service_trust/graphql_client.rb +54 -0
  420. data/lib/has_helpers/service_trust/jwks_client.rb +133 -0
  421. data/lib/has_helpers/service_trust/jwt_codec.rb +45 -0
  422. data/lib/has_helpers/service_trust/key_manager.rb +160 -0
  423. data/lib/has_helpers/service_trust/rate_limiter.rb +27 -0
  424. data/lib/has_helpers/service_trust/replay_cache.rb +26 -0
  425. data/lib/has_helpers/service_trust/signer.rb +47 -0
  426. data/lib/has_helpers/service_trust/test.rb +60 -0
  427. data/lib/has_helpers/service_trust/verifier.rb +85 -0
  428. data/lib/has_helpers/service_trust/verify_middleware.rb +55 -0
  429. data/lib/has_helpers/service_trust.rb +51 -0
  430. data/lib/has_helpers/test_helpers/factory_data/unit_addresses.rb +42 -0
  431. data/lib/has_helpers/test_helpers/factory_data/unit_advisors.rb +272 -0
  432. data/lib/has_helpers/test_helpers/factory_data/unit_emails.rb +37 -0
  433. data/lib/has_helpers/test_helpers/factory_data/unit_organizations.rb +48 -0
  434. data/lib/has_helpers/test_helpers/factory_data/unit_people.rb +34 -0
  435. data/lib/has_helpers/test_helpers/factory_data/unit_phones.rb +41 -0
  436. data/lib/has_helpers/test_helpers/factory_data/unit_states.rb +26 -0
  437. data/lib/has_helpers/test_helpers/factory_data/unit_webs.rb +31 -0
  438. data/lib/has_helpers/test_helpers/shoulda_helpers.rb +249 -0
  439. data/lib/has_helpers/ui_attributes.rb +39 -0
  440. data/lib/has_helpers/utils/action.rb +87 -0
  441. data/lib/has_helpers/utils/active_record_utils.rb +40 -0
  442. data/lib/has_helpers/utils/alert.rb +42 -0
  443. data/lib/has_helpers/utils/container.rb +46 -0
  444. data/lib/has_helpers/utils/dataset.rb +34 -0
  445. data/lib/has_helpers/utils/email_notifier.rb +15 -0
  446. data/lib/has_helpers/utils/icon.rb +66 -0
  447. data/lib/has_helpers/utils/input.rb +45 -0
  448. data/lib/has_helpers/utils/log_notifier.rb +79 -0
  449. data/lib/has_helpers/utils/render_object.rb +32 -0
  450. data/lib/has_helpers/utils/s3_utils.rb +37 -0
  451. data/lib/has_helpers/utils/service.rb +87 -0
  452. data/lib/has_helpers/utils/slack_conf.rb +31 -0
  453. data/lib/has_helpers/utils/slack_notifier.rb +42 -0
  454. data/lib/has_helpers/utils/text_node.rb +34 -0
  455. data/lib/has_helpers/utils/user_restrictions.rb +266 -0
  456. data/lib/has_helpers/utils.rb +19 -0
  457. data/lib/has_helpers/version.rb +6 -0
  458. data/lib/has_helpers/web_socket_publisher.rb +20 -0
  459. data/lib/has_helpers/webhook.rb +17 -0
  460. data/lib/has_helpers.rb +63 -0
  461. data/lib/hq/resource.rb +55 -0
  462. data/lib/hq/structure/inserts.rb +176 -0
  463. data/lib/hq/structure.rb +115 -0
  464. data/lib/tasks/has_helpers/service_trust.rake +39 -0
  465. data/script/rails +10 -0
  466. data/sorbet/config +5 -0
  467. data/sorbet/rbi/gems/actionpack.rbi +1361 -0
  468. data/sorbet/rbi/gems/activemodel.rbi +755 -0
  469. data/sorbet/rbi/gems/activerecord.rbi +4713 -0
  470. data/sorbet/rbi/gems/activesupport.rbi +1970 -0
  471. data/sorbet/rbi/gems/barby.rbi +129 -0
  472. data/sorbet/rbi/gems/better_errors.rbi +155 -0
  473. data/sorbet/rbi/gems/binding_of_caller.rbi +22 -0
  474. data/sorbet/rbi/gems/byebug.rbi +19 -0
  475. data/sorbet/rbi/gems/chronic.rbi +480 -0
  476. data/sorbet/rbi/gems/chunky_png.rbi +510 -0
  477. data/sorbet/rbi/gems/climate_control.rbi +45 -0
  478. data/sorbet/rbi/gems/coderay.rbi +91 -0
  479. data/sorbet/rbi/gems/concurrent-ruby.rbi +1587 -0
  480. data/sorbet/rbi/gems/debug_inspector.rbi +18 -0
  481. data/sorbet/rbi/gems/erubi.rbi +26 -0
  482. data/sorbet/rbi/gems/holidays.rbi +362 -0
  483. data/sorbet/rbi/gems/i18n.rbi +132 -0
  484. data/sorbet/rbi/gems/method_source.rbi +63 -0
  485. data/sorbet/rbi/gems/mime-types-data.rbi +16 -0
  486. data/sorbet/rbi/gems/mime-types.rbi +217 -0
  487. data/sorbet/rbi/gems/mimemagic.rbi +36 -0
  488. data/sorbet/rbi/gems/minitest.rbi +282 -0
  489. data/sorbet/rbi/gems/mustache.rbi +151 -0
  490. data/sorbet/rbi/gems/paperclip.rbi +644 -0
  491. data/sorbet/rbi/gems/parallel.rbi +81 -0
  492. data/sorbet/rbi/gems/parallel_tests.rbi +27 -0
  493. data/sorbet/rbi/gems/pry-rails.rbi +71 -0
  494. data/sorbet/rbi/gems/pry.rbi +1964 -0
  495. data/sorbet/rbi/gems/rack.rbi +228 -0
  496. data/sorbet/rbi/gems/railties.rbi +364 -0
  497. data/sorbet/rbi/gems/rspec-core.rbi +1704 -0
  498. data/sorbet/rbi/gems/rspec-expectations.rbi +389 -0
  499. data/sorbet/rbi/gems/rspec-support.rbi +206 -0
  500. data/sorbet/rbi/gems/rspec.rbi +14 -0
  501. data/sorbet/rbi/gems/spreadsheet_architect.rbi +10 -0
  502. data/sorbet/rbi/gems/sprockets.rbi +659 -0
  503. data/sorbet/rbi/gems/terrapin.rbi +115 -0
  504. data/sorbet/rbi/gems/testhq.rbi +14 -0
  505. data/sorbet/rbi/gems/thor.rbi +482 -0
  506. data/sorbet/rbi/gems/thread_safe.rbi +81 -0
  507. data/sorbet/rbi/gems/tzinfo.rbi +407 -0
  508. data/sorbet/rbi/gems/zeitwerk.rbi +131 -0
  509. data/sorbet/rbi/hidden-definitions/errors.txt +35111 -0
  510. data/sorbet/rbi/hidden-definitions/hidden.rbi +59974 -0
  511. data/sorbet/rbi/sorbet-typed/lib/actionmailer/all/actionmailer.rbi +13 -0
  512. data/sorbet/rbi/sorbet-typed/lib/actionpack/all/actionpack.rbi +855 -0
  513. data/sorbet/rbi/sorbet-typed/lib/actionview/all/actionview.rbi +314 -0
  514. data/sorbet/rbi/sorbet-typed/lib/activemodel/all/activemodel.rbi +423 -0
  515. data/sorbet/rbi/sorbet-typed/lib/activerecord/>=5.2/activerecord.rbi +17 -0
  516. data/sorbet/rbi/sorbet-typed/lib/activerecord/all/activerecord.rbi +1415 -0
  517. data/sorbet/rbi/sorbet-typed/lib/activerecord/~>6.0.0/activerecord.rbi +475 -0
  518. data/sorbet/rbi/sorbet-typed/lib/activestorage/>=6.0.0/activestorage.rbi +19 -0
  519. data/sorbet/rbi/sorbet-typed/lib/activestorage/all/activestorage.rbi +173 -0
  520. data/sorbet/rbi/sorbet-typed/lib/activesupport/>=6.0.0.rc1/activesupport.rbi +23 -0
  521. data/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +625 -0
  522. data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +8684 -0
  523. data/sorbet/rbi/sorbet-typed/lib/minitest/all/minitest.rbi +99 -0
  524. data/sorbet/rbi/sorbet-typed/lib/railties/all/railties.rbi +25 -0
  525. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +254 -0
  526. data/sorbet/rbi/sorbet-typed/lib/ruby/all/gem.rbi +4222 -0
  527. data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +111 -0
  528. data/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +543 -0
  529. data/sorbet/rbi/todo.rbi +244 -0
  530. data/spec/commands/cards/available_cards_command_spec.rb +90 -0
  531. data/spec/commands/cards/card_data_command_spec.rb +1048 -0
  532. data/spec/constructors/has_helpers/base_constructor_spec.rb +49 -0
  533. data/spec/controllers/has_helpers/controller_spec.rb +71 -0
  534. data/spec/controllers/has_helpers/xlsx_export_spec.rb +96 -0
  535. data/spec/factories/advisors.rb +20 -0
  536. data/spec/factories/anonymous_cowards.rb +5 -0
  537. data/spec/factories/applications.rb +5 -0
  538. data/spec/factories/appointments.rb +6 -0
  539. data/spec/factories/attachment.rb +15 -0
  540. data/spec/factories/audits.rb +5 -0
  541. data/spec/factories/basic_schedules.rb +12 -0
  542. data/spec/factories/cards/card_definition_resources.rb +7 -0
  543. data/spec/factories/cards/card_definitions.rb +11 -0
  544. data/spec/factories/cards/card_fields.rb +22 -0
  545. data/spec/factories/cards/role_card_fields.rb +17 -0
  546. data/spec/factories/cards/role_resource_cards.rb +12 -0
  547. data/spec/factories/constant_definition.rb +7 -0
  548. data/spec/factories/contracts.rb +10 -0
  549. data/spec/factories/data_migration_models.rb +9 -0
  550. data/spec/factories/demographics.rb +22 -0
  551. data/spec/factories/events.rb +21 -0
  552. data/spec/factories/firms.rb +21 -0
  553. data/spec/factories/imports.rb +9 -0
  554. data/spec/factories/meetups.rb +13 -0
  555. data/spec/factories/organizations.rb +13 -0
  556. data/spec/factories/policies.rb +7 -0
  557. data/spec/factories/policy_notes.rb +9 -0
  558. data/spec/factories/read_only_values.rb +7 -0
  559. data/spec/factories/resources.rb +7 -0
  560. data/spec/factories/roles.rb +11 -0
  561. data/spec/factories/schedules.rb +13 -0
  562. data/spec/factories/shared/flattener/attributes.rb +10 -0
  563. data/spec/factories/shared/flattener/columns.rb +6 -0
  564. data/spec/factories/shared/flattener/resources.rb +5 -0
  565. data/spec/factories/templates.rb +12 -0
  566. data/spec/factories/user_organizations.rb +23 -0
  567. data/spec/factories/user_session.rb +11 -0
  568. data/spec/factories/users.rb +55 -0
  569. data/spec/fixtures/sample_config.yml +3 -0
  570. data/spec/graphql/has_helpers/mutations/external_data_sync_spec.rb +101 -0
  571. data/spec/graphql/has_helpers/resolvers/cards/available_cards_spec.rb +36 -0
  572. data/spec/graphql/has_helpers/resolvers/cards/card_data_spec.rb +42 -0
  573. data/spec/graphql/has_helpers/resolvers/cards/hover_card_data_spec.rb +59 -0
  574. data/spec/has_helpers/cards/cache_spec.rb +58 -0
  575. data/spec/has_helpers/cards/config_spec.rb +68 -0
  576. data/spec/has_helpers/cards/orphan_card_sweeper_spec.rb +97 -0
  577. data/spec/has_helpers/cards/remote_role_spec.rb +17 -0
  578. data/spec/has_helpers/cards/remote_roles_spec.rb +97 -0
  579. data/spec/has_helpers/cards/roles_spec.rb +52 -0
  580. data/spec/has_helpers/cards/smoke_spec.rb +168 -0
  581. data/spec/has_helpers/cards/support.rb +52 -0
  582. data/spec/has_helpers/resolvers/internal/roles_spec.rb +73 -0
  583. data/spec/has_helpers/service_trust/audit_log_cleanup_worker_spec.rb +33 -0
  584. data/spec/has_helpers/service_trust/audit_spec.rb +70 -0
  585. data/spec/has_helpers/service_trust/authenticated_as_service_spec.rb +65 -0
  586. data/spec/has_helpers/service_trust/authorization_spec.rb +37 -0
  587. data/spec/has_helpers/service_trust/capability_spec.rb +35 -0
  588. data/spec/has_helpers/service_trust/client_spec.rb +129 -0
  589. data/spec/has_helpers/service_trust/configuration_spec.rb +35 -0
  590. data/spec/has_helpers/service_trust/engine_spec.rb +13 -0
  591. data/spec/has_helpers/service_trust/errors_spec.rb +23 -0
  592. data/spec/has_helpers/service_trust/graphql_authentication_spec.rb +59 -0
  593. data/spec/has_helpers/service_trust/graphql_authorizable_spec.rb +91 -0
  594. data/spec/has_helpers/service_trust/graphql_client_spec.rb +47 -0
  595. data/spec/has_helpers/service_trust/jwks_client_spec.rb +85 -0
  596. data/spec/has_helpers/service_trust/jwks_controller_spec.rb +47 -0
  597. data/spec/has_helpers/service_trust/jwt_codec_spec.rb +30 -0
  598. data/spec/has_helpers/service_trust/key_manager_spec.rb +80 -0
  599. data/spec/has_helpers/service_trust/key_spec.rb +52 -0
  600. data/spec/has_helpers/service_trust/rake_tasks_spec.rb +58 -0
  601. data/spec/has_helpers/service_trust/rate_limiter_spec.rb +31 -0
  602. data/spec/has_helpers/service_trust/replay_cache_spec.rb +29 -0
  603. data/spec/has_helpers/service_trust/signer_verifier_spec.rb +159 -0
  604. data/spec/has_helpers/service_trust/smoke_spec.rb +216 -0
  605. data/spec/has_helpers/service_trust/support.rb +121 -0
  606. data/spec/has_helpers/service_trust/test_module_spec.rb +39 -0
  607. data/spec/has_helpers/service_trust/verify_middleware_spec.rb +82 -0
  608. data/spec/helpers/application_spec.rb +155 -0
  609. data/spec/importers/cards/importer_spec.rb +861 -0
  610. data/spec/internal/app/assets/config/manifest.js +0 -0
  611. data/spec/internal/app/constants/cat_egory.rb +33 -0
  612. data/spec/internal/app/constants/color.rb +19 -0
  613. data/spec/internal/app/constants/exclude_group_nil_constant.rb +5 -0
  614. data/spec/internal/app/constants/foo.rb +6 -0
  615. data/spec/internal/app/constants/fruit.rb +3 -0
  616. data/spec/internal/app/constants/generic_group_example.rb +12 -0
  617. data/spec/internal/app/constants/my_constant.rb +4 -0
  618. data/spec/internal/app/constants/product.rb +3 -0
  619. data/spec/internal/app/constants/shirt_size.rb +18 -0
  620. data/spec/internal/app/constants/simple_option.rb +14 -0
  621. data/spec/internal/app/constants/status.rb +5 -0
  622. data/spec/internal/app/constructors/organization_constructor.rb +4 -0
  623. data/spec/internal/app/controllers/application_controller.rb +27 -0
  624. data/spec/internal/app/controllers/search_extensions.rb +3 -0
  625. data/spec/internal/app/indices/advisor_index.rb +35 -0
  626. data/spec/internal/app/indices/contract_index.rb +52 -0
  627. data/spec/internal/app/indices/firm_index.rb +16 -0
  628. data/spec/internal/app/indices/policy_index.rb +20 -0
  629. data/spec/internal/app/models/advisor.rb +24 -0
  630. data/spec/internal/app/models/agency.rb +3 -0
  631. data/spec/internal/app/models/anonymous_coward.rb +5 -0
  632. data/spec/internal/app/models/another_event.rb +2 -0
  633. data/spec/internal/app/models/appointment.rb +3 -0
  634. data/spec/internal/app/models/attachment.rb +10 -0
  635. data/spec/internal/app/models/basic_schedule.rb +6 -0
  636. data/spec/internal/app/models/beneficiary.rb +6 -0
  637. data/spec/internal/app/models/client.rb +5 -0
  638. data/spec/internal/app/models/contract.rb +9 -0
  639. data/spec/internal/app/models/demographic.rb +4 -0
  640. data/spec/internal/app/models/division.rb +3 -0
  641. data/spec/internal/app/models/event.rb +10 -0
  642. data/spec/internal/app/models/event_template.rb +1 -0
  643. data/spec/internal/app/models/firm.rb +18 -0
  644. data/spec/internal/app/models/has_audits/audit.rb +15 -0
  645. data/spec/internal/app/models/import.rb +7 -0
  646. data/spec/internal/app/models/meetup.rb +8 -0
  647. data/spec/internal/app/models/organization.rb +17 -0
  648. data/spec/internal/app/models/organization_event.rb +5 -0
  649. data/spec/internal/app/models/policy.rb +16 -0
  650. data/spec/internal/app/models/policy_holder.rb +7 -0
  651. data/spec/internal/app/models/policy_note.rb +8 -0
  652. data/spec/internal/app/models/project.rb +3 -0
  653. data/spec/internal/app/models/read_only_value.rb +8 -0
  654. data/spec/internal/app/models/schedule.rb +12 -0
  655. data/spec/internal/app/models/template.rb +9 -0
  656. data/spec/internal/app/models/user.rb +31 -0
  657. data/spec/internal/app/models/user_organization.rb +17 -0
  658. data/spec/internal/app/views/has_lists/lists/_table.html.erb +1 -0
  659. data/spec/internal/config/database-standard.yml +24 -0
  660. data/spec/internal/config/initializers/resources.rb +19 -0
  661. data/spec/internal/config/routes.rb +19 -0
  662. data/spec/internal/config/storage.yml +3 -0
  663. data/spec/internal/db/good_job_schema.rb +141 -0
  664. data/spec/internal/db/schema.rb +334 -0
  665. data/spec/internal/log/.gitignore +1 -0
  666. data/spec/internal/public/favicon.ico +0 -0
  667. data/spec/lib/flattener/base_spec.rb +93 -0
  668. data/spec/lib/flattener/column/types_spec.rb +65 -0
  669. data/spec/lib/has_helpers/active_record/base_spec.rb +53 -0
  670. data/spec/lib/has_helpers/active_record/date_range_spec.rb +498 -0
  671. data/spec/lib/has_helpers/active_record/lookup_model_spec.rb +408 -0
  672. data/spec/lib/has_helpers/active_record/nested_resource_spec.rb +43 -0
  673. data/spec/lib/has_helpers/app/command/reports/generator_specs.rb +887 -0
  674. data/spec/lib/has_helpers/app/command_spec.rb +117 -0
  675. data/spec/lib/has_helpers/app/support/mocks/graphql_reports_helpers.rb +96 -0
  676. data/spec/lib/has_helpers/app/support/mocks/reports_api_mock.rb +47 -0
  677. data/spec/lib/has_helpers/attributes_spec.rb +220 -0
  678. data/spec/lib/has_helpers/aws_spec.rb +126 -0
  679. data/spec/lib/has_helpers/concerns/hydrate_concern_spec.rb +473 -0
  680. data/spec/lib/has_helpers/constant/definition_spec.rb +128 -0
  681. data/spec/lib/has_helpers/constant_spec.rb +432 -0
  682. data/spec/lib/has_helpers/core_ext/array_spec.rb +22 -0
  683. data/spec/lib/has_helpers/core_ext/date/infinity_spec.rb +67 -0
  684. data/spec/lib/has_helpers/core_ext/date_spec.rb +27 -0
  685. data/spec/lib/has_helpers/core_ext/false_class_spec.rb +7 -0
  686. data/spec/lib/has_helpers/core_ext/float_spec.rb +9 -0
  687. data/spec/lib/has_helpers/core_ext/hash_spec.rb +48 -0
  688. data/spec/lib/has_helpers/core_ext/integer_spec.rb +9 -0
  689. data/spec/lib/has_helpers/core_ext/nil_class_spec.rb +17 -0
  690. data/spec/lib/has_helpers/core_ext/object_spec.rb +54 -0
  691. data/spec/lib/has_helpers/core_ext/proc_spec.rb +24 -0
  692. data/spec/lib/has_helpers/core_ext/string_spec.rb +154 -0
  693. data/spec/lib/has_helpers/core_ext/true_class_spec.rb +7 -0
  694. data/spec/lib/has_helpers/data_migration/base_spec.rb +470 -0
  695. data/spec/lib/has_helpers/data_migration/large_worker_spec.rb +34 -0
  696. data/spec/lib/has_helpers/data_migration/master_worker_spec.rb +51 -0
  697. data/spec/lib/has_helpers/data_migration/migrator_spec.rb +113 -0
  698. data/spec/lib/has_helpers/data_migration/model_spec.rb +52 -0
  699. data/spec/lib/has_helpers/data_migration/small_worker_spec.rb +34 -0
  700. data/spec/lib/has_helpers/good_job/notification_alert_cleanup_worker_spec.rb +89 -0
  701. data/spec/lib/has_helpers/hash_accessors_spec.rb +66 -0
  702. data/spec/lib/has_helpers/index_spec.rb +442 -0
  703. data/spec/lib/has_helpers/lazy_config_spec.rb +31 -0
  704. data/spec/lib/has_helpers/organization_merge_spec.rb +88 -0
  705. data/spec/lib/has_helpers/resource_importer_spec.rb +119 -0
  706. data/spec/lib/has_helpers/rspec_spec.rb +16 -0
  707. data/spec/lib/has_helpers/search/provider_spec.rb +26 -0
  708. data/spec/lib/has_helpers/search/search_utils_spec.rb +134 -0
  709. data/spec/lib/has_helpers/sentry/graphql_trace_spec.rb +140 -0
  710. data/spec/lib/has_helpers/ui_attributes_spec.rb +42 -0
  711. data/spec/lib/has_helpers/utils/action_spec.rb +49 -0
  712. data/spec/lib/has_helpers/utils/alert_spec.rb +33 -0
  713. data/spec/lib/has_helpers/utils/dataset_spec.rb +10 -0
  714. data/spec/lib/has_helpers/utils/icon_spec.rb +23 -0
  715. data/spec/lib/has_helpers/utils/input_spec.rb +40 -0
  716. data/spec/lib/has_helpers/utils/log_notifier_spec.rb +25 -0
  717. data/spec/lib/has_helpers/utils/render_object_spec.rb +17 -0
  718. data/spec/lib/has_helpers/utils/s3_utils_spec.rb +78 -0
  719. data/spec/lib/has_helpers/utils/service_spec.rb +79 -0
  720. data/spec/lib/has_helpers/utils/slack_notifier_spec.rb +70 -0
  721. data/spec/lib/has_helpers/utils/user_restrictions_spec.rb +343 -0
  722. data/spec/lib/hq/structure/inserts_spec.rb +152 -0
  723. data/spec/lib/hq/structure_spec.rb +12 -0
  724. data/spec/models/cards/base_spec.rb +149 -0
  725. data/spec/models/cards/card_definition_resource_spec.rb +103 -0
  726. data/spec/models/cards/card_definition_spec.rb +50 -0
  727. data/spec/models/cards/card_field_spec.rb +46 -0
  728. data/spec/models/cards/field_builder_spec.rb +318 -0
  729. data/spec/models/cards/registry_spec.rb +147 -0
  730. data/spec/models/cards/role_card_field_spec.rb +111 -0
  731. data/spec/models/cards/role_resource_card_spec.rb +112 -0
  732. data/spec/models/has_helpers/master_record_spec.rb +20 -0
  733. data/spec/models/has_helpers/user_organization_spec.rb +28 -0
  734. data/spec/models/has_helpers/user_session_spec.rb +16 -0
  735. data/spec/presenters/base_presenter_spec.rb +166 -0
  736. data/spec/rails_helper.rb +119 -0
  737. data/spec/requests/has_helpers/factory_controller_spec.rb +159 -0
  738. data/spec/requests/has_helpers/health_check_controller_spec.rb +37 -0
  739. data/spec/scenarios/empty_setup.rb +6 -0
  740. data/spec/spec_helper.rb +22 -0
  741. data/spec/support/has_helpers/database_helpers.rb +12 -0
  742. data/spec/utils/sync_utils_spec.rb +233 -0
  743. data/spec/workers/goodjob/elasticsearch_process_batch_spec.rb +94 -0
  744. data/spec/workers/goodjob/elasticsearch_process_change_logs_master_worker_spec.rb +40 -0
  745. data/spec/workers/goodjob/elasticsearch_process_change_logs_worker_spec.rb +82 -0
  746. data/spec/workers/goodjob/elasticsearch_process_queue_spec.rb +89 -0
  747. data/spec/workers/goodjob/elasticsearch_reindex_spec.rb +49 -0
  748. metadata +1593 -0
@@ -0,0 +1,1361 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: true
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/actionpack/all/actionpack.rbi
9
+ #
10
+ # actionpack-6.0.1
11
+ module ActionPack
12
+ def self.gem_version; end
13
+ def self.version; end
14
+ end
15
+ module ActionPack::VERSION
16
+ end
17
+ module Rack
18
+ end
19
+ module ActionDispatch
20
+ def self.test_app; end
21
+ def self.test_app=(obj); end
22
+ def test_app; end
23
+ def test_app=(obj); end
24
+ extend ActiveSupport::Autoload
25
+ end
26
+ class ActionDispatch::IllegalStateError < StandardError
27
+ end
28
+ module ActionDispatch::Http
29
+ extend ActiveSupport::Autoload
30
+ end
31
+ module ActionDispatch::Session
32
+ end
33
+ class ActionDispatch::Railtie < Rails::Railtie
34
+ end
35
+ module ActionDispatch::Routing
36
+ extend ActiveSupport::Autoload
37
+ end
38
+ module ActionDispatch::Journey
39
+ end
40
+ class ActionDispatch::Journey::Router
41
+ def ast; end
42
+ def custom_routes; end
43
+ def eager_load!; end
44
+ def filter_routes(path); end
45
+ def find_routes(req); end
46
+ def initialize(routes); end
47
+ def match_head_routes(routes, req); end
48
+ def match_routes(routes, req); end
49
+ def partitioned_routes; end
50
+ def recognize(rails_req); end
51
+ def routes; end
52
+ def routes=(arg0); end
53
+ def serve(req); end
54
+ def simulator; end
55
+ def visualizer; end
56
+ end
57
+ class ActionDispatch::Journey::Router::Utils
58
+ def self.escape_fragment(fragment); end
59
+ def self.escape_path(path); end
60
+ def self.escape_segment(segment); end
61
+ def self.normalize_path(path); end
62
+ def self.unescape_uri(uri); end
63
+ end
64
+ class ActionDispatch::Journey::Router::Utils::UriEncoder
65
+ def escape(component, pattern); end
66
+ def escape_fragment(fragment); end
67
+ def escape_path(path); end
68
+ def escape_segment(segment); end
69
+ def percent_encode(unsafe); end
70
+ def unescape_uri(uri); end
71
+ end
72
+ class ActionDispatch::Journey::Routes
73
+ def add_route(name, mapping); end
74
+ def anchored_routes; end
75
+ def ast; end
76
+ def clear; end
77
+ def clear_cache!; end
78
+ def custom_routes; end
79
+ def each(&block); end
80
+ def empty?; end
81
+ def initialize; end
82
+ def last; end
83
+ def length; end
84
+ def partition_route(route); end
85
+ def routes; end
86
+ def simulator; end
87
+ def size; end
88
+ include Enumerable
89
+ end
90
+ module ActionController
91
+ end
92
+ class ActionController::ActionControllerError < StandardError
93
+ end
94
+ class ActionController::BadRequest < ActionController::ActionControllerError
95
+ def initialize(msg = nil); end
96
+ end
97
+ class ActionController::RenderError < ActionController::ActionControllerError
98
+ end
99
+ class ActionController::RoutingError < ActionController::ActionControllerError
100
+ def failures; end
101
+ def initialize(message, failures = nil); end
102
+ end
103
+ class ActionController::UrlGenerationError < ActionController::ActionControllerError
104
+ end
105
+ class ActionController::MethodNotAllowed < ActionController::ActionControllerError
106
+ def initialize(*allowed_methods); end
107
+ end
108
+ class ActionController::NotImplemented < ActionController::MethodNotAllowed
109
+ end
110
+ class ActionController::MissingFile < ActionController::ActionControllerError
111
+ end
112
+ class ActionController::SessionOverflowError < ActionController::ActionControllerError
113
+ def initialize(message = nil); end
114
+ end
115
+ class ActionController::UnknownHttpMethod < ActionController::ActionControllerError
116
+ end
117
+ class ActionController::UnknownFormat < ActionController::ActionControllerError
118
+ end
119
+ class ActionController::RespondToMismatchError < ActionController::ActionControllerError
120
+ def initialize(message = nil); end
121
+ end
122
+ class ActionController::MissingExactTemplate < ActionController::UnknownFormat
123
+ end
124
+ class ActionDispatch::Journey::Formatter
125
+ def build_cache; end
126
+ def cache; end
127
+ def clear; end
128
+ def extract_parameterized_parts(route, options, recall, parameterize = nil); end
129
+ def generate(name, options, path_parameters, parameterize = nil); end
130
+ def initialize(routes); end
131
+ def match_route(name, options); end
132
+ def missing_keys(route, parts); end
133
+ def named_routes; end
134
+ def non_recursive(cache, options); end
135
+ def possibles(cache, options, depth = nil); end
136
+ def routes; end
137
+ end
138
+ module ActionDispatch::Journey::Formatter::RegexCaseComparator
139
+ def self.===(regex); end
140
+ end
141
+ class ActionDispatch::Journey::Scanner
142
+ def dedup_scan(regex); end
143
+ def eos?; end
144
+ def initialize; end
145
+ def next_token; end
146
+ def pos; end
147
+ def pre_match; end
148
+ def scan; end
149
+ def scan_setup(str); end
150
+ end
151
+ class ActionDispatch::Journey::Format
152
+ def evaluate(hash); end
153
+ def initialize(parts); end
154
+ def self.required_path(symbol); end
155
+ def self.required_segment(symbol); end
156
+ end
157
+ class ActionDispatch::Journey::Format::Parameter < Struct
158
+ def escape(value); end
159
+ def escaper; end
160
+ def escaper=(_); end
161
+ def name; end
162
+ def name=(_); end
163
+ def self.[](*arg0); end
164
+ def self.inspect; end
165
+ def self.members; end
166
+ def self.new(*arg0); end
167
+ end
168
+ module ActionDispatch::Journey::Visitors
169
+ end
170
+ class ActionDispatch::Journey::Visitors::Visitor
171
+ def accept(node); end
172
+ def binary(node); end
173
+ def nary(node); end
174
+ def terminal(node); end
175
+ def unary(node); end
176
+ def visit(node); end
177
+ def visit_CAT(n); end
178
+ def visit_DOT(n); end
179
+ def visit_GROUP(n); end
180
+ def visit_LITERAL(n); end
181
+ def visit_OR(n); end
182
+ def visit_SLASH(n); end
183
+ def visit_STAR(n); end
184
+ def visit_SYMBOL(n); end
185
+ end
186
+ class ActionDispatch::Journey::Visitors::FunctionalVisitor
187
+ def accept(node, seed); end
188
+ def binary(node, seed); end
189
+ def nary(node, seed); end
190
+ def terminal(node, seed); end
191
+ def unary(node, seed); end
192
+ def visit(node, seed); end
193
+ def visit_CAT(n, seed); end
194
+ def visit_DOT(n, seed); end
195
+ def visit_GROUP(n, seed); end
196
+ def visit_LITERAL(n, seed); end
197
+ def visit_OR(n, seed); end
198
+ def visit_SLASH(n, seed); end
199
+ def visit_STAR(n, seed); end
200
+ def visit_SYMBOL(n, seed); end
201
+ end
202
+ class ActionDispatch::Journey::Visitors::FormatBuilder < ActionDispatch::Journey::Visitors::Visitor
203
+ def accept(node); end
204
+ def binary(node); end
205
+ def terminal(node); end
206
+ def visit_GROUP(n); end
207
+ def visit_STAR(n); end
208
+ def visit_SYMBOL(n); end
209
+ end
210
+ class ActionDispatch::Journey::Visitors::Each < ActionDispatch::Journey::Visitors::FunctionalVisitor
211
+ def visit(node, block); end
212
+ end
213
+ class ActionDispatch::Journey::Visitors::String < ActionDispatch::Journey::Visitors::FunctionalVisitor
214
+ def binary(node, seed); end
215
+ def nary(node, seed); end
216
+ def terminal(node, seed); end
217
+ def visit_GROUP(node, seed); end
218
+ end
219
+ class ActionDispatch::Journey::Visitors::Dot < ActionDispatch::Journey::Visitors::FunctionalVisitor
220
+ def accept(node, seed = nil); end
221
+ def binary(node, seed); end
222
+ def initialize; end
223
+ def nary(node, seed); end
224
+ def terminal(node, seed); end
225
+ def unary(node, seed); end
226
+ def visit_CAT(node, seed); end
227
+ def visit_GROUP(node, seed); end
228
+ def visit_OR(node, seed); end
229
+ def visit_STAR(node, seed); end
230
+ end
231
+ module ActionDispatch::Journey::Nodes
232
+ end
233
+ class ActionDispatch::Journey::Nodes::Node
234
+ def cat?; end
235
+ def each(&block); end
236
+ def group?; end
237
+ def initialize(left); end
238
+ def left; end
239
+ def left=(arg0); end
240
+ def literal?; end
241
+ def memo; end
242
+ def memo=(arg0); end
243
+ def name; end
244
+ def star?; end
245
+ def symbol?; end
246
+ def terminal?; end
247
+ def to_dot; end
248
+ def to_s; end
249
+ def to_sym; end
250
+ def type; end
251
+ include Enumerable
252
+ end
253
+ class ActionDispatch::Journey::Nodes::Terminal < ActionDispatch::Journey::Nodes::Node
254
+ def symbol; end
255
+ def terminal?; end
256
+ end
257
+ class ActionDispatch::Journey::Nodes::Literal < ActionDispatch::Journey::Nodes::Terminal
258
+ def literal?; end
259
+ def type; end
260
+ end
261
+ class ActionDispatch::Journey::Nodes::Dummy < ActionDispatch::Journey::Nodes::Literal
262
+ def initialize(x = nil); end
263
+ def literal?; end
264
+ end
265
+ class ActionDispatch::Journey::Nodes::Slash < ActionDispatch::Journey::Nodes::Terminal
266
+ def type; end
267
+ end
268
+ class ActionDispatch::Journey::Nodes::Dot < ActionDispatch::Journey::Nodes::Terminal
269
+ def type; end
270
+ end
271
+ class ActionDispatch::Journey::Nodes::Symbol < ActionDispatch::Journey::Nodes::Terminal
272
+ def default_regexp?; end
273
+ def initialize(left); end
274
+ def name; end
275
+ def regexp; end
276
+ def regexp=(arg0); end
277
+ def symbol; end
278
+ def symbol?; end
279
+ def type; end
280
+ end
281
+ class ActionDispatch::Journey::Nodes::Unary < ActionDispatch::Journey::Nodes::Node
282
+ def children; end
283
+ end
284
+ class ActionDispatch::Journey::Nodes::Group < ActionDispatch::Journey::Nodes::Unary
285
+ def group?; end
286
+ def type; end
287
+ end
288
+ class ActionDispatch::Journey::Nodes::Star < ActionDispatch::Journey::Nodes::Unary
289
+ def name; end
290
+ def star?; end
291
+ def type; end
292
+ end
293
+ class ActionDispatch::Journey::Nodes::Binary < ActionDispatch::Journey::Nodes::Node
294
+ def children; end
295
+ def initialize(left, right); end
296
+ def right; end
297
+ def right=(arg0); end
298
+ end
299
+ class ActionDispatch::Journey::Nodes::Cat < ActionDispatch::Journey::Nodes::Binary
300
+ def cat?; end
301
+ def type; end
302
+ end
303
+ class ActionDispatch::Journey::Nodes::Or < ActionDispatch::Journey::Nodes::Node
304
+ def children; end
305
+ def initialize(children); end
306
+ def type; end
307
+ end
308
+ class ActionDispatch::Journey::Parser < Racc::Parser
309
+ def _reduce_1(val, _values); end
310
+ def _reduce_10(val, _values); end
311
+ def _reduce_15(val, _values); end
312
+ def _reduce_16(val, _values); end
313
+ def _reduce_17(val, _values); end
314
+ def _reduce_18(val, _values); end
315
+ def _reduce_2(val, _values); end
316
+ def _reduce_7(val, _values); end
317
+ def _reduce_8(val, _values); end
318
+ def _reduce_9(val, _values); end
319
+ def _reduce_none(val, _values); end
320
+ def initialize; end
321
+ def next_token; end
322
+ def parse(string); end
323
+ def self.parse(string); end
324
+ include ActionDispatch::Journey::Nodes
325
+ end
326
+ class ActionDispatch::Journey::Route
327
+ def app; end
328
+ def ast; end
329
+ def conditions; end
330
+ def constraints; end
331
+ def defaults; end
332
+ def dispatcher?; end
333
+ def eager_load!; end
334
+ def format(path_options); end
335
+ def glob?; end
336
+ def initialize(name, app, path, constraints, required_defaults, defaults, request_method_match, precedence, scope_options, internal = nil); end
337
+ def internal; end
338
+ def ip; end
339
+ def match_verb(request); end
340
+ def matches?(request); end
341
+ def name; end
342
+ def parts; end
343
+ def path; end
344
+ def precedence; end
345
+ def required_default?(key); end
346
+ def required_defaults; end
347
+ def required_keys; end
348
+ def required_parts; end
349
+ def requirements; end
350
+ def requires_matching_verb?; end
351
+ def scope_options; end
352
+ def score(supplied_keys); end
353
+ def segment_keys; end
354
+ def segments; end
355
+ def self.build(name, app, path, constraints, required_defaults, defaults); end
356
+ def self.verb_matcher(verb); end
357
+ def verb; end
358
+ def verbs; end
359
+ end
360
+ module ActionDispatch::Journey::Route::VerbMatchers
361
+ end
362
+ class ActionDispatch::Journey::Route::VerbMatchers::DELETE
363
+ def self.call(req); end
364
+ def self.verb; end
365
+ end
366
+ class ActionDispatch::Journey::Route::VerbMatchers::GET
367
+ def self.call(req); end
368
+ def self.verb; end
369
+ end
370
+ class ActionDispatch::Journey::Route::VerbMatchers::HEAD
371
+ def self.call(req); end
372
+ def self.verb; end
373
+ end
374
+ class ActionDispatch::Journey::Route::VerbMatchers::OPTIONS
375
+ def self.call(req); end
376
+ def self.verb; end
377
+ end
378
+ class ActionDispatch::Journey::Route::VerbMatchers::LINK
379
+ def self.call(req); end
380
+ def self.verb; end
381
+ end
382
+ class ActionDispatch::Journey::Route::VerbMatchers::PATCH
383
+ def self.call(req); end
384
+ def self.verb; end
385
+ end
386
+ class ActionDispatch::Journey::Route::VerbMatchers::POST
387
+ def self.call(req); end
388
+ def self.verb; end
389
+ end
390
+ class ActionDispatch::Journey::Route::VerbMatchers::PUT
391
+ def self.call(req); end
392
+ def self.verb; end
393
+ end
394
+ class ActionDispatch::Journey::Route::VerbMatchers::TRACE
395
+ def self.call(req); end
396
+ def self.verb; end
397
+ end
398
+ class ActionDispatch::Journey::Route::VerbMatchers::UNLINK
399
+ def self.call(req); end
400
+ def self.verb; end
401
+ end
402
+ class ActionDispatch::Journey::Route::VerbMatchers::Unknown
403
+ def call(request); end
404
+ def initialize(verb); end
405
+ def verb; end
406
+ end
407
+ class ActionDispatch::Journey::Route::VerbMatchers::All
408
+ def self.call(_); end
409
+ def self.verb; end
410
+ end
411
+ module ActionDispatch::Journey::Path
412
+ end
413
+ class ActionDispatch::Journey::Path::Pattern
414
+ def =~(other); end
415
+ def anchored; end
416
+ def ast; end
417
+ def build_formatter; end
418
+ def eager_load!; end
419
+ def initialize(ast, requirements, separators, anchored); end
420
+ def match(other); end
421
+ def names; end
422
+ def offsets; end
423
+ def optional_names; end
424
+ def regexp_visitor; end
425
+ def required_names; end
426
+ def requirements; end
427
+ def self.build(path, requirements, separators, anchored); end
428
+ def self.from_string(string); end
429
+ def source; end
430
+ def spec; end
431
+ def to_regexp; end
432
+ end
433
+ class ActionDispatch::Journey::Path::Pattern::AnchoredRegexp < ActionDispatch::Journey::Visitors::Visitor
434
+ def accept(node); end
435
+ def initialize(separator, matchers); end
436
+ def visit_CAT(node); end
437
+ def visit_DOT(node); end
438
+ def visit_GROUP(node); end
439
+ def visit_LITERAL(node); end
440
+ def visit_OR(node); end
441
+ def visit_SLASH(node); end
442
+ def visit_STAR(node); end
443
+ def visit_SYMBOL(node); end
444
+ end
445
+ class ActionDispatch::Journey::Path::Pattern::UnanchoredRegexp < ActionDispatch::Journey::Path::Pattern::AnchoredRegexp
446
+ def accept(node); end
447
+ end
448
+ class ActionDispatch::Journey::Path::Pattern::MatchData
449
+ def [](x); end
450
+ def captures; end
451
+ def initialize(names, offsets, match); end
452
+ def length; end
453
+ def named_captures; end
454
+ def names; end
455
+ def post_match; end
456
+ def to_s; end
457
+ end
458
+ module ActionDispatch::Journey::NFA
459
+ end
460
+ module ActionDispatch::Journey::NFA::Dot
461
+ def to_dot; end
462
+ end
463
+ module ActionDispatch::Journey::GTG
464
+ end
465
+ class ActionDispatch::Journey::GTG::TransitionTable
466
+ def []=(from, to, sym); end
467
+ def accepting?(state); end
468
+ def accepting_states; end
469
+ def add_accepting(state); end
470
+ def add_memo(idx, memo); end
471
+ def as_json(options = nil); end
472
+ def eclosure(t); end
473
+ def initialize; end
474
+ def memo(idx); end
475
+ def memos; end
476
+ def move(t, a); end
477
+ def states; end
478
+ def states_hash_for(sym); end
479
+ def to_svg; end
480
+ def transitions; end
481
+ def visualizer(paths, title = nil); end
482
+ include ActionDispatch::Journey::NFA::Dot
483
+ end
484
+ class ActionDispatch::Journey::GTG::Builder
485
+ def ast; end
486
+ def build_followpos; end
487
+ def endpoints; end
488
+ def firstpos(node); end
489
+ def followpos(node); end
490
+ def followpos_table; end
491
+ def initialize(root); end
492
+ def lastpos(node); end
493
+ def nullable?(node); end
494
+ def root; end
495
+ def symbol(edge); end
496
+ def transition_table; end
497
+ end
498
+ class ActionDispatch::Journey::GTG::MatchData
499
+ def initialize(memos); end
500
+ def memos; end
501
+ end
502
+ class ActionDispatch::Journey::GTG::Simulator
503
+ def initialize(transition_table); end
504
+ def memos(string); end
505
+ def tt; end
506
+ end
507
+ class ActionDispatch::Journey::NFA::TransitionTable
508
+ def []=(i, f, s); end
509
+ def accepting; end
510
+ def accepting=(arg0); end
511
+ def accepting?(state); end
512
+ def accepting_states; end
513
+ def add_memo(idx, memo); end
514
+ def alphabet; end
515
+ def eclosure(t); end
516
+ def following_states(t, a); end
517
+ def initialize; end
518
+ def inverted; end
519
+ def memo(idx); end
520
+ def memos; end
521
+ def merge(left, right); end
522
+ def move(t, a); end
523
+ def states; end
524
+ def transitions; end
525
+ include ActionDispatch::Journey::NFA::Dot
526
+ end
527
+ class ActionDispatch::Journey::NFA::Visitor < ActionDispatch::Journey::Visitors::Visitor
528
+ def initialize(tt); end
529
+ def terminal(node); end
530
+ def visit_CAT(node); end
531
+ def visit_GROUP(node); end
532
+ def visit_OR(node); end
533
+ end
534
+ class ActionDispatch::Journey::NFA::Builder
535
+ def initialize(ast); end
536
+ def transition_table; end
537
+ end
538
+ class ActionDispatch::Journey::NFA::MatchData
539
+ def initialize(memos); end
540
+ def memos; end
541
+ end
542
+ class ActionDispatch::Journey::NFA::Simulator
543
+ def =~(string); end
544
+ def initialize(transition_table); end
545
+ def match(string); end
546
+ def simulate(string); end
547
+ def tt; end
548
+ end
549
+ class ActionDispatch::Http::Headers
550
+ def [](key); end
551
+ def []=(key, value); end
552
+ def add(key, value); end
553
+ def each(&block); end
554
+ def env; end
555
+ def env_name(key); end
556
+ def fetch(key, default = nil); end
557
+ def include?(key); end
558
+ def initialize(request); end
559
+ def key?(key); end
560
+ def merge!(headers_or_env); end
561
+ def merge(headers_or_env); end
562
+ def self.from_hash(hash); end
563
+ include Enumerable
564
+ end
565
+ module ActionDispatch::Http::Cache
566
+ end
567
+ module ActionDispatch::Http::Cache::Request
568
+ def etag_matches?(etag); end
569
+ def fresh?(response); end
570
+ def if_modified_since; end
571
+ def if_none_match; end
572
+ def if_none_match_etags; end
573
+ def not_modified?(modified_at); end
574
+ end
575
+ module ActionDispatch::Http::Cache::Response
576
+ def cache_control; end
577
+ def cache_control_headers; end
578
+ def cache_control_segments; end
579
+ def date; end
580
+ def date=(utc_time); end
581
+ def date?; end
582
+ def etag=(weak_validators); end
583
+ def etag?; end
584
+ def generate_strong_etag(validators); end
585
+ def generate_weak_etag(validators); end
586
+ def handle_conditional_get!; end
587
+ def last_modified; end
588
+ def last_modified=(utc_time); end
589
+ def last_modified?; end
590
+ def merge_and_normalize_cache_control!(cache_control); end
591
+ def prepare_cache_control!; end
592
+ def strong_etag=(strong_validators); end
593
+ def strong_etag?; end
594
+ def weak_etag=(weak_validators); end
595
+ def weak_etag?; end
596
+ end
597
+ module Mime
598
+ def self.[](type); end
599
+ def self.fetch(type); end
600
+ end
601
+ class Mime::Mimes
602
+ def <<(type); end
603
+ def delete_if; end
604
+ def each; end
605
+ def initialize; end
606
+ def symbols; end
607
+ include Enumerable
608
+ end
609
+ class Mime::Type
610
+ def ==(mime_type); end
611
+ def ===(list); end
612
+ def =~(mime_type); end
613
+ def all?; end
614
+ def eql?(other); end
615
+ def hash; end
616
+ def html?; end
617
+ def initialize(string, symbol = nil, synonyms = nil); end
618
+ def method_missing(method, *args); end
619
+ def ref; end
620
+ def respond_to_missing?(method, include_private = nil); end
621
+ def self.lookup(string); end
622
+ def self.lookup_by_extension(extension); end
623
+ def self.parse(accept_header); end
624
+ def self.parse_data_with_trailing_star(type); end
625
+ def self.parse_trailing_star(accept_header); end
626
+ def self.register(string, symbol, mime_type_synonyms = nil, extension_synonyms = nil, skip_lookup = nil); end
627
+ def self.register_alias(string, symbol, extension_synonyms = nil); end
628
+ def self.register_callback(&block); end
629
+ def self.unregister(symbol); end
630
+ def string; end
631
+ def symbol; end
632
+ def synonyms; end
633
+ def to_a; end
634
+ def to_ary; end
635
+ def to_s; end
636
+ def to_str; end
637
+ def to_sym; end
638
+ end
639
+ class Mime::Type::AcceptItem
640
+ def <=>(item); end
641
+ def index; end
642
+ def index=(arg0); end
643
+ def initialize(index, name, q = nil); end
644
+ def name; end
645
+ def name=(arg0); end
646
+ def q; end
647
+ def q=(arg0); end
648
+ def to_s; end
649
+ end
650
+ class Mime::Type::AcceptList
651
+ def self.find_item_by_name(array, name); end
652
+ def self.sort!(list); end
653
+ end
654
+ class Mime::Type::InvalidMimeType < StandardError
655
+ end
656
+ class Mime::AllType < Mime::Type
657
+ def all?; end
658
+ def html?; end
659
+ def initialize; end
660
+ def self.allocate; end
661
+ def self.instance; end
662
+ def self.new(*arg0); end
663
+ extend Singleton::SingletonClassMethods
664
+ include Singleton
665
+ end
666
+ class Mime::NullType
667
+ def method_missing(method, *args); end
668
+ def nil?; end
669
+ def ref; end
670
+ def respond_to_missing?(method, _); end
671
+ def self.allocate; end
672
+ def self.instance; end
673
+ def self.new(*arg0); end
674
+ extend Singleton::SingletonClassMethods
675
+ include Singleton
676
+ end
677
+ module ActionDispatch::Http::Parameters
678
+ def binary_params_for?(controller, action); end
679
+ def log_parse_error_once; end
680
+ def parameters; end
681
+ def params; end
682
+ def params_parsers; end
683
+ def parse_formatted_parameters(parsers); end
684
+ def path_parameters; end
685
+ def path_parameters=(parameters); end
686
+ def set_binary_encoding(params, controller, action); end
687
+ extend ActiveSupport::Concern
688
+ end
689
+ class ActionDispatch::Http::Parameters::ParseError < StandardError
690
+ def initialize; end
691
+ end
692
+ module ActionDispatch::Http::Parameters::ClassMethods
693
+ def parameter_parsers=(parsers); end
694
+ end
695
+ module ActionDispatch::Http::MimeNegotiation
696
+ def accepts; end
697
+ def content_mime_type; end
698
+ def content_type; end
699
+ def format(view_path = nil); end
700
+ def format=(extension); end
701
+ def format_from_path_extension; end
702
+ def formats; end
703
+ def formats=(extensions); end
704
+ def has_content_type?; end
705
+ def negotiate_mime(order); end
706
+ def use_accept_header; end
707
+ def valid_accept_header; end
708
+ def variant; end
709
+ def variant=(variant); end
710
+ extend ActiveSupport::Concern
711
+ end
712
+ module ActionDispatch::Http::FilterParameters
713
+ def env_filter; end
714
+ def filtered_env; end
715
+ def filtered_parameters; end
716
+ def filtered_path; end
717
+ def filtered_query_string; end
718
+ def initialize; end
719
+ def parameter_filter; end
720
+ def parameter_filter_for(filters); end
721
+ end
722
+ class ActionDispatch::Http::UploadedFile
723
+ def close(unlink_now = nil); end
724
+ def content_type; end
725
+ def content_type=(arg0); end
726
+ def eof?; end
727
+ def headers; end
728
+ def headers=(arg0); end
729
+ def initialize(hash); end
730
+ def open; end
731
+ def original_filename; end
732
+ def original_filename=(arg0); end
733
+ def path; end
734
+ def read(length = nil, buffer = nil); end
735
+ def rewind; end
736
+ def size; end
737
+ def tempfile; end
738
+ def tempfile=(arg0); end
739
+ def to_io; end
740
+ def to_path; end
741
+ end
742
+ module ActionDispatch::Http::URL
743
+ def domain(tld_length = nil); end
744
+ def host; end
745
+ def host_with_port; end
746
+ def initialize; end
747
+ def optional_port; end
748
+ def port; end
749
+ def port_string; end
750
+ def protocol; end
751
+ def raw_host_with_port; end
752
+ def self.add_anchor(path, anchor); end
753
+ def self.add_params(path, params); end
754
+ def self.add_trailing_slash(path); end
755
+ def self.build_host_url(host, port, protocol, options, path); end
756
+ def self.extract_domain(host, tld_length); end
757
+ def self.extract_domain_from(host, tld_length); end
758
+ def self.extract_subdomain(host, tld_length); end
759
+ def self.extract_subdomains(host, tld_length); end
760
+ def self.extract_subdomains_from(host, tld_length); end
761
+ def self.full_url_for(options); end
762
+ def self.named_host?(host); end
763
+ def self.normalize_host(_host, options); end
764
+ def self.normalize_port(port, protocol); end
765
+ def self.normalize_protocol(protocol); end
766
+ def self.path_for(options); end
767
+ def self.tld_length; end
768
+ def self.tld_length=(obj); end
769
+ def self.url_for(options); end
770
+ def server_port; end
771
+ def standard_port; end
772
+ def standard_port?; end
773
+ def subdomain(tld_length = nil); end
774
+ def subdomains(tld_length = nil); end
775
+ def tld_length; end
776
+ def tld_length=(obj); end
777
+ def url; end
778
+ end
779
+ class ActionDispatch::ContentSecurityPolicy
780
+ def apply_mapping(source); end
781
+ def apply_mappings(sources); end
782
+ def base_uri(*sources); end
783
+ def block_all_mixed_content(enabled = nil); end
784
+ def build(context = nil, nonce = nil, nonce_directives = nil); end
785
+ def build_directive(sources, context); end
786
+ def build_directives(context, nonce, nonce_directives); end
787
+ def child_src(*sources); end
788
+ def connect_src(*sources); end
789
+ def default_src(*sources); end
790
+ def directives; end
791
+ def font_src(*sources); end
792
+ def form_action(*sources); end
793
+ def frame_ancestors(*sources); end
794
+ def frame_src(*sources); end
795
+ def img_src(*sources); end
796
+ def initialize; end
797
+ def initialize_copy(other); end
798
+ def manifest_src(*sources); end
799
+ def media_src(*sources); end
800
+ def nonce_directive?(directive, nonce_directives); end
801
+ def object_src(*sources); end
802
+ def plugin_types(*types); end
803
+ def prefetch_src(*sources); end
804
+ def report_uri(uri); end
805
+ def require_sri_for(*types); end
806
+ def resolve_source(source, context); end
807
+ def sandbox(*values); end
808
+ def script_src(*sources); end
809
+ def style_src(*sources); end
810
+ def upgrade_insecure_requests(enabled = nil); end
811
+ def worker_src(*sources); end
812
+ end
813
+ class ActionDispatch::ContentSecurityPolicy::Middleware
814
+ def call(env); end
815
+ def header_name(request); end
816
+ def html_response?(headers); end
817
+ def initialize(app); end
818
+ def policy_present?(headers); end
819
+ end
820
+ module ActionDispatch::ContentSecurityPolicy::Request
821
+ def content_security_policy; end
822
+ def content_security_policy=(policy); end
823
+ def content_security_policy_nonce; end
824
+ def content_security_policy_nonce_directives; end
825
+ def content_security_policy_nonce_directives=(generator); end
826
+ def content_security_policy_nonce_generator; end
827
+ def content_security_policy_nonce_generator=(generator); end
828
+ def content_security_policy_report_only; end
829
+ def content_security_policy_report_only=(value); end
830
+ def generate_content_security_policy_nonce; end
831
+ end
832
+ class ActionDispatch::Request
833
+ def GET; end
834
+ def POST; end
835
+ def accept; end
836
+ def accept_charset; end
837
+ def accept_encoding; end
838
+ def accept_language; end
839
+ def auth_type; end
840
+ def authorization; end
841
+ def body; end
842
+ def body_stream; end
843
+ def cache_control; end
844
+ def check_method(name); end
845
+ def client_ip; end
846
+ def commit_cookie_jar!; end
847
+ def commit_flash; end
848
+ def content_length; end
849
+ def controller_class; end
850
+ def controller_class_for(name); end
851
+ def controller_instance; end
852
+ def controller_instance=(controller); end
853
+ def engine_script_name(_routes); end
854
+ def engine_script_name=(name); end
855
+ def form_data?; end
856
+ def from; end
857
+ def fullpath; end
858
+ def gateway_interface; end
859
+ def headers; end
860
+ def http_auth_salt; end
861
+ def ignore_accept_header; end
862
+ def ignore_accept_header=(obj); end
863
+ def initialize(env); end
864
+ def ip; end
865
+ def key?(key); end
866
+ def local?; end
867
+ def logger; end
868
+ def media_type; end
869
+ def method; end
870
+ def method_symbol; end
871
+ def negotiate; end
872
+ def origin; end
873
+ def original_fullpath; end
874
+ def original_script_name; end
875
+ def original_url; end
876
+ def path_translated; end
877
+ def pragma; end
878
+ def query_parameters; end
879
+ def raw_post; end
880
+ def remote_addr; end
881
+ def remote_host; end
882
+ def remote_ident; end
883
+ def remote_ip; end
884
+ def remote_ip=(remote_ip); end
885
+ def remote_user; end
886
+ def request_id; end
887
+ def request_id=(id); end
888
+ def request_method; end
889
+ def request_method=(request_method); end
890
+ def request_method_symbol; end
891
+ def request_parameters; end
892
+ def request_parameters=(params); end
893
+ def reset_session; end
894
+ def routes; end
895
+ def routes=(routes); end
896
+ def self.empty; end
897
+ def self.ignore_accept_header; end
898
+ def self.ignore_accept_header=(obj); end
899
+ def self.parameter_parsers; end
900
+ def send_early_hints(links); end
901
+ def server_addr; end
902
+ def server_name; end
903
+ def server_protocol; end
904
+ def server_software; end
905
+ def session=(session); end
906
+ def session_options=(options); end
907
+ def show_exceptions?; end
908
+ def ssl?; end
909
+ def uuid; end
910
+ def version; end
911
+ def x_csrf_token; end
912
+ def x_forwarded_for; end
913
+ def x_forwarded_host; end
914
+ def x_request_id; end
915
+ def xhr?; end
916
+ def xml_http_request?; end
917
+ extend ActionDispatch::Http::Parameters::ClassMethods
918
+ include ActionDispatch::ContentSecurityPolicy::Request
919
+ include ActionDispatch::Http::Cache::Request
920
+ include ActionDispatch::Http::FilterParameters
921
+ include ActionDispatch::Http::MimeNegotiation
922
+ include ActionDispatch::Http::Parameters
923
+ include ActionDispatch::Http::URL
924
+ include Rack::Request::Env
925
+ include Rack::Request::Helpers
926
+ end
927
+ class ActionDispatch::Request::PASS_NOT_FOUND
928
+ def self.action(_); end
929
+ def self.binary_params_for?(action); end
930
+ def self.call(_); end
931
+ end
932
+ class ActionDispatch::Routing::Endpoint
933
+ def app; end
934
+ def dispatcher?; end
935
+ def engine?; end
936
+ def matches?(req); end
937
+ def rack_app; end
938
+ def redirect?; end
939
+ end
940
+ module ActionDispatch::Routing::PolymorphicRoutes
941
+ def edit_polymorphic_path(record_or_hash, options = nil); end
942
+ def edit_polymorphic_url(record_or_hash, options = nil); end
943
+ def new_polymorphic_path(record_or_hash, options = nil); end
944
+ def new_polymorphic_url(record_or_hash, options = nil); end
945
+ def polymorphic_mapping(record); end
946
+ def polymorphic_path(record_or_hash_or_array, options = nil); end
947
+ def polymorphic_path_for_action(action, record_or_hash, options); end
948
+ def polymorphic_url(record_or_hash_or_array, options = nil); end
949
+ def polymorphic_url_for_action(action, record_or_hash, options); end
950
+ end
951
+ class ActionDispatch::Routing::PolymorphicRoutes::HelperMethodBuilder
952
+ def get_method_for_class(klass); end
953
+ def get_method_for_string(str); end
954
+ def handle_class(klass); end
955
+ def handle_class_call(target, klass); end
956
+ def handle_list(list); end
957
+ def handle_model(record); end
958
+ def handle_model_call(target, record); end
959
+ def handle_string(record); end
960
+ def handle_string_call(target, str); end
961
+ def initialize(key_strategy, prefix, suffix); end
962
+ def polymorphic_mapping(target, record); end
963
+ def prefix; end
964
+ def self.build(action, type); end
965
+ def self.get(action, type); end
966
+ def self.path; end
967
+ def self.plural(prefix, suffix); end
968
+ def self.polymorphic_method(recipient, record_or_hash_or_array, action, type, options); end
969
+ def self.singular(prefix, suffix); end
970
+ def self.url; end
971
+ def suffix; end
972
+ end
973
+ module ActionDispatch::Routing::UrlFor
974
+ def _routes_context; end
975
+ def _with_routes(routes); end
976
+ def full_url_for(options = nil); end
977
+ def initialize(*arg0); end
978
+ def optimize_routes_generation?; end
979
+ def route_for(name, *args); end
980
+ def url_for(options = nil); end
981
+ def url_options; end
982
+ extend ActiveSupport::Concern
983
+ include ActionDispatch::Routing::PolymorphicRoutes
984
+ end
985
+ class ActionDispatch::Routing::RouteSet
986
+ def add_polymorphic_mapping(klass, options, &block); end
987
+ def add_route(mapping, name); end
988
+ def add_url_helper(name, options, &block); end
989
+ def api_only?; end
990
+ def append(&block); end
991
+ def call(env); end
992
+ def clear!; end
993
+ def default_scope; end
994
+ def default_scope=(arg0); end
995
+ def default_url_options; end
996
+ def default_url_options=(arg0); end
997
+ def define_mounted_helper(name, script_namer = nil); end
998
+ def disable_clear_and_finalize; end
999
+ def disable_clear_and_finalize=(arg0); end
1000
+ def draw(&block); end
1001
+ def eager_load!; end
1002
+ def empty?; end
1003
+ def env_key; end
1004
+ def eval_block(block); end
1005
+ def extra_keys(options, recall = nil); end
1006
+ def finalize!; end
1007
+ def find_relative_url_root(options); end
1008
+ def find_script_name(options); end
1009
+ def formatter; end
1010
+ def formatter=(arg0); end
1011
+ def generate(route_key, options, recall = nil); end
1012
+ def generate_extras(options, recall = nil); end
1013
+ def initialize(config = nil); end
1014
+ def inspect; end
1015
+ def make_request(env); end
1016
+ def mounted_helpers; end
1017
+ def named_routes; end
1018
+ def named_routes=(arg0); end
1019
+ def optimize_routes_generation?; end
1020
+ def path_for(options, route_name = nil); end
1021
+ def polymorphic_mappings; end
1022
+ def prepend(&block); end
1023
+ def recognize_path(path, environment = nil); end
1024
+ def recognize_path_with_request(req, path, extras, raise_on_missing: nil); end
1025
+ def relative_url_root; end
1026
+ def request_class; end
1027
+ def resources_path_names; end
1028
+ def resources_path_names=(arg0); end
1029
+ def router; end
1030
+ def router=(arg0); end
1031
+ def routes; end
1032
+ def self.default_resources_path_names; end
1033
+ def self.new_with_config(config); end
1034
+ def set; end
1035
+ def set=(arg0); end
1036
+ def url_for(options, route_name = nil, url_strategy = nil); end
1037
+ def url_helpers(supports_path = nil); end
1038
+ end
1039
+ class ActionDispatch::Routing::RouteSet::Dispatcher < ActionDispatch::Routing::Endpoint
1040
+ def controller(req); end
1041
+ def dispatch(controller, action, req, res); end
1042
+ def dispatcher?; end
1043
+ def initialize(raise_on_name_error); end
1044
+ def serve(req); end
1045
+ end
1046
+ class ActionDispatch::Routing::RouteSet::StaticDispatcher < ActionDispatch::Routing::RouteSet::Dispatcher
1047
+ def controller(_); end
1048
+ def initialize(controller_class); end
1049
+ end
1050
+ class ActionDispatch::Routing::RouteSet::NamedRouteCollection
1051
+ def [](name); end
1052
+ def []=(name, route); end
1053
+ def add(name, route); end
1054
+ def add_url_helper(name, defaults, &block); end
1055
+ def clear!; end
1056
+ def clear; end
1057
+ def define_url_helper(mod, route, name, opts, route_key, url_strategy); end
1058
+ def each; end
1059
+ def get(name); end
1060
+ def helper_names; end
1061
+ def initialize; end
1062
+ def key?(name); end
1063
+ def length; end
1064
+ def names; end
1065
+ def path_helpers_module; end
1066
+ def route_defined?(name); end
1067
+ def routes; end
1068
+ def url_helpers_module; end
1069
+ include Enumerable
1070
+ end
1071
+ class ActionDispatch::Routing::RouteSet::NamedRouteCollection::UrlHelper
1072
+ def call(t, args, inner_options); end
1073
+ def handle_positional_args(controller_options, inner_options, args, result, path_params); end
1074
+ def initialize(route, options, route_name, url_strategy); end
1075
+ def route_name; end
1076
+ def self.create(route, options, route_name, url_strategy); end
1077
+ def self.optimize_helper?(route); end
1078
+ def url_strategy; end
1079
+ end
1080
+ class ActionDispatch::Routing::RouteSet::NamedRouteCollection::UrlHelper::OptimizedUrlHelper < ActionDispatch::Routing::RouteSet::NamedRouteCollection::UrlHelper
1081
+ def arg_size; end
1082
+ def call(t, args, inner_options); end
1083
+ def initialize(route, options, route_name, url_strategy); end
1084
+ def optimize_routes_generation?(t); end
1085
+ def optimized_helper(args); end
1086
+ def parameterize_args(args); end
1087
+ def raise_generation_error(args); end
1088
+ end
1089
+ class ActionDispatch::Routing::RouteSet::Config < Struct
1090
+ def api_only; end
1091
+ def api_only=(_); end
1092
+ def relative_url_root; end
1093
+ def relative_url_root=(_); end
1094
+ def self.[](*arg0); end
1095
+ def self.inspect; end
1096
+ def self.members; end
1097
+ def self.new(*arg0); end
1098
+ end
1099
+ module ActionDispatch::Routing::RouteSet::MountedHelpers
1100
+ extend ActiveSupport::Concern
1101
+ include ActionDispatch::Routing::UrlFor
1102
+ end
1103
+ class ActionDispatch::Routing::RouteSet::CustomUrlHelper
1104
+ def block; end
1105
+ def call(t, args, only_path = nil); end
1106
+ def defaults; end
1107
+ def eval_block(t, args, options); end
1108
+ def initialize(name, defaults, &block); end
1109
+ def merge_defaults(options); end
1110
+ def name; end
1111
+ end
1112
+ class ActionDispatch::Routing::RouteSet::Generator
1113
+ def controller; end
1114
+ def current_controller; end
1115
+ def different_controller?; end
1116
+ def generate; end
1117
+ def initialize(named_route, options, recall, set); end
1118
+ def named_route; end
1119
+ def named_route_exists?; end
1120
+ def normalize_controller!; end
1121
+ def normalize_controller_action_id!; end
1122
+ def normalize_options!; end
1123
+ def options; end
1124
+ def recall; end
1125
+ def segment_keys; end
1126
+ def set; end
1127
+ def use_recall_for(key); end
1128
+ def use_relative_controller!; end
1129
+ end
1130
+ class ActionDispatch::Routing::Redirect < ActionDispatch::Routing::Endpoint
1131
+ def block; end
1132
+ def call(env); end
1133
+ def escape(params); end
1134
+ def escape_fragment(params); end
1135
+ def escape_path(params); end
1136
+ def initialize(status, block); end
1137
+ def inspect; end
1138
+ def path(params, request); end
1139
+ def redirect?; end
1140
+ def relative_path?(path); end
1141
+ def serve(req); end
1142
+ def status; end
1143
+ end
1144
+ class ActionDispatch::Routing::PathRedirect < ActionDispatch::Routing::Redirect
1145
+ def inspect; end
1146
+ def interpolation_required?(string, params); end
1147
+ def path(params, request); end
1148
+ end
1149
+ class ActionDispatch::Routing::OptionRedirect < ActionDispatch::Routing::Redirect
1150
+ def inspect; end
1151
+ def options; end
1152
+ def path(params, request); end
1153
+ end
1154
+ module ActionDispatch::Routing::Redirection
1155
+ def redirect(*args, &block); end
1156
+ end
1157
+ class ActionDispatch::Routing::Mapper
1158
+ def initialize(set); end
1159
+ def self.normalize_name(name); end
1160
+ def self.normalize_path(path); end
1161
+ include ActionDispatch::Routing::Mapper::Base
1162
+ include ActionDispatch::Routing::Mapper::Concerns
1163
+ include ActionDispatch::Routing::Mapper::CustomUrls
1164
+ include ActionDispatch::Routing::Mapper::HttpHelpers
1165
+ include ActionDispatch::Routing::Mapper::Resources
1166
+ include ActionDispatch::Routing::Mapper::Scoping
1167
+ include ActionDispatch::Routing::Redirection
1168
+ end
1169
+ class ActionDispatch::Routing::Mapper::Constraints < ActionDispatch::Routing::Endpoint
1170
+ def app; end
1171
+ def constraint_args(constraint, request); end
1172
+ def constraints; end
1173
+ def dispatcher?; end
1174
+ def initialize(app, constraints, strategy); end
1175
+ def matches?(req); end
1176
+ def serve(req); end
1177
+ end
1178
+ class ActionDispatch::Routing::Mapper::Mapping
1179
+ def add_controller_module(controller, modyoule); end
1180
+ def add_wildcard_options(options, formatted, path_ast); end
1181
+ def app(blocks); end
1182
+ def application; end
1183
+ def ast; end
1184
+ def blocks(callable_constraint); end
1185
+ def build_conditions(current_conditions, request_class); end
1186
+ def build_path(ast, requirements, anchor); end
1187
+ def check_controller_and_action(path_params, controller, action); end
1188
+ def check_part(name, part, path_params, hash); end
1189
+ def conditions; end
1190
+ def constraints(options, path_params); end
1191
+ def default_action; end
1192
+ def default_controller; end
1193
+ def defaults; end
1194
+ def dispatcher(raise_on_name_error); end
1195
+ def initialize(set, ast, defaults, controller, default_action, modyoule, to, formatted, scope_constraints, scope_options, blocks, via, options_constraints, anchor, options); end
1196
+ def intern(object); end
1197
+ def make_route(name, precedence); end
1198
+ def normalize_defaults(options); end
1199
+ def normalize_format(formatted); end
1200
+ def normalize_options!(options, path_params, modyoule); end
1201
+ def path; end
1202
+ def request_method; end
1203
+ def required_defaults; end
1204
+ def requirements; end
1205
+ def scope_options; end
1206
+ def self.build(scope, set, ast, controller, default_action, to, via, formatted, options_constraints, anchor, options); end
1207
+ def self.check_via(via); end
1208
+ def self.normalize_path(path, format); end
1209
+ def self.optional_format?(path, format); end
1210
+ def split_constraints(path_params, constraints); end
1211
+ def split_to(to); end
1212
+ def to; end
1213
+ def translate_controller(controller); end
1214
+ def verify_regexp_requirements(requirements); end
1215
+ end
1216
+ module ActionDispatch::Routing::Mapper::Base
1217
+ def app_name(app, rails_app); end
1218
+ def default_url_options(options); end
1219
+ def default_url_options=(options); end
1220
+ def define_generate_prefix(app, name); end
1221
+ def has_named_route?(name); end
1222
+ def match(path, options = nil); end
1223
+ def mount(app, options = nil); end
1224
+ def rails_app?(app); end
1225
+ def with_default_scope(scope, &block); end
1226
+ end
1227
+ module ActionDispatch::Routing::Mapper::HttpHelpers
1228
+ def delete(*args, &block); end
1229
+ def get(*args, &block); end
1230
+ def map_method(method, args, &block); end
1231
+ def patch(*args, &block); end
1232
+ def post(*args, &block); end
1233
+ def put(*args, &block); end
1234
+ end
1235
+ module ActionDispatch::Routing::Mapper::Scoping
1236
+ def constraints(constraints = nil); end
1237
+ def controller(controller); end
1238
+ def defaults(defaults = nil); end
1239
+ def merge_action_scope(parent, child); end
1240
+ def merge_as_scope(parent, child); end
1241
+ def merge_blocks_scope(parent, child); end
1242
+ def merge_constraints_scope(parent, child); end
1243
+ def merge_controller_scope(parent, child); end
1244
+ def merge_defaults_scope(parent, child); end
1245
+ def merge_format_scope(parent, child); end
1246
+ def merge_module_scope(parent, child); end
1247
+ def merge_options_scope(parent, child); end
1248
+ def merge_path_names_scope(parent, child); end
1249
+ def merge_path_scope(parent, child); end
1250
+ def merge_shallow_path_scope(parent, child); end
1251
+ def merge_shallow_prefix_scope(parent, child); end
1252
+ def merge_shallow_scope(parent, child); end
1253
+ def merge_to_scope(parent, child); end
1254
+ def merge_via_scope(parent, child); end
1255
+ def namespace(path, options = nil); end
1256
+ def scope(*args); end
1257
+ end
1258
+ module ActionDispatch::Routing::Mapper::Resources
1259
+ def action_options?(options); end
1260
+ def action_path(name); end
1261
+ def add_route(action, controller, options, _path, to, via, formatted, anchor, options_constraints); end
1262
+ def api_only?; end
1263
+ def apply_action_options(options); end
1264
+ def apply_common_behavior_for(method, resources, options, &block); end
1265
+ def canonical_action?(action); end
1266
+ def collection; end
1267
+ def decomposed_match(path, controller, options, _path, to, via, formatted, anchor, options_constraints); end
1268
+ def get_to_from_path(path, to, action); end
1269
+ def map_match(paths, options); end
1270
+ def match(path, *rest, &block); end
1271
+ def match_root_route(options); end
1272
+ def member; end
1273
+ def name_for_action(as, action); end
1274
+ def namespace(path, options = nil); end
1275
+ def nested; end
1276
+ def nested_options; end
1277
+ def nested_scope?; end
1278
+ def new; end
1279
+ def param_constraint; end
1280
+ def param_constraint?; end
1281
+ def parent_resource; end
1282
+ def path_for_action(action, path); end
1283
+ def path_scope(path); end
1284
+ def prefix_name_for_action(as, action); end
1285
+ def resource(*resources, &block); end
1286
+ def resource_method_scope?; end
1287
+ def resource_scope(resource); end
1288
+ def resource_scope?; end
1289
+ def resources(*resources, &block); end
1290
+ def resources_path_names(options); end
1291
+ def root(path, options = nil); end
1292
+ def scope_action_options; end
1293
+ def set_member_mappings_for_resource; end
1294
+ def shallow; end
1295
+ def shallow?; end
1296
+ def shallow_nesting_depth; end
1297
+ def shallow_scope; end
1298
+ def using_match_shorthand?(path); end
1299
+ def with_scope_level(kind); end
1300
+ end
1301
+ class ActionDispatch::Routing::Mapper::Resources::Resource
1302
+ def actions; end
1303
+ def available_actions; end
1304
+ def collection_name; end
1305
+ def collection_scope; end
1306
+ def controller; end
1307
+ def default_actions; end
1308
+ def initialize(entities, api_only, shallow, options = nil); end
1309
+ def member_name; end
1310
+ def member_scope; end
1311
+ def name; end
1312
+ def nested_param; end
1313
+ def nested_scope; end
1314
+ def new_scope(new_path); end
1315
+ def param; end
1316
+ def path; end
1317
+ def plural; end
1318
+ def resource_scope; end
1319
+ def shallow?; end
1320
+ def shallow_scope; end
1321
+ def singleton?; end
1322
+ def singular; end
1323
+ end
1324
+ class ActionDispatch::Routing::Mapper::Resources::SingletonResource < ActionDispatch::Routing::Mapper::Resources::Resource
1325
+ def collection_name; end
1326
+ def default_actions; end
1327
+ def initialize(entities, api_only, shallow, options); end
1328
+ def member_name; end
1329
+ def member_scope; end
1330
+ def nested_scope; end
1331
+ def plural; end
1332
+ def singleton?; end
1333
+ def singular; end
1334
+ end
1335
+ module ActionDispatch::Routing::Mapper::Concerns
1336
+ def concern(name, callable = nil, &block); end
1337
+ def concerns(*args); end
1338
+ end
1339
+ module ActionDispatch::Routing::Mapper::CustomUrls
1340
+ def direct(name, options = nil, &block); end
1341
+ def resolve(*args, &block); end
1342
+ end
1343
+ class ActionDispatch::Routing::Mapper::Scope
1344
+ def [](key); end
1345
+ def action_name(name_prefix, prefix, collection_name, member_name); end
1346
+ def each; end
1347
+ def frame; end
1348
+ def initialize(hash, parent = nil, scope_level = nil); end
1349
+ def nested?; end
1350
+ def new(hash); end
1351
+ def new_level(level); end
1352
+ def null?; end
1353
+ def options; end
1354
+ def parent; end
1355
+ def resource_method_scope?; end
1356
+ def resource_scope?; end
1357
+ def resources?; end
1358
+ def root?; end
1359
+ def scope_level; end
1360
+ include Enumerable
1361
+ end