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.
- checksums.yaml +7 -0
- data/.gitignore +38 -0
- data/.rspec +3 -0
- data/.rubocop.yml +10 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.tekton/Chart.yaml +14 -0
- data/.tekton/templates/pipelinerun.yaml +44 -0
- data/.tekton/values-main.yaml +53 -0
- data/.tekton/values-pr.yaml +40 -0
- data/.tekton/values.yaml +17 -0
- data/.tool-versions +1 -0
- data/CHANGELOG.md +204 -0
- data/Gemfile +25 -0
- data/README.md +76 -0
- data/Rakefile +46 -0
- data/app/api/has_helpers/rack_api.rb +116 -0
- data/app/api/has_helpers/search_api.rb +173 -0
- data/app/assets/stylesheets/has_helpers/base.scss +5 -0
- data/app/assets/stylesheets/has_helpers/color_palette.scss +33 -0
- data/app/assets/stylesheets/has_helpers/color_palettes/default.scss +11 -0
- data/app/assets/stylesheets/has_helpers/components/dataset.scss +43 -0
- data/app/assets/stylesheets/has_helpers/mixins.scss +149 -0
- data/app/commands/has_helpers/cards/available_cards_command.rb +98 -0
- data/app/commands/has_helpers/cards/card_data_command.rb +1062 -0
- data/app/commands/reports/base_options.rb +79 -0
- data/app/commands/reports/belongs_to_options.rb +178 -0
- data/app/commands/reports/constant_options.rb +66 -0
- data/app/commands/reports/external_graphql_client.rb +116 -0
- data/app/commands/reports/fill_dates.rb +65 -0
- data/app/commands/reports/filter_option_generator.rb +186 -0
- data/app/commands/reports/generator.rb +310 -0
- data/app/commands/reports/has_many_options.rb +105 -0
- data/app/commands/reports/importer.rb +132 -0
- data/app/commands/reports/nested_attribute_options.rb +134 -0
- data/app/constants/color.rb +9 -0
- data/app/constants/file_format.rb +12 -0
- data/app/constants/has_helpers/cards/card_custom_field.rb +12 -0
- data/app/constants/has_helpers/cards/card_data_type.rb +11 -0
- data/app/constants/has_helpers/cards/card_identifier.rb +10 -0
- data/app/constants/has_helpers/cards/card_layout_type.rb +11 -0
- data/app/constants/has_helpers/cards/card_variant_type.rb +12 -0
- data/app/constants/has_helpers/link_type.rb +10 -0
- data/app/constants/has_helpers/notification_alert_status.rb +14 -0
- data/app/constants/has_helpers/notification_alert_type.rb +10 -0
- data/app/constants/has_helpers/operation.rb +11 -0
- data/app/constants/has_helpers/resource_type.rb +25 -0
- data/app/constants/icon.rb +22 -0
- data/app/constants/logical_operator.rb +7 -0
- data/app/constants/option.rb +10 -0
- data/app/constants/time_zone.rb +12 -0
- data/app/constructors/has_helpers/base_constructor.rb +62 -0
- data/app/controllers/concerns/has_helpers/service_trust/authenticated_as_service.rb +51 -0
- data/app/controllers/concerns/has_helpers/service_trust/graphql_authentication.rb +57 -0
- data/app/controllers/has_helpers/controller.rb +63 -0
- data/app/controllers/has_helpers/factory_controller.rb +261 -0
- data/app/controllers/has_helpers/graphql_extensions.rb +83 -0
- data/app/controllers/has_helpers/health_check_controller.rb +46 -0
- data/app/controllers/has_helpers/search_extensions.rb +92 -0
- data/app/controllers/has_helpers/service_trust/jwks_controller.rb +20 -0
- data/app/controllers/has_helpers/xlsx_export.rb +115 -0
- data/app/controllers/search_extensions.rb +5 -0
- data/app/graphql/has_helpers/base_type.rb +13 -0
- data/app/graphql/has_helpers/base_union.rb +9 -0
- data/app/graphql/has_helpers/enums/resource_enum.rb +24 -0
- data/app/graphql/has_helpers/middleware/application_access.rb +26 -0
- data/app/graphql/has_helpers/mutations/base.rb +27 -0
- data/app/graphql/has_helpers/mutations/external_data_sync.rb +72 -0
- data/app/graphql/has_helpers/mutations/mark_individual_alert_read.rb +31 -0
- data/app/graphql/has_helpers/mutations/mark_notifications_read.rb +50 -0
- data/app/graphql/has_helpers/mutations/toggle_favorite.rb +39 -0
- data/app/graphql/has_helpers/resolvers/app_nav.rb +107 -0
- data/app/graphql/has_helpers/resolvers/base.rb +27 -0
- data/app/graphql/has_helpers/resolvers/cards/available_cards.rb +31 -0
- data/app/graphql/has_helpers/resolvers/cards/card_data.rb +74 -0
- data/app/graphql/has_helpers/resolvers/cards/hover_card_data.rb +153 -0
- data/app/graphql/has_helpers/resolvers/favorite.rb +62 -0
- data/app/graphql/has_helpers/resolvers/internal/roles.rb +54 -0
- data/app/graphql/has_helpers/resolvers/is_favorite.rb +24 -0
- data/app/graphql/has_helpers/resolvers/list_notification_alerts.rb +47 -0
- data/app/graphql/has_helpers/resolvers/lookup.rb +36 -0
- data/app/graphql/has_helpers/resolvers/recently_viewed.rb +54 -0
- data/app/graphql/has_helpers/resolvers/resource_tab.rb +22 -0
- data/app/graphql/has_helpers/resolvers/search.rb +18 -0
- data/app/graphql/has_helpers/resolvers/search_query.rb +38 -0
- data/app/graphql/has_helpers/resolvers/user_application_order.rb +35 -0
- data/app/graphql/has_helpers/resources/organization_option_resource.rb +28 -0
- data/app/graphql/has_helpers/resources/organization_resource_resource.rb +18 -0
- data/app/graphql/has_helpers/resources/resource_group_resource.rb +10 -0
- data/app/graphql/has_helpers/resources/resource_resource.rb +21 -0
- data/app/graphql/has_helpers/resources/user_role_resource.rb +9 -0
- data/app/graphql/has_helpers/types/application_order_type.rb +18 -0
- data/app/graphql/has_helpers/types/cards/available_card_type.rb +20 -0
- data/app/graphql/has_helpers/types/cards/card_badge_type.rb +12 -0
- data/app/graphql/has_helpers/types/cards/card_config_type.rb +18 -0
- data/app/graphql/has_helpers/types/cards/card_data_type.rb +13 -0
- data/app/graphql/has_helpers/types/cards/card_entry_field_type.rb +21 -0
- data/app/graphql/has_helpers/types/cards/card_entry_type.rb +12 -0
- data/app/graphql/has_helpers/types/cards/card_field_config_type.rb +17 -0
- data/app/graphql/has_helpers/types/layouts/app_nav/link_section_type.rb +17 -0
- data/app/graphql/has_helpers/types/layouts/app_nav/link_type.rb +20 -0
- data/app/graphql/has_helpers/types/layouts/app_nav/sub_link_type.rb +17 -0
- data/app/graphql/has_helpers/types/layouts/app_nav/type.rb +16 -0
- data/app/graphql/has_helpers/types/lookup.rb +16 -0
- data/app/graphql/has_helpers/types/resource_tab/type.rb +15 -0
- data/app/graphql/has_helpers/types/role_type.rb +13 -0
- data/app/graphql/has_helpers/types/search/detail_badge_type.rb +15 -0
- data/app/graphql/has_helpers/types/search/detail_item_type.rb +14 -0
- data/app/graphql/has_helpers/types/search/detail_type.rb +16 -0
- data/app/graphql/has_helpers/types/search/filter_operation_enum.rb +19 -0
- data/app/graphql/has_helpers/types/search/input_type.rb +16 -0
- data/app/graphql/has_helpers/types/search/result_type.rb +72 -0
- data/app/graphql/has_helpers/types/search/search_filter_input_type.rb +17 -0
- data/app/graphql/has_helpers/types/search/type.rb +17 -0
- data/app/importers/has_helpers/cards/importer.rb +1223 -0
- data/app/lib/has_helpers/application_helper.rb +21 -0
- data/app/lib/has_helpers/dn/processor.rb +55 -0
- data/app/lib/has_helpers/dn/refresh.rb +13 -0
- data/app/lib/has_helpers/dn/utils/backfill_utils.rb +80 -0
- data/app/lib/has_helpers/dn/utils/query_utils.rb +216 -0
- data/app/lib/has_helpers/feature.rb +88 -0
- data/app/lib/has_helpers/hq_exception.rb +18 -0
- data/app/lib/has_helpers/index.rb +890 -0
- data/app/lib/has_helpers/organization_merge.rb +128 -0
- data/app/lib/has_helpers/query/elasticsearch.rb +20 -0
- data/app/lib/has_helpers/query/provider.rb +105 -0
- data/app/lib/has_helpers/query/sql.rb +133 -0
- data/app/lib/has_helpers/query.rb +14 -0
- data/app/lib/has_helpers/search/elasticsearch.rb +41 -0
- data/app/lib/has_helpers/search/elasticsearch_shared.rb +70 -0
- data/app/lib/has_helpers/search/provider.rb +149 -0
- data/app/lib/has_helpers/search/search_utils.rb +74 -0
- data/app/lib/has_helpers/search/sql_search.rb +219 -0
- data/app/lib/has_helpers/search.rb +46 -0
- data/app/models/ability.rb +233 -0
- data/app/models/has_helpers/application.rb +47 -0
- data/app/models/has_helpers/application_record.rb +7 -0
- data/app/models/has_helpers/cards/card_builder/base.rb +74 -0
- data/app/models/has_helpers/cards/card_builder/card_definition_builder.rb +486 -0
- data/app/models/has_helpers/cards/card_builder/definition_context.rb +82 -0
- data/app/models/has_helpers/cards/card_builder/field_builder.rb +142 -0
- data/app/models/has_helpers/cards/card_builder/resource_builder.rb +34 -0
- data/app/models/has_helpers/cards/card_definition.rb +41 -0
- data/app/models/has_helpers/cards/card_definition_resource.rb +19 -0
- data/app/models/has_helpers/cards/card_field.rb +39 -0
- data/app/models/has_helpers/cards/registry.rb +115 -0
- data/app/models/has_helpers/cards/role_card_field.rb +28 -0
- data/app/models/has_helpers/cards/role_resource_card.rb +41 -0
- data/app/models/has_helpers/dn_utils.rb +61 -0
- data/app/models/has_helpers/favorite.rb +20 -0
- data/app/models/has_helpers/master_record.rb +18 -0
- data/app/models/has_helpers/notification_alert.rb +52 -0
- data/app/models/has_helpers/organization.rb +16 -0
- data/app/models/has_helpers/organization_link.rb +92 -0
- data/app/models/has_helpers/organization_methods.rb +62 -0
- data/app/models/has_helpers/organization_option.rb +31 -0
- data/app/models/has_helpers/organization_resource.rb +45 -0
- data/app/models/has_helpers/pending_db_operation.rb +31 -0
- data/app/models/has_helpers/recently_viewed.rb +34 -0
- data/app/models/has_helpers/reindex_queue.rb +43 -0
- data/app/models/has_helpers/resource.rb +38 -0
- data/app/models/has_helpers/resource_group.rb +15 -0
- data/app/models/has_helpers/restriction.rb +15 -0
- data/app/models/has_helpers/restriction_operation.rb +13 -0
- data/app/models/has_helpers/role.rb +20 -0
- data/app/models/has_helpers/service_trust/audit_log.rb +20 -0
- data/app/models/has_helpers/service_trust/key.rb +56 -0
- data/app/models/has_helpers/stat.rb +13 -0
- data/app/models/has_helpers/user.rb +18 -0
- data/app/models/has_helpers/user_methods.rb +184 -0
- data/app/models/has_helpers/user_organization.rb +33 -0
- data/app/models/has_helpers/user_role.rb +27 -0
- data/app/models/has_helpers/user_session.rb +19 -0
- data/app/presenters/has_helpers/barcode_base_presenter.rb +113 -0
- data/app/presenters/has_helpers/base_presenter.rb +100 -0
- data/app/presenters/has_helpers/cacheable_item.rb +28 -0
- data/app/presenters/has_helpers/item_presenter.rb +52 -0
- data/app/presenters/has_helpers/items_presenter.rb +33 -0
- data/app/presenters/has_helpers/resource/action_presenter.rb +8 -0
- data/app/presenters/has_helpers/resource/cell_presenter.rb +52 -0
- data/app/presenters/has_helpers/resource/email_presenter.rb +34 -0
- data/app/presenters/has_helpers/resource/form_presenter.rb +76 -0
- data/app/presenters/has_helpers/resource/info_collection_presenter.rb +33 -0
- data/app/presenters/has_helpers/resource/info_presenter.rb +34 -0
- data/app/presenters/has_helpers/resource/list_presenter.rb +120 -0
- data/app/presenters/has_helpers/resource/note_presenter.rb +14 -0
- data/app/presenters/has_helpers/resource/row_presenter.rb +25 -0
- data/app/presenters/has_helpers/resource/tag_presenter.rb +31 -0
- data/app/presenters/has_helpers/search_presenter.rb +230 -0
- data/app/triggers/has_helpers/erase_denormalized_belongs_to_column_trigger.rb +85 -0
- data/app/triggers/has_helpers/limit_favorites.rb +97 -0
- data/app/utils/has_helpers/redis_configurable.rb +79 -0
- data/app/utils/has_helpers/sync_utils.rb +234 -0
- data/app/views/has_helpers/actions/_action.html.erb +31 -0
- data/app/views/has_helpers/alerts/_alert.html.erb +3 -0
- data/app/views/has_helpers/barcodes.html.erb +36 -0
- data/app/views/has_helpers/containers/_container.html.erb +3 -0
- data/app/views/has_helpers/email_notifier/system.html.erb +8 -0
- data/app/views/has_helpers/email_notifier/system.text.erb +7 -0
- data/app/views/has_helpers/enumerables/_enumerable.html.erb +1 -0
- data/app/views/has_helpers/icons/_icon.html.erb +1 -0
- data/app/views/has_helpers/render_objects/_render_object.html.erb +1 -0
- data/app/views/has_helpers/services/_service.html.erb +1 -0
- data/app/views/has_helpers/text_nodes/_text_node.html.erb +4 -0
- data/app/views/has_helpers/ui_attributes/_html_attrs.html.erb +1 -0
- data/app/workers/elasticsearch_process_queue.rb +11 -0
- data/app/workers/elasticsearch_reindex.rb +11 -0
- data/app/workers/elasticsearch_reindex_scheduler.rb +35 -0
- data/app/workers/good_job/configurable_backfill.rb +64 -0
- data/app/workers/good_job/cron_denormalization_stats_manager.rb +39 -0
- data/app/workers/good_job/denormalization_stats_worker.rb +57 -0
- data/app/workers/good_job/dn_update_worker.rb +30 -0
- data/app/workers/good_job/dn_worker.rb +47 -0
- data/app/workers/good_job/elasticsearch_old_index_cleaner_worker.rb +113 -0
- data/app/workers/good_job/elasticsearch_on_finish_reindex.rb +26 -0
- data/app/workers/good_job/elasticsearch_process_batch.rb +78 -0
- data/app/workers/good_job/elasticsearch_process_change_logs_master_worker.rb +27 -0
- data/app/workers/good_job/elasticsearch_process_change_logs_worker.rb +155 -0
- data/app/workers/good_job/elasticsearch_process_queue.rb +50 -0
- data/app/workers/good_job/elasticsearch_reindex.rb +31 -0
- data/app/workers/has_helpers/cards/orphan_card_sweeper.rb +28 -0
- data/app/workers/has_helpers/db_operations/clean_stats_worker.rb +42 -0
- data/app/workers/has_helpers/db_operations/helper_worker.rb +131 -0
- data/app/workers/has_helpers/db_operations/main_worker.rb +164 -0
- data/app/workers/has_helpers/db_operations/operations.rb +134 -0
- data/app/workers/has_helpers/db_operations/update_operations_stats_resume_worker.rb +35 -0
- data/app/workers/has_helpers/default_worker.rb +17 -0
- data/app/workers/has_helpers/good_job/notification_alert_cleanup_worker.rb +43 -0
- data/app/workers/has_helpers/service_trust/audit_log_cleanup_worker.rb +19 -0
- data/app/workers/sidekiq/elasticsearch_old_index_cleaner_worker.rb +112 -0
- data/app/workers/sidekiq/elasticsearch_process_batch.rb +87 -0
- data/app/workers/sidekiq/elasticsearch_process_queue.rb +40 -0
- data/app/workers/sidekiq/elasticsearch_reindex.rb +53 -0
- data/config/initializers/action_view.rb +7 -0
- data/config/initializers/inflections.rb +24 -0
- data/config/initializers/marginalia.rb +8 -0
- data/config/initializers/mime_types.rb +6 -0
- data/config/initializers/opentelemetry.rb +12 -0
- data/config/initializers/redis_conf.rb +40 -0
- data/config/initializers/searchkick.rb +9 -0
- data/config/initializers/will_paginate.rb +39 -0
- data/config/redis.yml +12 -0
- data/config/routes.rb +27 -0
- data/config/service_trust_routes.rb +5 -0
- data/config.ru +9 -0
- data/db/migrate/20230127194725_create_organization_table.rb +25 -0
- data/db/migrate/20230127194726_validate_organization_foreign_keys.rb +7 -0
- data/db/migrate/20230206141413_create_security_models.rb +42 -0
- data/db/migrate/20230206141513_create_restriction_model.rb +20 -0
- data/db/migrate/20230206142613_add_security_indexes.rb +14 -0
- data/db/migrate/20230206143513_security_model_constants_seed.rb +8 -0
- data/db/migrate/20230206161513_add_organization_to_security_models.rb +13 -0
- data/db/migrate/20230209121019_create_search_group_models.rb +36 -0
- data/db/migrate/20230209122919_add_search_group_indexes.rb +21 -0
- data/db/migrate/20230209181832_add_search_group_resources_type_constraint_trigger.rb +61 -0
- data/db/migrate/20230313220337_create_table_user_sessions.rb +31 -0
- data/db/migrate/20230517141106_update_resource_types.rb +12 -0
- data/db/migrate/20230518194611_add_resources_contraints.rb +17 -0
- data/db/migrate/20230518194642_create_nested_resource_model.rb +21 -0
- data/db/migrate/20230518194645_validate_security_models_constraints.rb +23 -0
- data/db/migrate/20230608125037_add_inactive_field_to_user_sessions.rb +7 -0
- data/db/migrate/20230919191525_add_parent_id_to_resources.rb +8 -0
- data/db/migrate/20230919191535_validate_parent_id_fk_resources.rb +7 -0
- data/db/migrate/20230919210456_drop_nested_resources.rb +7 -0
- data/db/migrate/20231222135620_add_user_role.rb +19 -0
- data/db/migrate/20240108172021_create_favorites_table.rb +20 -0
- data/db/migrate/20240108190209_create_organization_link_table_if_doesnt_exists.rb +31 -0
- data/db/migrate/20240109211445_validate_fks_org_links.rb +9 -0
- data/db/migrate/20240110135440_create_recently_vieweds.rb +20 -0
- data/db/migrate/20240112185312_link_type_options_seed.rb +7 -0
- data/db/migrate/20240116173201_organization_link_resource_tab_constraints.rb +19 -0
- data/db/migrate/20240131160949_add_user_organizations_table.rb +32 -0
- data/db/migrate/20240212132519_add_organization_in_user_sessions.rb +13 -0
- data/db/migrate/20240227135052_add_user_organization_composite_fks.rb +32 -0
- data/db/migrate/20240312193501_update_organization_links.rb +11 -0
- data/db/migrate/20240426185902_add_user_organizations_current_organization_column.rb +12 -0
- data/db/migrate/20240429214601_add_primary_trigger.rb +10 -0
- data/db/migrate/20241112131819_add_json_file_format_seed.rb +7 -0
- data/db/migrate/20250520133417_create_restriction_operations.rb +18 -0
- data/db/migrate/20250520133420_validate_create_restriction_operations.rb +8 -0
- data/db/migrate/20250520140642_add_indexes_to_restrictions.rb +9 -0
- data/db/migrate/20250529130741_create_notification_alerts_table.rb +28 -0
- data/db/migrate/20250530223332_create_data_migrations_table.rb +19 -0
- data/db/migrate/20250605121622_seed_notification_alert_status.rb +7 -0
- data/db/migrate/20250605131439_seed_notification_alert_types.rb +7 -0
- data/db/migrate/20250606173128_update_notification_alert_length_constraint.rb +18 -0
- data/db/migrate/20250606174043_validate_notification_alert_length_constraints.rb +8 -0
- data/db/migrate/20250624183000_add_data_import_alert_type.rb +11 -0
- data/db/migrate/20250722183935_create_organization_options_table.rb +38 -0
- data/db/migrate/20250722192724_validate_organization_options_fks_and_constraints.rb +32 -0
- data/db/migrate/20250722192936_add_indexes_to_organization_options_table.rb +15 -0
- data/db/migrate/20250915132448_add_column_restrictions_hash.rb +7 -0
- data/db/migrate/20250917143211_add_column_permissions_hash.rb +7 -0
- data/db/migrate/20251001145950_add_trust_this_device.rb +7 -0
- data/db/migrate/20251021130835_add_backend_urls_to_applications_table.rb +13 -0
- data/db/migrate/20251021172715_validate_backend_urls_constraints_in_applications.rb +9 -0
- data/db/migrate/20251030200020_create_card_definitions.rb +23 -0
- data/db/migrate/20251030201012_create_card_definition_resources.rb +24 -0
- data/db/migrate/20251030201236_create_card_fields.rb +34 -0
- data/db/migrate/20251103194317_create_role_resource_cards.rb +37 -0
- data/db/migrate/20251103194426_create_role_card_fields.rb +34 -0
- data/db/migrate/20251107173218_validate_columns_from_cards.rb +17 -0
- data/db/migrate/20251111173212_add_column_application_array.rb +7 -0
- data/db/migrate/20251112203326_add_card_types.rb +10 -0
- data/db/migrate/20251115120000_add_virtual_cards_support.rb +28 -0
- data/db/migrate/20251202231256_add_org_scoped_fk_role_resource_cards_to_roles.rb +14 -0
- data/db/migrate/20260105134504_add_accessor_field_resource_type.rb +7 -0
- data/db/migrate/20260115123000_add_default_visibility_to_card_definitions.rb +9 -0
- data/db/migrate/20260120175037_is_new_admin.rb +9 -0
- data/db/migrate/20260122392008_add_stats_table.rb +17 -0
- data/db/migrate/20260414204718_add_index_to_stats_table.rb +10 -0
- data/db/migrate/20260509120000_create_service_trust_keys.rb +25 -0
- data/db/migrate/20260509120001_create_service_trust_audit_logs.rb +26 -0
- data/db/migrate/20260511120000_add_direction_to_service_trust_audit_logs.rb +17 -0
- data/db/migrate/20260511121000_remove_role_fk_from_role_resource_cards.rb +19 -0
- data/db/migrate/20260511121001_add_disabled_at_to_role_resource_cards.rb +10 -0
- data/db/migrate/20260605120100_seed_hover_card_options.rb +8 -0
- data/db/migrate/20260608120000_seed_badge_list_card_data_type.rb +7 -0
- data/db/migrate/20260727000000_add_two_factor_trust_id_to_user_sessions.rb +11 -0
- data/db/seeds.rb +14 -0
- data/docs/Elasticsearch.md +23 -0
- data/docs/Search_API.md +126 -0
- data/docs/cards_role_proxy.md +107 -0
- data/docs/factory_api.md +135 -0
- data/has-helpers-pr-289-pipeline.yaml +16 -0
- data/has-helpers-pr-298-pipeline.yaml +15 -0
- data/has_helpers.gemspec +68 -0
- data/lib/active_record/migration/active_migration_patch.rb +123 -0
- data/lib/generators/has_helpers/install/USAGE +8 -0
- data/lib/generators/has_helpers/install/install_generator.rb +22 -0
- data/lib/generators/has_helpers/install/templates/migrate/has_helpers_initial_setup.rb +26 -0
- data/lib/has_helpers/active_record/base.rb +50 -0
- data/lib/has_helpers/active_record/date_range.rb +228 -0
- data/lib/has_helpers/active_record/nested_resource.rb +58 -0
- data/lib/has_helpers/active_record/validation.rb +63 -0
- data/lib/has_helpers/active_record.rb +520 -0
- data/lib/has_helpers/app/command.rb +107 -0
- data/lib/has_helpers/app.rb +10 -0
- data/lib/has_helpers/assets_precompile_helper.rb +20 -0
- data/lib/has_helpers/attributes.rb +196 -0
- data/lib/has_helpers/aws.rb +67 -0
- data/lib/has_helpers/cards/cache.rb +49 -0
- data/lib/has_helpers/cards/config.rb +42 -0
- data/lib/has_helpers/cards/remote_role.rb +27 -0
- data/lib/has_helpers/cards/remote_roles.rb +75 -0
- data/lib/has_helpers/cards/roles.rb +55 -0
- data/lib/has_helpers/cards.rb +34 -0
- data/lib/has_helpers/concerns/hydrate_concern.rb +76 -0
- data/lib/has_helpers/concerns/importable_accessors.rb +25 -0
- data/lib/has_helpers/concerns/restrictions_parseable.rb +51 -0
- data/lib/has_helpers/config.rb +11 -0
- data/lib/has_helpers/constant.rb +578 -0
- data/lib/has_helpers/constraints.rb +10 -0
- data/lib/has_helpers/core_ext/array.rb +28 -0
- data/lib/has_helpers/core_ext/date/infinity.rb +25 -0
- data/lib/has_helpers/core_ext/date.rb +39 -0
- data/lib/has_helpers/core_ext/enumerable.rb +20 -0
- data/lib/has_helpers/core_ext/false_class.rb +14 -0
- data/lib/has_helpers/core_ext/float.rb +18 -0
- data/lib/has_helpers/core_ext/hash.rb +71 -0
- data/lib/has_helpers/core_ext/integer.rb +18 -0
- data/lib/has_helpers/core_ext/nil_class.rb +30 -0
- data/lib/has_helpers/core_ext/object.rb +60 -0
- data/lib/has_helpers/core_ext/proc.rb +16 -0
- data/lib/has_helpers/core_ext/string.rb +81 -0
- data/lib/has_helpers/core_ext/symbol.rb +17 -0
- data/lib/has_helpers/core_ext/true_class.rb +14 -0
- data/lib/has_helpers/cursor.rb +46 -0
- data/lib/has_helpers/data_migration/base.rb +293 -0
- data/lib/has_helpers/data_migration/large_worker.rb +20 -0
- data/lib/has_helpers/data_migration/master_worker.rb +33 -0
- data/lib/has_helpers/data_migration/migrator.rb +83 -0
- data/lib/has_helpers/data_migration/model.rb +18 -0
- data/lib/has_helpers/data_migration/small_worker.rb +20 -0
- data/lib/has_helpers/data_migration.rb +8 -0
- data/lib/has_helpers/engine.rb +47 -0
- data/lib/has_helpers/extensions.rb +17 -0
- data/lib/has_helpers/factory_api.rb +47 -0
- data/lib/has_helpers/factory_scenario/definition.rb +33 -0
- data/lib/has_helpers/factory_scenario/dsl.rb +80 -0
- data/lib/has_helpers/factory_scenario/factory_bot_override.rb +53 -0
- data/lib/has_helpers/factory_scenario/registry.rb +31 -0
- data/lib/has_helpers/factory_scenario/runner.rb +285 -0
- data/lib/has_helpers/factory_scenario.rb +27 -0
- data/lib/has_helpers/fixed_expiration_time_cache_session_store.rb +20 -0
- data/lib/has_helpers/flattener/association.rb +140 -0
- data/lib/has_helpers/flattener/attribute.rb +42 -0
- data/lib/has_helpers/flattener/base.rb +428 -0
- data/lib/has_helpers/flattener/column/types.rb +71 -0
- data/lib/has_helpers/flattener/column.rb +97 -0
- data/lib/has_helpers/flattener/pivot.rb +49 -0
- data/lib/has_helpers/flattener/reset.rb +33 -0
- data/lib/has_helpers/flattener/resource.rb +114 -0
- data/lib/has_helpers/flattener/resource_generator.rb +21 -0
- data/lib/has_helpers/flattener/utils.rb +14 -0
- data/lib/has_helpers/flattener.rb +53 -0
- data/lib/has_helpers/hash_accessors.rb +62 -0
- data/lib/has_helpers/helpers/application.rb +291 -0
- data/lib/has_helpers/index/config.rb +15 -0
- data/lib/has_helpers/lazy_config.rb +61 -0
- data/lib/has_helpers/resource_importer.rb +260 -0
- data/lib/has_helpers/resources.rb +127 -0
- data/lib/has_helpers/rspec/constants.rb +61 -0
- data/lib/has_helpers/rspec/factories.rb +11 -0
- data/lib/has_helpers/rspec.rb +22 -0
- data/lib/has_helpers/sentry/graphql_trace.rb +37 -0
- data/lib/has_helpers/serializer.rb +41 -0
- data/lib/has_helpers/service_trust/audit.rb +45 -0
- data/lib/has_helpers/service_trust/authorization.rb +34 -0
- data/lib/has_helpers/service_trust/bearer_token.rb +23 -0
- data/lib/has_helpers/service_trust/capability.rb +32 -0
- data/lib/has_helpers/service_trust/client/response.rb +13 -0
- data/lib/has_helpers/service_trust/client/retry.rb +35 -0
- data/lib/has_helpers/service_trust/client.rb +128 -0
- data/lib/has_helpers/service_trust/configuration.rb +76 -0
- data/lib/has_helpers/service_trust/engine.rb +10 -0
- data/lib/has_helpers/service_trust/errors.rb +32 -0
- data/lib/has_helpers/service_trust/graphql/authorizable.rb +72 -0
- data/lib/has_helpers/service_trust/graphql_client.rb +54 -0
- data/lib/has_helpers/service_trust/jwks_client.rb +133 -0
- data/lib/has_helpers/service_trust/jwt_codec.rb +45 -0
- data/lib/has_helpers/service_trust/key_manager.rb +160 -0
- data/lib/has_helpers/service_trust/rate_limiter.rb +27 -0
- data/lib/has_helpers/service_trust/replay_cache.rb +26 -0
- data/lib/has_helpers/service_trust/signer.rb +47 -0
- data/lib/has_helpers/service_trust/test.rb +60 -0
- data/lib/has_helpers/service_trust/verifier.rb +85 -0
- data/lib/has_helpers/service_trust/verify_middleware.rb +55 -0
- data/lib/has_helpers/service_trust.rb +51 -0
- data/lib/has_helpers/test_helpers/factory_data/unit_addresses.rb +42 -0
- data/lib/has_helpers/test_helpers/factory_data/unit_advisors.rb +272 -0
- data/lib/has_helpers/test_helpers/factory_data/unit_emails.rb +37 -0
- data/lib/has_helpers/test_helpers/factory_data/unit_organizations.rb +48 -0
- data/lib/has_helpers/test_helpers/factory_data/unit_people.rb +34 -0
- data/lib/has_helpers/test_helpers/factory_data/unit_phones.rb +41 -0
- data/lib/has_helpers/test_helpers/factory_data/unit_states.rb +26 -0
- data/lib/has_helpers/test_helpers/factory_data/unit_webs.rb +31 -0
- data/lib/has_helpers/test_helpers/shoulda_helpers.rb +249 -0
- data/lib/has_helpers/ui_attributes.rb +39 -0
- data/lib/has_helpers/utils/action.rb +87 -0
- data/lib/has_helpers/utils/active_record_utils.rb +40 -0
- data/lib/has_helpers/utils/alert.rb +42 -0
- data/lib/has_helpers/utils/container.rb +46 -0
- data/lib/has_helpers/utils/dataset.rb +34 -0
- data/lib/has_helpers/utils/email_notifier.rb +15 -0
- data/lib/has_helpers/utils/icon.rb +66 -0
- data/lib/has_helpers/utils/input.rb +45 -0
- data/lib/has_helpers/utils/log_notifier.rb +79 -0
- data/lib/has_helpers/utils/render_object.rb +32 -0
- data/lib/has_helpers/utils/s3_utils.rb +37 -0
- data/lib/has_helpers/utils/service.rb +87 -0
- data/lib/has_helpers/utils/slack_conf.rb +31 -0
- data/lib/has_helpers/utils/slack_notifier.rb +42 -0
- data/lib/has_helpers/utils/text_node.rb +34 -0
- data/lib/has_helpers/utils/user_restrictions.rb +266 -0
- data/lib/has_helpers/utils.rb +19 -0
- data/lib/has_helpers/version.rb +6 -0
- data/lib/has_helpers/web_socket_publisher.rb +20 -0
- data/lib/has_helpers/webhook.rb +17 -0
- data/lib/has_helpers.rb +63 -0
- data/lib/hq/resource.rb +55 -0
- data/lib/hq/structure/inserts.rb +176 -0
- data/lib/hq/structure.rb +115 -0
- data/lib/tasks/has_helpers/service_trust.rake +39 -0
- data/script/rails +10 -0
- data/sorbet/config +5 -0
- data/sorbet/rbi/gems/actionpack.rbi +1361 -0
- data/sorbet/rbi/gems/activemodel.rbi +755 -0
- data/sorbet/rbi/gems/activerecord.rbi +4713 -0
- data/sorbet/rbi/gems/activesupport.rbi +1970 -0
- data/sorbet/rbi/gems/barby.rbi +129 -0
- data/sorbet/rbi/gems/better_errors.rbi +155 -0
- data/sorbet/rbi/gems/binding_of_caller.rbi +22 -0
- data/sorbet/rbi/gems/byebug.rbi +19 -0
- data/sorbet/rbi/gems/chronic.rbi +480 -0
- data/sorbet/rbi/gems/chunky_png.rbi +510 -0
- data/sorbet/rbi/gems/climate_control.rbi +45 -0
- data/sorbet/rbi/gems/coderay.rbi +91 -0
- data/sorbet/rbi/gems/concurrent-ruby.rbi +1587 -0
- data/sorbet/rbi/gems/debug_inspector.rbi +18 -0
- data/sorbet/rbi/gems/erubi.rbi +26 -0
- data/sorbet/rbi/gems/holidays.rbi +362 -0
- data/sorbet/rbi/gems/i18n.rbi +132 -0
- data/sorbet/rbi/gems/method_source.rbi +63 -0
- data/sorbet/rbi/gems/mime-types-data.rbi +16 -0
- data/sorbet/rbi/gems/mime-types.rbi +217 -0
- data/sorbet/rbi/gems/mimemagic.rbi +36 -0
- data/sorbet/rbi/gems/minitest.rbi +282 -0
- data/sorbet/rbi/gems/mustache.rbi +151 -0
- data/sorbet/rbi/gems/paperclip.rbi +644 -0
- data/sorbet/rbi/gems/parallel.rbi +81 -0
- data/sorbet/rbi/gems/parallel_tests.rbi +27 -0
- data/sorbet/rbi/gems/pry-rails.rbi +71 -0
- data/sorbet/rbi/gems/pry.rbi +1964 -0
- data/sorbet/rbi/gems/rack.rbi +228 -0
- data/sorbet/rbi/gems/railties.rbi +364 -0
- data/sorbet/rbi/gems/rspec-core.rbi +1704 -0
- data/sorbet/rbi/gems/rspec-expectations.rbi +389 -0
- data/sorbet/rbi/gems/rspec-support.rbi +206 -0
- data/sorbet/rbi/gems/rspec.rbi +14 -0
- data/sorbet/rbi/gems/spreadsheet_architect.rbi +10 -0
- data/sorbet/rbi/gems/sprockets.rbi +659 -0
- data/sorbet/rbi/gems/terrapin.rbi +115 -0
- data/sorbet/rbi/gems/testhq.rbi +14 -0
- data/sorbet/rbi/gems/thor.rbi +482 -0
- data/sorbet/rbi/gems/thread_safe.rbi +81 -0
- data/sorbet/rbi/gems/tzinfo.rbi +407 -0
- data/sorbet/rbi/gems/zeitwerk.rbi +131 -0
- data/sorbet/rbi/hidden-definitions/errors.txt +35111 -0
- data/sorbet/rbi/hidden-definitions/hidden.rbi +59974 -0
- data/sorbet/rbi/sorbet-typed/lib/actionmailer/all/actionmailer.rbi +13 -0
- data/sorbet/rbi/sorbet-typed/lib/actionpack/all/actionpack.rbi +855 -0
- data/sorbet/rbi/sorbet-typed/lib/actionview/all/actionview.rbi +314 -0
- data/sorbet/rbi/sorbet-typed/lib/activemodel/all/activemodel.rbi +423 -0
- data/sorbet/rbi/sorbet-typed/lib/activerecord/>=5.2/activerecord.rbi +17 -0
- data/sorbet/rbi/sorbet-typed/lib/activerecord/all/activerecord.rbi +1415 -0
- data/sorbet/rbi/sorbet-typed/lib/activerecord/~>6.0.0/activerecord.rbi +475 -0
- data/sorbet/rbi/sorbet-typed/lib/activestorage/>=6.0.0/activestorage.rbi +19 -0
- data/sorbet/rbi/sorbet-typed/lib/activestorage/all/activestorage.rbi +173 -0
- data/sorbet/rbi/sorbet-typed/lib/activesupport/>=6.0.0.rc1/activesupport.rbi +23 -0
- data/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +625 -0
- data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +8684 -0
- data/sorbet/rbi/sorbet-typed/lib/minitest/all/minitest.rbi +99 -0
- data/sorbet/rbi/sorbet-typed/lib/railties/all/railties.rbi +25 -0
- data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +254 -0
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/gem.rbi +4222 -0
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +111 -0
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +543 -0
- data/sorbet/rbi/todo.rbi +244 -0
- data/spec/commands/cards/available_cards_command_spec.rb +90 -0
- data/spec/commands/cards/card_data_command_spec.rb +1048 -0
- data/spec/constructors/has_helpers/base_constructor_spec.rb +49 -0
- data/spec/controllers/has_helpers/controller_spec.rb +71 -0
- data/spec/controllers/has_helpers/xlsx_export_spec.rb +96 -0
- data/spec/factories/advisors.rb +20 -0
- data/spec/factories/anonymous_cowards.rb +5 -0
- data/spec/factories/applications.rb +5 -0
- data/spec/factories/appointments.rb +6 -0
- data/spec/factories/attachment.rb +15 -0
- data/spec/factories/audits.rb +5 -0
- data/spec/factories/basic_schedules.rb +12 -0
- data/spec/factories/cards/card_definition_resources.rb +7 -0
- data/spec/factories/cards/card_definitions.rb +11 -0
- data/spec/factories/cards/card_fields.rb +22 -0
- data/spec/factories/cards/role_card_fields.rb +17 -0
- data/spec/factories/cards/role_resource_cards.rb +12 -0
- data/spec/factories/constant_definition.rb +7 -0
- data/spec/factories/contracts.rb +10 -0
- data/spec/factories/data_migration_models.rb +9 -0
- data/spec/factories/demographics.rb +22 -0
- data/spec/factories/events.rb +21 -0
- data/spec/factories/firms.rb +21 -0
- data/spec/factories/imports.rb +9 -0
- data/spec/factories/meetups.rb +13 -0
- data/spec/factories/organizations.rb +13 -0
- data/spec/factories/policies.rb +7 -0
- data/spec/factories/policy_notes.rb +9 -0
- data/spec/factories/read_only_values.rb +7 -0
- data/spec/factories/resources.rb +7 -0
- data/spec/factories/roles.rb +11 -0
- data/spec/factories/schedules.rb +13 -0
- data/spec/factories/shared/flattener/attributes.rb +10 -0
- data/spec/factories/shared/flattener/columns.rb +6 -0
- data/spec/factories/shared/flattener/resources.rb +5 -0
- data/spec/factories/templates.rb +12 -0
- data/spec/factories/user_organizations.rb +23 -0
- data/spec/factories/user_session.rb +11 -0
- data/spec/factories/users.rb +55 -0
- data/spec/fixtures/sample_config.yml +3 -0
- data/spec/graphql/has_helpers/mutations/external_data_sync_spec.rb +101 -0
- data/spec/graphql/has_helpers/resolvers/cards/available_cards_spec.rb +36 -0
- data/spec/graphql/has_helpers/resolvers/cards/card_data_spec.rb +42 -0
- data/spec/graphql/has_helpers/resolvers/cards/hover_card_data_spec.rb +59 -0
- data/spec/has_helpers/cards/cache_spec.rb +58 -0
- data/spec/has_helpers/cards/config_spec.rb +68 -0
- data/spec/has_helpers/cards/orphan_card_sweeper_spec.rb +97 -0
- data/spec/has_helpers/cards/remote_role_spec.rb +17 -0
- data/spec/has_helpers/cards/remote_roles_spec.rb +97 -0
- data/spec/has_helpers/cards/roles_spec.rb +52 -0
- data/spec/has_helpers/cards/smoke_spec.rb +168 -0
- data/spec/has_helpers/cards/support.rb +52 -0
- data/spec/has_helpers/resolvers/internal/roles_spec.rb +73 -0
- data/spec/has_helpers/service_trust/audit_log_cleanup_worker_spec.rb +33 -0
- data/spec/has_helpers/service_trust/audit_spec.rb +70 -0
- data/spec/has_helpers/service_trust/authenticated_as_service_spec.rb +65 -0
- data/spec/has_helpers/service_trust/authorization_spec.rb +37 -0
- data/spec/has_helpers/service_trust/capability_spec.rb +35 -0
- data/spec/has_helpers/service_trust/client_spec.rb +129 -0
- data/spec/has_helpers/service_trust/configuration_spec.rb +35 -0
- data/spec/has_helpers/service_trust/engine_spec.rb +13 -0
- data/spec/has_helpers/service_trust/errors_spec.rb +23 -0
- data/spec/has_helpers/service_trust/graphql_authentication_spec.rb +59 -0
- data/spec/has_helpers/service_trust/graphql_authorizable_spec.rb +91 -0
- data/spec/has_helpers/service_trust/graphql_client_spec.rb +47 -0
- data/spec/has_helpers/service_trust/jwks_client_spec.rb +85 -0
- data/spec/has_helpers/service_trust/jwks_controller_spec.rb +47 -0
- data/spec/has_helpers/service_trust/jwt_codec_spec.rb +30 -0
- data/spec/has_helpers/service_trust/key_manager_spec.rb +80 -0
- data/spec/has_helpers/service_trust/key_spec.rb +52 -0
- data/spec/has_helpers/service_trust/rake_tasks_spec.rb +58 -0
- data/spec/has_helpers/service_trust/rate_limiter_spec.rb +31 -0
- data/spec/has_helpers/service_trust/replay_cache_spec.rb +29 -0
- data/spec/has_helpers/service_trust/signer_verifier_spec.rb +159 -0
- data/spec/has_helpers/service_trust/smoke_spec.rb +216 -0
- data/spec/has_helpers/service_trust/support.rb +121 -0
- data/spec/has_helpers/service_trust/test_module_spec.rb +39 -0
- data/spec/has_helpers/service_trust/verify_middleware_spec.rb +82 -0
- data/spec/helpers/application_spec.rb +155 -0
- data/spec/importers/cards/importer_spec.rb +861 -0
- data/spec/internal/app/assets/config/manifest.js +0 -0
- data/spec/internal/app/constants/cat_egory.rb +33 -0
- data/spec/internal/app/constants/color.rb +19 -0
- data/spec/internal/app/constants/exclude_group_nil_constant.rb +5 -0
- data/spec/internal/app/constants/foo.rb +6 -0
- data/spec/internal/app/constants/fruit.rb +3 -0
- data/spec/internal/app/constants/generic_group_example.rb +12 -0
- data/spec/internal/app/constants/my_constant.rb +4 -0
- data/spec/internal/app/constants/product.rb +3 -0
- data/spec/internal/app/constants/shirt_size.rb +18 -0
- data/spec/internal/app/constants/simple_option.rb +14 -0
- data/spec/internal/app/constants/status.rb +5 -0
- data/spec/internal/app/constructors/organization_constructor.rb +4 -0
- data/spec/internal/app/controllers/application_controller.rb +27 -0
- data/spec/internal/app/controllers/search_extensions.rb +3 -0
- data/spec/internal/app/indices/advisor_index.rb +35 -0
- data/spec/internal/app/indices/contract_index.rb +52 -0
- data/spec/internal/app/indices/firm_index.rb +16 -0
- data/spec/internal/app/indices/policy_index.rb +20 -0
- data/spec/internal/app/models/advisor.rb +24 -0
- data/spec/internal/app/models/agency.rb +3 -0
- data/spec/internal/app/models/anonymous_coward.rb +5 -0
- data/spec/internal/app/models/another_event.rb +2 -0
- data/spec/internal/app/models/appointment.rb +3 -0
- data/spec/internal/app/models/attachment.rb +10 -0
- data/spec/internal/app/models/basic_schedule.rb +6 -0
- data/spec/internal/app/models/beneficiary.rb +6 -0
- data/spec/internal/app/models/client.rb +5 -0
- data/spec/internal/app/models/contract.rb +9 -0
- data/spec/internal/app/models/demographic.rb +4 -0
- data/spec/internal/app/models/division.rb +3 -0
- data/spec/internal/app/models/event.rb +10 -0
- data/spec/internal/app/models/event_template.rb +1 -0
- data/spec/internal/app/models/firm.rb +18 -0
- data/spec/internal/app/models/has_audits/audit.rb +15 -0
- data/spec/internal/app/models/import.rb +7 -0
- data/spec/internal/app/models/meetup.rb +8 -0
- data/spec/internal/app/models/organization.rb +17 -0
- data/spec/internal/app/models/organization_event.rb +5 -0
- data/spec/internal/app/models/policy.rb +16 -0
- data/spec/internal/app/models/policy_holder.rb +7 -0
- data/spec/internal/app/models/policy_note.rb +8 -0
- data/spec/internal/app/models/project.rb +3 -0
- data/spec/internal/app/models/read_only_value.rb +8 -0
- data/spec/internal/app/models/schedule.rb +12 -0
- data/spec/internal/app/models/template.rb +9 -0
- data/spec/internal/app/models/user.rb +31 -0
- data/spec/internal/app/models/user_organization.rb +17 -0
- data/spec/internal/app/views/has_lists/lists/_table.html.erb +1 -0
- data/spec/internal/config/database-standard.yml +24 -0
- data/spec/internal/config/initializers/resources.rb +19 -0
- data/spec/internal/config/routes.rb +19 -0
- data/spec/internal/config/storage.yml +3 -0
- data/spec/internal/db/good_job_schema.rb +141 -0
- data/spec/internal/db/schema.rb +334 -0
- data/spec/internal/log/.gitignore +1 -0
- data/spec/internal/public/favicon.ico +0 -0
- data/spec/lib/flattener/base_spec.rb +93 -0
- data/spec/lib/flattener/column/types_spec.rb +65 -0
- data/spec/lib/has_helpers/active_record/base_spec.rb +53 -0
- data/spec/lib/has_helpers/active_record/date_range_spec.rb +498 -0
- data/spec/lib/has_helpers/active_record/lookup_model_spec.rb +408 -0
- data/spec/lib/has_helpers/active_record/nested_resource_spec.rb +43 -0
- data/spec/lib/has_helpers/app/command/reports/generator_specs.rb +887 -0
- data/spec/lib/has_helpers/app/command_spec.rb +117 -0
- data/spec/lib/has_helpers/app/support/mocks/graphql_reports_helpers.rb +96 -0
- data/spec/lib/has_helpers/app/support/mocks/reports_api_mock.rb +47 -0
- data/spec/lib/has_helpers/attributes_spec.rb +220 -0
- data/spec/lib/has_helpers/aws_spec.rb +126 -0
- data/spec/lib/has_helpers/concerns/hydrate_concern_spec.rb +473 -0
- data/spec/lib/has_helpers/constant/definition_spec.rb +128 -0
- data/spec/lib/has_helpers/constant_spec.rb +432 -0
- data/spec/lib/has_helpers/core_ext/array_spec.rb +22 -0
- data/spec/lib/has_helpers/core_ext/date/infinity_spec.rb +67 -0
- data/spec/lib/has_helpers/core_ext/date_spec.rb +27 -0
- data/spec/lib/has_helpers/core_ext/false_class_spec.rb +7 -0
- data/spec/lib/has_helpers/core_ext/float_spec.rb +9 -0
- data/spec/lib/has_helpers/core_ext/hash_spec.rb +48 -0
- data/spec/lib/has_helpers/core_ext/integer_spec.rb +9 -0
- data/spec/lib/has_helpers/core_ext/nil_class_spec.rb +17 -0
- data/spec/lib/has_helpers/core_ext/object_spec.rb +54 -0
- data/spec/lib/has_helpers/core_ext/proc_spec.rb +24 -0
- data/spec/lib/has_helpers/core_ext/string_spec.rb +154 -0
- data/spec/lib/has_helpers/core_ext/true_class_spec.rb +7 -0
- data/spec/lib/has_helpers/data_migration/base_spec.rb +470 -0
- data/spec/lib/has_helpers/data_migration/large_worker_spec.rb +34 -0
- data/spec/lib/has_helpers/data_migration/master_worker_spec.rb +51 -0
- data/spec/lib/has_helpers/data_migration/migrator_spec.rb +113 -0
- data/spec/lib/has_helpers/data_migration/model_spec.rb +52 -0
- data/spec/lib/has_helpers/data_migration/small_worker_spec.rb +34 -0
- data/spec/lib/has_helpers/good_job/notification_alert_cleanup_worker_spec.rb +89 -0
- data/spec/lib/has_helpers/hash_accessors_spec.rb +66 -0
- data/spec/lib/has_helpers/index_spec.rb +442 -0
- data/spec/lib/has_helpers/lazy_config_spec.rb +31 -0
- data/spec/lib/has_helpers/organization_merge_spec.rb +88 -0
- data/spec/lib/has_helpers/resource_importer_spec.rb +119 -0
- data/spec/lib/has_helpers/rspec_spec.rb +16 -0
- data/spec/lib/has_helpers/search/provider_spec.rb +26 -0
- data/spec/lib/has_helpers/search/search_utils_spec.rb +134 -0
- data/spec/lib/has_helpers/sentry/graphql_trace_spec.rb +140 -0
- data/spec/lib/has_helpers/ui_attributes_spec.rb +42 -0
- data/spec/lib/has_helpers/utils/action_spec.rb +49 -0
- data/spec/lib/has_helpers/utils/alert_spec.rb +33 -0
- data/spec/lib/has_helpers/utils/dataset_spec.rb +10 -0
- data/spec/lib/has_helpers/utils/icon_spec.rb +23 -0
- data/spec/lib/has_helpers/utils/input_spec.rb +40 -0
- data/spec/lib/has_helpers/utils/log_notifier_spec.rb +25 -0
- data/spec/lib/has_helpers/utils/render_object_spec.rb +17 -0
- data/spec/lib/has_helpers/utils/s3_utils_spec.rb +78 -0
- data/spec/lib/has_helpers/utils/service_spec.rb +79 -0
- data/spec/lib/has_helpers/utils/slack_notifier_spec.rb +70 -0
- data/spec/lib/has_helpers/utils/user_restrictions_spec.rb +343 -0
- data/spec/lib/hq/structure/inserts_spec.rb +152 -0
- data/spec/lib/hq/structure_spec.rb +12 -0
- data/spec/models/cards/base_spec.rb +149 -0
- data/spec/models/cards/card_definition_resource_spec.rb +103 -0
- data/spec/models/cards/card_definition_spec.rb +50 -0
- data/spec/models/cards/card_field_spec.rb +46 -0
- data/spec/models/cards/field_builder_spec.rb +318 -0
- data/spec/models/cards/registry_spec.rb +147 -0
- data/spec/models/cards/role_card_field_spec.rb +111 -0
- data/spec/models/cards/role_resource_card_spec.rb +112 -0
- data/spec/models/has_helpers/master_record_spec.rb +20 -0
- data/spec/models/has_helpers/user_organization_spec.rb +28 -0
- data/spec/models/has_helpers/user_session_spec.rb +16 -0
- data/spec/presenters/base_presenter_spec.rb +166 -0
- data/spec/rails_helper.rb +119 -0
- data/spec/requests/has_helpers/factory_controller_spec.rb +159 -0
- data/spec/requests/has_helpers/health_check_controller_spec.rb +37 -0
- data/spec/scenarios/empty_setup.rb +6 -0
- data/spec/spec_helper.rb +22 -0
- data/spec/support/has_helpers/database_helpers.rb +12 -0
- data/spec/utils/sync_utils_spec.rb +233 -0
- data/spec/workers/goodjob/elasticsearch_process_batch_spec.rb +94 -0
- data/spec/workers/goodjob/elasticsearch_process_change_logs_master_worker_spec.rb +40 -0
- data/spec/workers/goodjob/elasticsearch_process_change_logs_worker_spec.rb +82 -0
- data/spec/workers/goodjob/elasticsearch_process_queue_spec.rb +89 -0
- data/spec/workers/goodjob/elasticsearch_reindex_spec.rb +49 -0
- metadata +1593 -0
|
@@ -0,0 +1,644 @@
|
|
|
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/paperclip/all/paperclip.rbi
|
|
9
|
+
#
|
|
10
|
+
# paperclip-6.1.0
|
|
11
|
+
module Paperclip
|
|
12
|
+
def self.current_attachments_styles; end
|
|
13
|
+
def self.get_registered_attachments_styles; end
|
|
14
|
+
def self.io_adapters; end
|
|
15
|
+
def self.io_adapters=(new_registry); end
|
|
16
|
+
def self.missing_attachments_styles; end
|
|
17
|
+
def self.options; end
|
|
18
|
+
def self.registered_attachments_styles_path; end
|
|
19
|
+
def self.registered_attachments_styles_path=(arg0); end
|
|
20
|
+
def self.save_current_attachments_styles!; end
|
|
21
|
+
extend Paperclip::Helpers
|
|
22
|
+
extend Paperclip::Logger
|
|
23
|
+
extend Paperclip::ProcessorHelpers
|
|
24
|
+
end
|
|
25
|
+
class Paperclip::GeometryParser
|
|
26
|
+
def initialize(string); end
|
|
27
|
+
def make; end
|
|
28
|
+
def match; end
|
|
29
|
+
end
|
|
30
|
+
class Paperclip::GeometryDetector
|
|
31
|
+
def geometry_string; end
|
|
32
|
+
def initialize(file); end
|
|
33
|
+
def make; end
|
|
34
|
+
def path; end
|
|
35
|
+
def raise_because_imagemagick_missing; end
|
|
36
|
+
def raise_if_blank_file; end
|
|
37
|
+
end
|
|
38
|
+
class Paperclip::Geometry
|
|
39
|
+
def aspect; end
|
|
40
|
+
def auto_orient; end
|
|
41
|
+
def cropping(dst, ratio, scale); end
|
|
42
|
+
def height; end
|
|
43
|
+
def height=(arg0); end
|
|
44
|
+
def horizontal?; end
|
|
45
|
+
def initialize(width = nil, height = nil, modifier = nil); end
|
|
46
|
+
def inspect; end
|
|
47
|
+
def larger; end
|
|
48
|
+
def modifier; end
|
|
49
|
+
def modifier=(arg0); end
|
|
50
|
+
def resize_to(geometry); end
|
|
51
|
+
def scale_to(new_geometry); end
|
|
52
|
+
def scaling(dst, ratio); end
|
|
53
|
+
def self.from_file(file); end
|
|
54
|
+
def self.parse(string); end
|
|
55
|
+
def smaller; end
|
|
56
|
+
def square?; end
|
|
57
|
+
def to_s; end
|
|
58
|
+
def transformation_to(dst, crop = nil); end
|
|
59
|
+
def vertical?; end
|
|
60
|
+
def width; end
|
|
61
|
+
def width=(arg0); end
|
|
62
|
+
end
|
|
63
|
+
class Paperclip::Processor
|
|
64
|
+
def attachment; end
|
|
65
|
+
def attachment=(arg0); end
|
|
66
|
+
def convert(arguments = nil, local_options = nil); end
|
|
67
|
+
def file; end
|
|
68
|
+
def file=(arg0); end
|
|
69
|
+
def identify(arguments = nil, local_options = nil); end
|
|
70
|
+
def initialize(file, options = nil, attachment = nil); end
|
|
71
|
+
def make; end
|
|
72
|
+
def options; end
|
|
73
|
+
def options=(arg0); end
|
|
74
|
+
def self.make(file, options = nil, attachment = nil); end
|
|
75
|
+
end
|
|
76
|
+
module Paperclip::ProcessorHelpers
|
|
77
|
+
def clear_processors!; end
|
|
78
|
+
def load_processor(name); end
|
|
79
|
+
def processor(name); end
|
|
80
|
+
def register_processor(name, processor); end
|
|
81
|
+
end
|
|
82
|
+
class Paperclip::ProcessorHelpers::NoSuchProcessor < StandardError
|
|
83
|
+
end
|
|
84
|
+
class Paperclip::Tempfile < Tempfile
|
|
85
|
+
def make_tmpname(prefix_suffix, n); end
|
|
86
|
+
end
|
|
87
|
+
module Paperclip::TempfileEncoding
|
|
88
|
+
def binmode; end
|
|
89
|
+
end
|
|
90
|
+
class Paperclip::Thumbnail < Paperclip::Processor
|
|
91
|
+
def animated; end
|
|
92
|
+
def animated=(arg0); end
|
|
93
|
+
def animated?; end
|
|
94
|
+
def auto_orient; end
|
|
95
|
+
def auto_orient=(arg0); end
|
|
96
|
+
def convert_options; end
|
|
97
|
+
def convert_options=(arg0); end
|
|
98
|
+
def convert_options?; end
|
|
99
|
+
def crop?; end
|
|
100
|
+
def current_geometry; end
|
|
101
|
+
def current_geometry=(arg0); end
|
|
102
|
+
def format; end
|
|
103
|
+
def format=(arg0); end
|
|
104
|
+
def frame_index; end
|
|
105
|
+
def frame_index=(arg0); end
|
|
106
|
+
def identified_as_animated?; end
|
|
107
|
+
def initialize(file, options = nil, attachment = nil); end
|
|
108
|
+
def make; end
|
|
109
|
+
def multi_frame_format?; end
|
|
110
|
+
def source_file_options; end
|
|
111
|
+
def source_file_options=(arg0); end
|
|
112
|
+
def target_geometry; end
|
|
113
|
+
def target_geometry=(arg0); end
|
|
114
|
+
def transformation_command; end
|
|
115
|
+
def whiny; end
|
|
116
|
+
def whiny=(arg0); end
|
|
117
|
+
end
|
|
118
|
+
module Paperclip::Interpolations
|
|
119
|
+
def attachment(attachment, style_name); end
|
|
120
|
+
def basename(attachment, style_name); end
|
|
121
|
+
def class(attachment = nil, style_name = nil); end
|
|
122
|
+
def content_type_extension(attachment, style_name); end
|
|
123
|
+
def dotextension(attachment, style_name); end
|
|
124
|
+
def extension(attachment, style_name); end
|
|
125
|
+
def filename(attachment, style_name); end
|
|
126
|
+
def fingerprint(attachment, style_name); end
|
|
127
|
+
def hash(attachment = nil, style_name = nil); end
|
|
128
|
+
def id(attachment, style_name); end
|
|
129
|
+
def id_partition(attachment, style_name); end
|
|
130
|
+
def param(attachment, style_name); end
|
|
131
|
+
def rails_env(attachment, style_name); end
|
|
132
|
+
def rails_root(attachment, style_name); end
|
|
133
|
+
def self.[](name); end
|
|
134
|
+
def self.[]=(name, block); end
|
|
135
|
+
def self.all; end
|
|
136
|
+
def self.interpolate(pattern, *args); end
|
|
137
|
+
def self.interpolators_cache; end
|
|
138
|
+
def self.plural_cache; end
|
|
139
|
+
def style(attachment, style_name); end
|
|
140
|
+
def timestamp(attachment, style_name); end
|
|
141
|
+
def updated_at(attachment, style_name); end
|
|
142
|
+
def url(attachment, style_name); end
|
|
143
|
+
extend Paperclip::Interpolations
|
|
144
|
+
end
|
|
145
|
+
class Paperclip::Interpolations::PluralCache
|
|
146
|
+
def initialize; end
|
|
147
|
+
def pluralize_symbol(symbol); end
|
|
148
|
+
def underscore_and_pluralize_class(klass); end
|
|
149
|
+
end
|
|
150
|
+
class Paperclip::TempfileFactory
|
|
151
|
+
def basename; end
|
|
152
|
+
def extension; end
|
|
153
|
+
def generate(name = nil); end
|
|
154
|
+
def random_name; end
|
|
155
|
+
end
|
|
156
|
+
class Paperclip::Style
|
|
157
|
+
def [](key); end
|
|
158
|
+
def []=(key, value); end
|
|
159
|
+
def attachment; end
|
|
160
|
+
def convert_options; end
|
|
161
|
+
def default_format; end
|
|
162
|
+
def format; end
|
|
163
|
+
def geometry; end
|
|
164
|
+
def initialize(name, definition, attachment); end
|
|
165
|
+
def name; end
|
|
166
|
+
def processor_options; end
|
|
167
|
+
def processors; end
|
|
168
|
+
def source_file_options; end
|
|
169
|
+
def whiny; end
|
|
170
|
+
def whiny?; end
|
|
171
|
+
end
|
|
172
|
+
class Paperclip::UrlGenerator
|
|
173
|
+
def attachment; end
|
|
174
|
+
def attachment_options(*args, &block); end
|
|
175
|
+
def default_url; end
|
|
176
|
+
def escape_regex; end
|
|
177
|
+
def escape_url(url); end
|
|
178
|
+
def escape_url_as_needed(url, options); end
|
|
179
|
+
def for(style_name, options); end
|
|
180
|
+
def initialize(attachment); end
|
|
181
|
+
def most_appropriate_url; end
|
|
182
|
+
def timestamp_as_needed(url, options); end
|
|
183
|
+
def timestamp_possible?; end
|
|
184
|
+
end
|
|
185
|
+
class Paperclip::Attachment
|
|
186
|
+
def able_to_store_created_at?; end
|
|
187
|
+
def active_validator_classes; end
|
|
188
|
+
def after_flush_writes; end
|
|
189
|
+
def as_json(options = nil); end
|
|
190
|
+
def assign(uploaded_file); end
|
|
191
|
+
def assign_attributes; end
|
|
192
|
+
def assign_file_information; end
|
|
193
|
+
def assign_fingerprint; end
|
|
194
|
+
def assign_timestamps; end
|
|
195
|
+
def blank?; end
|
|
196
|
+
def cleanup_filename(filename); end
|
|
197
|
+
def clear(*styles_to_clear); end
|
|
198
|
+
def content_type; end
|
|
199
|
+
def convert_options; end
|
|
200
|
+
def created_at; end
|
|
201
|
+
def default_options; end
|
|
202
|
+
def default_style; end
|
|
203
|
+
def destroy; end
|
|
204
|
+
def dirty!; end
|
|
205
|
+
def dirty?; end
|
|
206
|
+
def ensure_required_accessors!; end
|
|
207
|
+
def ensure_required_validations!; end
|
|
208
|
+
def errors; end
|
|
209
|
+
def expiring_url(time = nil, style_name = nil); end
|
|
210
|
+
def extra_options_for(style); end
|
|
211
|
+
def extra_source_file_options_for(style); end
|
|
212
|
+
def file?; end
|
|
213
|
+
def filename_cleaner; end
|
|
214
|
+
def fingerprint; end
|
|
215
|
+
def flush_errors; end
|
|
216
|
+
def has_enabled_but_unset_created_at?; end
|
|
217
|
+
def hash_key(style_name = nil); end
|
|
218
|
+
def initialize(name, instance, options = nil); end
|
|
219
|
+
def initialize_storage; end
|
|
220
|
+
def instance; end
|
|
221
|
+
def instance_read(attr); end
|
|
222
|
+
def instance_respond_to?(attr); end
|
|
223
|
+
def instance_write(attr, value); end
|
|
224
|
+
def interpolate(pattern, style_name = nil); end
|
|
225
|
+
def interpolator; end
|
|
226
|
+
def log(message); end
|
|
227
|
+
def missing_required_validator?; end
|
|
228
|
+
def name; end
|
|
229
|
+
def only_process; end
|
|
230
|
+
def options; end
|
|
231
|
+
def original_filename; end
|
|
232
|
+
def path(style_name = nil); end
|
|
233
|
+
def path_option; end
|
|
234
|
+
def post_process(*style_args); end
|
|
235
|
+
def post_process_file; end
|
|
236
|
+
def post_process_style(name, style); end
|
|
237
|
+
def post_process_styles(*style_args); end
|
|
238
|
+
def post_processing; end
|
|
239
|
+
def post_processing=(arg0); end
|
|
240
|
+
def present?; end
|
|
241
|
+
def process_options(options_type, style); end
|
|
242
|
+
def process_style?(style_name, style_args); end
|
|
243
|
+
def processors; end
|
|
244
|
+
def queue_all_for_delete; end
|
|
245
|
+
def queue_some_for_delete(*styles); end
|
|
246
|
+
def queued_for_write; end
|
|
247
|
+
def reprocess!(*style_args); end
|
|
248
|
+
def reset_file_if_original_reprocessed; end
|
|
249
|
+
def reset_updater; end
|
|
250
|
+
def save; end
|
|
251
|
+
def self.default_options; end
|
|
252
|
+
def size; end
|
|
253
|
+
def source_file_options; end
|
|
254
|
+
def staged?; end
|
|
255
|
+
def staged_path(style_name = nil); end
|
|
256
|
+
def styles; end
|
|
257
|
+
def time_zone; end
|
|
258
|
+
def to_s(style_name = nil); end
|
|
259
|
+
def unlink_files(files); end
|
|
260
|
+
def updated_at; end
|
|
261
|
+
def updater; end
|
|
262
|
+
def uploaded_file; end
|
|
263
|
+
def url(style_name = nil, options = nil); end
|
|
264
|
+
def whiny; end
|
|
265
|
+
end
|
|
266
|
+
module Paperclip::Storage
|
|
267
|
+
end
|
|
268
|
+
module Paperclip::Storage::Filesystem
|
|
269
|
+
def copy_to_local_file(style, local_dest_path); end
|
|
270
|
+
def exists?(style_name = nil); end
|
|
271
|
+
def flush_deletes; end
|
|
272
|
+
def flush_writes; end
|
|
273
|
+
def move_file(src, dest); end
|
|
274
|
+
def self.extended(base); end
|
|
275
|
+
end
|
|
276
|
+
module Paperclip::Storage::Fog
|
|
277
|
+
def connection; end
|
|
278
|
+
def convert_time(time); end
|
|
279
|
+
def copy_to_local_file(style, local_dest_path); end
|
|
280
|
+
def directory; end
|
|
281
|
+
def directory_name; end
|
|
282
|
+
def dynamic_fog_host_for_style(style); end
|
|
283
|
+
def exists?(style = nil); end
|
|
284
|
+
def expiring_url(time = nil, style_name = nil); end
|
|
285
|
+
def find_credentials(creds); end
|
|
286
|
+
def flush_deletes; end
|
|
287
|
+
def flush_writes; end
|
|
288
|
+
def fog_credentials; end
|
|
289
|
+
def fog_file; end
|
|
290
|
+
def fog_public(style = nil); end
|
|
291
|
+
def host_name_for_directory; end
|
|
292
|
+
def parse_credentials(creds); end
|
|
293
|
+
def public_url(style = nil); end
|
|
294
|
+
def scheme; end
|
|
295
|
+
def self.extended(base); end
|
|
296
|
+
end
|
|
297
|
+
module Paperclip::Storage::S3
|
|
298
|
+
def bucket_name; end
|
|
299
|
+
def copy_to_local_file(style, local_dest_path); end
|
|
300
|
+
def create_bucket; end
|
|
301
|
+
def exists?(style = nil); end
|
|
302
|
+
def expiring_url(time = nil, style_name = nil); end
|
|
303
|
+
def find_credentials(creds); end
|
|
304
|
+
def flush_deletes; end
|
|
305
|
+
def flush_writes; end
|
|
306
|
+
def http_proxy_host; end
|
|
307
|
+
def http_proxy_password; end
|
|
308
|
+
def http_proxy_port; end
|
|
309
|
+
def http_proxy_user; end
|
|
310
|
+
def merge_s3_headers(http_headers, s3_headers, s3_metadata); end
|
|
311
|
+
def obtain_s3_instance_for(options); end
|
|
312
|
+
def parse_credentials(creds); end
|
|
313
|
+
def s3_bucket; end
|
|
314
|
+
def s3_credentials; end
|
|
315
|
+
def s3_host_alias; end
|
|
316
|
+
def s3_host_name; end
|
|
317
|
+
def s3_interface; end
|
|
318
|
+
def s3_object(style_name = nil); end
|
|
319
|
+
def s3_permissions(style = nil); end
|
|
320
|
+
def s3_prefixes_in_alias; end
|
|
321
|
+
def s3_protocol(style = nil, with_colon = nil); end
|
|
322
|
+
def s3_region; end
|
|
323
|
+
def s3_storage_class(style = nil); end
|
|
324
|
+
def s3_url_options; end
|
|
325
|
+
def self.extended(base); end
|
|
326
|
+
def set_permissions(permissions); end
|
|
327
|
+
def set_storage_class(storage_class); end
|
|
328
|
+
def style_name_as_path(style_name); end
|
|
329
|
+
def use_accelerate_endpoint?; end
|
|
330
|
+
def use_secure_protocol?(style_name); end
|
|
331
|
+
def using_http_proxy?; end
|
|
332
|
+
end
|
|
333
|
+
module Paperclip::Callbacks
|
|
334
|
+
def self.included(base); end
|
|
335
|
+
end
|
|
336
|
+
module Paperclip::Callbacks::Defining
|
|
337
|
+
def define_paperclip_callbacks(*callbacks); end
|
|
338
|
+
def hasta_la_vista_baby; end
|
|
339
|
+
end
|
|
340
|
+
module Paperclip::Callbacks::Running
|
|
341
|
+
def run_paperclip_callbacks(callback, &block); end
|
|
342
|
+
end
|
|
343
|
+
class Paperclip::FileCommandContentTypeDetector
|
|
344
|
+
def detect; end
|
|
345
|
+
def initialize(filename); end
|
|
346
|
+
def type_from_file_command; end
|
|
347
|
+
end
|
|
348
|
+
class Paperclip::MediaTypeSpoofDetector
|
|
349
|
+
def calculated_content_type; end
|
|
350
|
+
def calculated_media_type; end
|
|
351
|
+
def calculated_type_mismatch?; end
|
|
352
|
+
def content_types_from_name; end
|
|
353
|
+
def extension_type_mismatch?; end
|
|
354
|
+
def filename_extension; end
|
|
355
|
+
def has_extension?; end
|
|
356
|
+
def has_name?; end
|
|
357
|
+
def initialize(file, name, content_type); end
|
|
358
|
+
def mapped_content_type; end
|
|
359
|
+
def mapping_override_mismatch?; end
|
|
360
|
+
def media_type_mismatch?; end
|
|
361
|
+
def media_types_from_name; end
|
|
362
|
+
def self.using(file, name, content_type); end
|
|
363
|
+
def spoofed?; end
|
|
364
|
+
def supplied_content_type; end
|
|
365
|
+
def supplied_media_type; end
|
|
366
|
+
def type_from_file_command; end
|
|
367
|
+
end
|
|
368
|
+
class Paperclip::ContentTypeDetector
|
|
369
|
+
def blank_name?; end
|
|
370
|
+
def calculated_type_matches; end
|
|
371
|
+
def detect; end
|
|
372
|
+
def empty?; end
|
|
373
|
+
def empty_file?; end
|
|
374
|
+
def initialize(filepath); end
|
|
375
|
+
def possible_types; end
|
|
376
|
+
def type_from_file_command; end
|
|
377
|
+
def type_from_file_contents; end
|
|
378
|
+
def type_from_mime_magic; end
|
|
379
|
+
end
|
|
380
|
+
module Paperclip::Validators
|
|
381
|
+
extend ActiveSupport::Concern
|
|
382
|
+
end
|
|
383
|
+
class Paperclip::Validators::AttachmentContentTypeValidator < ActiveModel::EachValidator
|
|
384
|
+
def allowed_types; end
|
|
385
|
+
def check_validity!; end
|
|
386
|
+
def forbidden_types; end
|
|
387
|
+
def initialize(options); end
|
|
388
|
+
def mark_invalid(record, attribute, types); end
|
|
389
|
+
def self.helper_method_name; end
|
|
390
|
+
def validate_blacklist(record, attribute, value); end
|
|
391
|
+
def validate_each(record, attribute, value); end
|
|
392
|
+
def validate_whitelist(record, attribute, value); end
|
|
393
|
+
end
|
|
394
|
+
module Paperclip::Validators::HelperMethods
|
|
395
|
+
def do_not_validate_attachment_file_type(*attr_names); end
|
|
396
|
+
def validates_attachment_content_type(*attr_names); end
|
|
397
|
+
def validates_attachment_file_name(*attr_names); end
|
|
398
|
+
def validates_attachment_presence(*attr_names); end
|
|
399
|
+
def validates_attachment_size(*attr_names); end
|
|
400
|
+
def validates_media_type_spoof_detection(*attr_names); end
|
|
401
|
+
end
|
|
402
|
+
class Paperclip::Validators::AttachmentFileNameValidator < ActiveModel::EachValidator
|
|
403
|
+
def allowed; end
|
|
404
|
+
def check_validity!; end
|
|
405
|
+
def forbidden; end
|
|
406
|
+
def initialize(options); end
|
|
407
|
+
def mark_invalid(record, attribute, patterns); end
|
|
408
|
+
def self.helper_method_name; end
|
|
409
|
+
def validate_blacklist(record, attribute, value); end
|
|
410
|
+
def validate_each(record, attribute, value); end
|
|
411
|
+
def validate_whitelist(record, attribute, value); end
|
|
412
|
+
end
|
|
413
|
+
class Paperclip::Validators::AttachmentPresenceValidator < ActiveModel::EachValidator
|
|
414
|
+
def self.helper_method_name; end
|
|
415
|
+
def validate_each(record, attribute, value); end
|
|
416
|
+
end
|
|
417
|
+
class Paperclip::Validators::AttachmentSizeValidator < ActiveModel::Validations::NumericalityValidator
|
|
418
|
+
def check_validity!; end
|
|
419
|
+
def extract_option_value(option, option_value); end
|
|
420
|
+
def extract_options(options); end
|
|
421
|
+
def human_size(size); end
|
|
422
|
+
def initialize(options); end
|
|
423
|
+
def max_value_in_human_size(record); end
|
|
424
|
+
def min_value_in_human_size(record); end
|
|
425
|
+
def self.helper_method_name; end
|
|
426
|
+
def validate_each(record, attr_name, value); end
|
|
427
|
+
end
|
|
428
|
+
class Paperclip::Validators::MediaTypeSpoofDetectionValidator < ActiveModel::EachValidator
|
|
429
|
+
def validate_each(record, attribute, value); end
|
|
430
|
+
end
|
|
431
|
+
class Paperclip::Validators::AttachmentFileTypeIgnoranceValidator < ActiveModel::EachValidator
|
|
432
|
+
def self.helper_method_name; end
|
|
433
|
+
def validate_each(record, attribute, value); end
|
|
434
|
+
end
|
|
435
|
+
module Paperclip::Validators::ClassMethods
|
|
436
|
+
def create_validating_before_filter(attribute, validator_class, options); end
|
|
437
|
+
def validate_before_processing(validator_class, options); end
|
|
438
|
+
def validates_attachment(*attributes); end
|
|
439
|
+
end
|
|
440
|
+
module Paperclip::Schema
|
|
441
|
+
def self.included(base); end
|
|
442
|
+
end
|
|
443
|
+
module Paperclip::Schema::Statements
|
|
444
|
+
def add_attachment(table_name, *attachment_names); end
|
|
445
|
+
def drop_attached_file(*args); end
|
|
446
|
+
def remove_attachment(table_name, *attachment_names); end
|
|
447
|
+
end
|
|
448
|
+
module Paperclip::Schema::TableDefinition
|
|
449
|
+
def attachment(*attachment_names); end
|
|
450
|
+
def has_attached_file(*attachment_names); end
|
|
451
|
+
end
|
|
452
|
+
module Paperclip::Schema::CommandRecorder
|
|
453
|
+
def add_attachment(*args); end
|
|
454
|
+
def invert_add_attachment(args); end
|
|
455
|
+
end
|
|
456
|
+
module Paperclip::Glue
|
|
457
|
+
def self.included(base); end
|
|
458
|
+
end
|
|
459
|
+
class Paperclip::Error < StandardError
|
|
460
|
+
end
|
|
461
|
+
module Paperclip::Errors
|
|
462
|
+
end
|
|
463
|
+
class Paperclip::Errors::StorageMethodNotFound < Paperclip::Error
|
|
464
|
+
end
|
|
465
|
+
class Paperclip::Errors::CommandNotFoundError < Paperclip::Error
|
|
466
|
+
end
|
|
467
|
+
class Paperclip::Errors::MissingRequiredValidatorError < Paperclip::Error
|
|
468
|
+
end
|
|
469
|
+
class Paperclip::Errors::NotIdentifiedByImageMagickError < Paperclip::Error
|
|
470
|
+
end
|
|
471
|
+
class Paperclip::Errors::InfiniteInterpolationError < Paperclip::Error
|
|
472
|
+
end
|
|
473
|
+
class Paperclip::AttachmentRegistry
|
|
474
|
+
def clear; end
|
|
475
|
+
def definitions_for(klass); end
|
|
476
|
+
def each_definition; end
|
|
477
|
+
def initialize; end
|
|
478
|
+
def names_for(klass); end
|
|
479
|
+
def register(klass, attachment_name, attachment_options); end
|
|
480
|
+
def self.allocate; end
|
|
481
|
+
def self.clear; end
|
|
482
|
+
def self.definitions_for(klass); end
|
|
483
|
+
def self.each_definition(&block); end
|
|
484
|
+
def self.instance; end
|
|
485
|
+
def self.names_for(klass); end
|
|
486
|
+
def self.new(*arg0); end
|
|
487
|
+
def self.register(klass, attachment_name, attachment_options); end
|
|
488
|
+
extend Singleton::SingletonClassMethods
|
|
489
|
+
include Singleton
|
|
490
|
+
end
|
|
491
|
+
module Paperclip::Logger
|
|
492
|
+
def log(message); end
|
|
493
|
+
def logger; end
|
|
494
|
+
def logger=(logger); end
|
|
495
|
+
def logging?; end
|
|
496
|
+
end
|
|
497
|
+
module Paperclip::Helpers
|
|
498
|
+
def class_for(class_name); end
|
|
499
|
+
def configure; end
|
|
500
|
+
def each_instance_with_attachment(klass, name); end
|
|
501
|
+
def interpolates(key, &block); end
|
|
502
|
+
def reset_duplicate_clash_check!; end
|
|
503
|
+
def run(cmd, arguments = nil, interpolation_values = nil, local_options = nil); end
|
|
504
|
+
end
|
|
505
|
+
class Paperclip::HasAttachedFile
|
|
506
|
+
def add_active_record_callbacks; end
|
|
507
|
+
def add_paperclip_callbacks; end
|
|
508
|
+
def add_required_validations; end
|
|
509
|
+
def define; end
|
|
510
|
+
def define_class_getter; end
|
|
511
|
+
def define_flush_errors; end
|
|
512
|
+
def define_getters; end
|
|
513
|
+
def define_instance_getter; end
|
|
514
|
+
def define_query; end
|
|
515
|
+
def define_setter; end
|
|
516
|
+
def initialize(klass, name, options); end
|
|
517
|
+
def register_new_attachment; end
|
|
518
|
+
def self.define_on(klass, name, options); end
|
|
519
|
+
end
|
|
520
|
+
module Paperclip::HasAttachedFile::ClassMethods
|
|
521
|
+
def attachment_definitions; end
|
|
522
|
+
end
|
|
523
|
+
class Paperclip::FilenameCleaner
|
|
524
|
+
def call(filename); end
|
|
525
|
+
def initialize(invalid_character_regex); end
|
|
526
|
+
end
|
|
527
|
+
class Paperclip::RailsEnvironment
|
|
528
|
+
def get; end
|
|
529
|
+
def rails_environment_exists?; end
|
|
530
|
+
def rails_exists?; end
|
|
531
|
+
def self.get; end
|
|
532
|
+
end
|
|
533
|
+
class Paperclip::Railtie < Rails::Railtie
|
|
534
|
+
def self.insert; end
|
|
535
|
+
end
|
|
536
|
+
class Paperclip::AdapterRegistry
|
|
537
|
+
def for(target, options = nil); end
|
|
538
|
+
def handler_for(target); end
|
|
539
|
+
def initialize; end
|
|
540
|
+
def register(handler_class, &block); end
|
|
541
|
+
def registered?(target); end
|
|
542
|
+
def registered_handlers; end
|
|
543
|
+
def unregister(handler_class); end
|
|
544
|
+
end
|
|
545
|
+
class Paperclip::AdapterRegistry::NoHandlerError < Paperclip::Error
|
|
546
|
+
end
|
|
547
|
+
class Paperclip::AbstractAdapter
|
|
548
|
+
def assignment?; end
|
|
549
|
+
def binmode(*args, &block); end
|
|
550
|
+
def binmode?(*args, &block); end
|
|
551
|
+
def close!(*args, &block); end
|
|
552
|
+
def close(*args, &block); end
|
|
553
|
+
def closed?(*args, &block); end
|
|
554
|
+
def content_type; end
|
|
555
|
+
def copy_to_tempfile(src); end
|
|
556
|
+
def destination; end
|
|
557
|
+
def eof?(*args, &block); end
|
|
558
|
+
def fingerprint; end
|
|
559
|
+
def initialize(target, options = nil); end
|
|
560
|
+
def inspect; end
|
|
561
|
+
def length; end
|
|
562
|
+
def link_or_copy_file(src, dest); end
|
|
563
|
+
def nil?; end
|
|
564
|
+
def original_filename; end
|
|
565
|
+
def original_filename=(new_filename); end
|
|
566
|
+
def path(*args, &block); end
|
|
567
|
+
def read(length = nil, buffer = nil); end
|
|
568
|
+
def readbyte(*args, &block); end
|
|
569
|
+
def rewind(*args, &block); end
|
|
570
|
+
def size; end
|
|
571
|
+
def tempfile; end
|
|
572
|
+
def unlink(*args, &block); end
|
|
573
|
+
end
|
|
574
|
+
class Paperclip::EmptyStringAdapter < Paperclip::AbstractAdapter
|
|
575
|
+
def assignment?; end
|
|
576
|
+
def nil?; end
|
|
577
|
+
def self.register; end
|
|
578
|
+
end
|
|
579
|
+
class Paperclip::IdentityAdapter < Paperclip::AbstractAdapter
|
|
580
|
+
def initialize; end
|
|
581
|
+
def new(target, _); end
|
|
582
|
+
def self.register; end
|
|
583
|
+
end
|
|
584
|
+
class Paperclip::FileAdapter < Paperclip::AbstractAdapter
|
|
585
|
+
def cache_current_values; end
|
|
586
|
+
def initialize(target, options = nil); end
|
|
587
|
+
def self.register; end
|
|
588
|
+
end
|
|
589
|
+
class Paperclip::StringioAdapter < Paperclip::AbstractAdapter
|
|
590
|
+
def cache_current_values; end
|
|
591
|
+
def content_type=(arg0); end
|
|
592
|
+
def copy_to_tempfile(source); end
|
|
593
|
+
def initialize(target, options = nil); end
|
|
594
|
+
def self.register; end
|
|
595
|
+
end
|
|
596
|
+
class Paperclip::DataUriAdapter < Paperclip::StringioAdapter
|
|
597
|
+
def extract_target(uri); end
|
|
598
|
+
def initialize(target_uri, options = nil); end
|
|
599
|
+
def self.register; end
|
|
600
|
+
end
|
|
601
|
+
class Paperclip::NilAdapter < Paperclip::AbstractAdapter
|
|
602
|
+
def content_type; end
|
|
603
|
+
def eof?; end
|
|
604
|
+
def initialize(_target, _options = nil); end
|
|
605
|
+
def nil?; end
|
|
606
|
+
def original_filename; end
|
|
607
|
+
def read(*_args); end
|
|
608
|
+
def self.register; end
|
|
609
|
+
def size; end
|
|
610
|
+
end
|
|
611
|
+
class Paperclip::AttachmentAdapter < Paperclip::AbstractAdapter
|
|
612
|
+
def cache_current_values; end
|
|
613
|
+
def copy_to_tempfile(source); end
|
|
614
|
+
def initialize(target, options = nil); end
|
|
615
|
+
def self.register; end
|
|
616
|
+
end
|
|
617
|
+
class Paperclip::UploadedFileAdapter < Paperclip::AbstractAdapter
|
|
618
|
+
def cache_current_values; end
|
|
619
|
+
def content_type_detector; end
|
|
620
|
+
def determine_content_type; end
|
|
621
|
+
def initialize(target, options = nil); end
|
|
622
|
+
def self.content_type_detector; end
|
|
623
|
+
def self.content_type_detector=(arg0); end
|
|
624
|
+
def self.register; end
|
|
625
|
+
end
|
|
626
|
+
class Paperclip::UriAdapter < Paperclip::AbstractAdapter
|
|
627
|
+
def cache_current_values; end
|
|
628
|
+
def content_type=(arg0); end
|
|
629
|
+
def content_type_from_content; end
|
|
630
|
+
def copy_to_tempfile(src); end
|
|
631
|
+
def default_filename; end
|
|
632
|
+
def download_content; end
|
|
633
|
+
def filename_from_content_disposition; end
|
|
634
|
+
def filename_from_path; end
|
|
635
|
+
def initialize(target, options = nil); end
|
|
636
|
+
def self.register; end
|
|
637
|
+
end
|
|
638
|
+
class Paperclip::HttpUrlProxyAdapter < Paperclip::UriAdapter
|
|
639
|
+
def initialize(target, options = nil); end
|
|
640
|
+
def self.register; end
|
|
641
|
+
end
|
|
642
|
+
module Paperclip::ClassMethods
|
|
643
|
+
def has_attached_file(name, options = nil); end
|
|
644
|
+
end
|