├── .env.sample ├── .github ├── dependabot.yml └── workflows │ └── ci.yml ├── .gitignore ├── .rubocop.yml ├── Gemfile ├── Gemfile.lock ├── MIT-LICENSE ├── README.md ├── Rakefile ├── bin ├── dev ├── generator ├── new ├── rubocop ├── run └── verifier ├── docs ├── example.png ├── snapshot-bmc-button-small.png ├── snapshot-bmc-button.png └── structure.png ├── files ├── gems │ ├── acts-as-taggable-on │ │ ├── advanced │ │ │ ├── custom_delimiters_unicode_normalization.md │ │ │ ├── optimize_tag_query_with_joins.md │ │ │ └── polymorphic_tagging_across_models.md │ │ ├── beginner │ │ │ ├── add_tags_to_model.md │ │ │ ├── query_tags.md │ │ │ └── setup_gem.md │ │ ├── expert │ │ │ ├── advanced_search_and_caching.md │ │ │ └── hierarchical_tags_with_ancestry.md │ │ └── middle │ │ │ ├── caching_tag_counts.md │ │ │ ├── multiple_tag_contexts.md │ │ │ └── querying_tagged_models.md │ ├── bcrypt │ │ ├── advanced │ │ │ ├── add_pepper_to_bcrypt.md │ │ │ ├── async_password_rehash.md │ │ │ └── dynamic_bcrypt_cost.md │ │ ├── beginner │ │ │ ├── bcrypt_authentication.md │ │ │ ├── bcrypt_installation.md │ │ │ └── bcrypt_model_setup.md │ │ ├── expert │ │ │ ├── bcrypt_async_hashing.md │ │ │ ├── bcrypt_legacy_migration.md │ │ │ └── bcrypt_pepper_cost_configuration.md │ │ └── middle │ │ │ ├── bcrypt_custom_cost.md │ │ │ ├── bcrypt_generate_and_verify.md │ │ │ └── bcrypt_rehash_on_login.md │ ├── chartkick │ │ ├── advanced │ │ │ ├── after_render_hook.md │ │ │ ├── custom_tooltips_formatters.md │ │ │ ├── multi_axis_charts.md │ │ │ └── streaming_via_action_cable.md │ │ ├── beginner │ │ │ ├── basic_line_chart.md │ │ │ ├── customize_chart_options.md │ │ │ ├── multiple_series_bar_chart.md │ │ │ └── setup_chartkick.md │ │ ├── expert │ │ │ ├── combo_charts_multiple_axes.md │ │ │ ├── custom_chartjs_library_options.md │ │ │ ├── dynamic_realtime_updates_with_actioncable.md │ │ │ └── sql_cte_aggregation_for_large_datasets.md │ │ └── middle │ │ │ ├── ajax_refresh.md │ │ │ ├── custom_chart_options.md │ │ │ ├── group_by_period.md │ │ │ └── multiple_series.md │ ├── counter_culture │ │ ├── advanced │ │ │ ├── dynamic_conditional_counters.md │ │ │ └── weighted_counter_updates.md │ │ ├── beginner │ │ │ ├── counter_culture_basic_usage.md │ │ │ └── counter_culture_setup.md │ │ ├── expert │ │ │ ├── batch_async_counter_updates.md │ │ │ └── multi_level_association_caching.md │ │ └── middle │ │ │ ├── multiple_counter_usage.md │ │ │ └── scoped_comment_counter.md │ ├── devise │ │ ├── advanced │ │ │ ├── custom_password_strength_validator.md.md │ │ │ ├── devise_jwt_integration.md.md │ │ │ └── multiple_user_scopes.md.md │ │ ├── beginner │ │ │ ├── configure_routes.md │ │ │ ├── customize_devise_views.md │ │ │ ├── generate_user_model.md │ │ │ └── install_devise.md │ │ ├── expert │ │ │ ├── custom_warden_2fa.md │ │ │ ├── dynamic_failure_app_handling.md │ │ │ ├── jwt_stateless_api.md │ │ │ └── multi_tenant_authentication.md │ │ └── middle │ │ │ ├── custom_redirect_path.md │ │ │ ├── override_devise_controllers.md │ │ │ ├── permit_extra_params.md │ │ │ └── rspec_devise_helpers.md │ ├── factory_bot_rails │ │ ├── advanced │ │ │ ├── advanced_polymorphic_traits.md │ │ │ ├── custom_factorybot_strategy.md │ │ │ └── transient_dynamic_associations.md │ │ ├── beginner │ │ │ ├── associations.md.md │ │ │ ├── basic_factory_setup.md.md │ │ │ └── using_traits.md.md │ │ ├── expert │ │ │ ├── after_create_callbacks_external_service_setup.md │ │ │ ├── custom_to_create_bulk_insert_strategy.md │ │ │ └── transient_traits_dynamic_associations.md │ │ └── middle │ │ │ ├── association_strategies.md │ │ │ ├── unique_sequences.md │ │ │ └── use_traits.md │ ├── faker │ │ ├── advanced │ │ │ ├── custom_provider.md │ │ │ ├── multilingual_data.md │ │ │ └── seed_reproducibility.md │ │ ├── beginner │ │ │ ├── faker_in_tests.md │ │ │ ├── installing_faker_gem.md │ │ │ └── seeding_with_faker.md │ │ ├── expert │ │ │ ├── concurrent_load_testing.md.md │ │ │ ├── custom_faker_provider.md.md │ │ │ └── dynamic_locale_fallback.md.md │ │ └── middle │ │ │ ├── faker_locale_configuration.md │ │ │ ├── faker_unique_generator.md │ │ │ └── faker_with_factorybot.md │ ├── faraday │ │ ├── advanced │ │ │ ├── faraday_custom_hmac_middleware.md │ │ │ └── faraday_retry_exponential_backoff.md │ │ ├── beginner │ │ │ ├── faraday_get_request.md │ │ │ └── faraday_install_config.md │ │ ├── expert │ │ │ ├── custom_instrumentation_middleware.md │ │ │ └── thread_safe_connection_pool.md │ │ └── middle │ │ │ ├── custom_middleware_integration.md │ │ │ └── timeouts_and_retries.md │ ├── flipper │ │ ├── advanced │ │ │ ├── consistent_percentage_rollout.md │ │ │ └── custom_actor_groups.md │ │ ├── beginner │ │ │ ├── flipper_basic_toggle.md │ │ │ └── flipper_setup.md │ │ ├── expert │ │ │ ├── custom_instrumentation_statsd.md │ │ │ └── multi_region_adapter.md │ │ └── middle │ │ │ ├── flipper_custom_user_groups.md │ │ │ └── flipper_percentage_rollout.md │ ├── geocoder │ │ ├── advanced │ │ │ ├── geocoder_caching_and_fallback_strategies.md │ │ │ ├── polymorphic_geocoding_multiple_models.md │ │ │ └── postgis_high_performance_queries.md │ │ ├── beginner │ │ │ ├── geocoder_install.md │ │ │ ├── geocoder_model_setup.md │ │ │ └── geocoder_reverse_usage.md │ │ ├── expert │ │ │ ├── bulk_reverse_geocoding_sidekiq.md │ │ │ ├── optimized_distance_sql.md │ │ │ └── postgis_advanced_queries.md │ │ └── middle │ │ │ ├── customizing_geocoder_config.md │ │ │ ├── distance_queries_near_scope.md │ │ │ └── model_geocoding_setup.md │ ├── httparty │ │ ├── advanced │ │ │ ├── custom_httparty_parser.md │ │ │ └── httparty_with_retry.md │ │ ├── beginner │ │ │ ├── basic_get_request.md │ │ │ └── query_params_usage.md │ │ ├── expert │ │ │ ├── httparty_persistent_connections.md │ │ │ └── httparty_typhoeus_adapter.md │ │ └── middle │ │ │ ├── httparty_dynamic_query_params.md │ │ │ └── httparty_reusable_client.md │ ├── image_processing │ │ ├── advanced │ │ │ ├── custom_watermark_processor.md │ │ │ ├── persistent_variant_cache.md │ │ │ └── streaming_variants.md │ │ ├── beginner │ │ │ ├── convert_format_thumbnail.md │ │ │ ├── generate_resized_variant.md │ │ │ └── install_image_processing.md │ │ ├── expert │ │ │ ├── advanced_caching_strategies.md │ │ │ ├── custom_mini_magick_operations.md │ │ │ └── parallel_processing_pipeline.md │ │ └── middle │ │ │ ├── background_processing.md │ │ │ ├── chain_transformations.md │ │ │ └── variants_resizing_format.md │ ├── mini_magick │ │ ├── advanced │ │ │ ├── composite_with_masks.md │ │ │ ├── multi_page_document_processing.md │ │ │ └── stream_processing.md │ │ ├── beginner │ │ │ ├── convert_and_crop.md │ │ │ ├── install_and_setup.md │ │ │ └── resize_image.md │ │ ├── expert │ │ │ ├── gif_optimization_pipeline.md │ │ │ ├── pdf_multipage_annotation.md │ │ │ └── streaming_image_pipelining.md │ │ └── middle │ │ │ ├── conditional_resize.md │ │ │ ├── in_memory_processing.md │ │ │ └── optimize_and_compress.md │ ├── pundit │ │ ├── advanced │ │ │ ├── dynamic_policy_scopes.md │ │ │ └── graphql_field_authorization.md │ │ ├── beginner │ │ │ ├── pundit_basic_policy_usage.md │ │ │ └── pundit_install_setup.md │ │ ├── expert │ │ │ ├── pundit_dynamic_context_scopes.md │ │ │ └── pundit_rspec_custom_matchers.md │ │ └── middle │ │ │ ├── policy_scope_in_controller.md │ │ │ └── verify_authorization_callbacks.md │ ├── ransack │ │ ├── advanced │ │ │ ├── custom_ransacker_computed_fields.md │ │ │ ├── define_custom_predicates.md │ │ │ └── nested_association_query.md │ │ ├── beginner │ │ │ ├── basic_search_form.md │ │ │ ├── multi_field_search.md │ │ │ └── sorting_results.md │ │ ├── expert │ │ │ ├── complex_arel_ransacker_full_name.md │ │ │ ├── dynamic_whitelisting_ransackable_scopes.md │ │ │ └── postgres_full_text_search_predicate.md │ │ └── middle │ │ │ ├── ransack_association_search.md │ │ │ ├── ransack_group_or_conditions.md │ │ │ └── ransack_sort_pagination.md │ ├── redis │ │ ├── advanced │ │ │ ├── redis_cluster_integration.md │ │ │ ├── redis_pubsub_connection_pool.md │ │ │ ├── redis_redlock_distributed_locks.md │ │ │ └── redis_streams_event_sourcing.md │ │ ├── beginner │ │ │ ├── connecting_to_redis.md │ │ │ ├── set_and_get_keys.md │ │ │ ├── setting_key_expiration.md │ │ │ └── working_with_lists.md │ │ ├── expert │ │ │ ├── redis_hyperloglog_unique_counts.md │ │ │ ├── redis_lua_atomic_operations.md │ │ │ ├── redis_redlock_distributed_lock.md │ │ │ └── redis_streams_event_sourcing.md │ │ └── middle │ │ │ ├── distributed_lock_redlock.md │ │ │ ├── fragment_caching_redis.md │ │ │ ├── rate_limiter_redis.md │ │ │ └── session_store_redis.md │ ├── rspec │ │ ├── advanced │ │ │ ├── around_hooks_for_transactions.md │ │ │ ├── composite_matcher_operators.md │ │ │ ├── custom_matcher_chainable.md │ │ │ ├── filtering_by_custom_tags.md │ │ │ ├── let_lazy_loaded_dependencies.md │ │ │ ├── monkey_patch_rspec_dsl.md │ │ │ ├── profiling_slow_specs.md │ │ │ ├── rspec_configuration_overrides.md │ │ │ ├── shared_contexts_with_metadata.md │ │ │ └── verifying_partial_doubles.md │ │ ├── beginner │ │ │ ├── rspec_after_hooks.md │ │ │ ├── rspec_before_hooks.md │ │ │ ├── rspec_common_matchers.md │ │ │ ├── rspec_describe_blocks.md │ │ │ ├── rspec_focus_tag.md │ │ │ ├── rspec_it_blocks.md │ │ │ ├── rspec_let_usage.md │ │ │ ├── rspec_setup.md │ │ │ ├── rspec_shared_examples.md │ │ │ └── rspec_subject_definition.md │ │ ├── custom_matchers │ │ │ ├── advanced │ │ │ │ ├── chainable_custom_matchers.md │ │ │ │ ├── diffable_custom_matchers.md │ │ │ │ └── parameterized_block_matchers.md │ │ │ ├── beginner │ │ │ │ ├── basic_custom_matcher.md │ │ │ │ ├── custom_failure_message.md │ │ │ │ └── parameterized_custom_matcher.md │ │ │ ├── expert │ │ │ │ ├── diffable_block_expectations.md.md │ │ │ │ ├── dynamic_chaining_matchers.md.md │ │ │ │ └── metaprogramming_driven_matchers.md.md │ │ │ └── middle │ │ │ │ ├── chained_custom_matcher.md │ │ │ │ ├── custom_failure_messages.md │ │ │ │ └── parameterized_range_matcher.md │ │ ├── expert │ │ │ ├── advanced_const_mocking.md │ │ │ ├── custom_composable_matchers.md │ │ │ ├── custom_formatters.md │ │ │ ├── hook_order_customization.md │ │ │ ├── metadata_dynamic_test_generation.md │ │ │ ├── parallel_testing_db_sharding.md │ │ │ ├── parametrized_shared_examples.md │ │ │ ├── performance_profiling.md │ │ │ └── vcr_webmock_advanced.md │ │ ├── hooks_and_lifecycle │ │ │ ├── advanced │ │ │ │ ├── metadata_conditional_hooks.md │ │ │ │ ├── orchestrating_external_service.md │ │ │ │ └── transactional_time_travel.md │ │ │ ├── beginner │ │ │ │ ├── rspec_after_hook.md │ │ │ │ ├── rspec_around_hook.md │ │ │ │ └── rspec_before_hook.md │ │ │ ├── expert │ │ │ │ ├── around_each_instrumentation.md │ │ │ │ ├── metadata_based_hooks.md │ │ │ │ └── prepend_hooks_module.md │ │ │ └── middle │ │ │ │ ├── around_hooks_custom_setup.md │ │ │ │ ├── metadata_filtered_hooks.md │ │ │ │ └── shared_context_lifecycle.md │ │ ├── middle │ │ │ ├── aggregate_failures.md │ │ │ ├── around_hooks.md │ │ │ ├── custom_matchers.md │ │ │ ├── instance_double_usage.md │ │ │ ├── let_vs_let_bang.md │ │ │ ├── leveraging_contexts.md │ │ │ ├── named_subject.md │ │ │ ├── shared_examples_usage.md │ │ │ ├── tagged_examples_filtering.md │ │ │ └── verifying_partial_doubles.md │ │ ├── mocks_and_stubs │ │ │ ├── advanced │ │ │ │ ├── instance_double_interface.md │ │ │ │ ├── nested_doubles_for_complex_dependencies.md │ │ │ │ ├── partial_spy_mocks.md │ │ │ │ ├── sequential_return_values.md │ │ │ │ └── stub_private_methods.md │ │ │ ├── beginner │ │ │ │ ├── argument_matching_stub.md │ │ │ │ ├── chain_method_stub.md │ │ │ │ ├── instance_double_usage.md │ │ │ │ ├── mock_expectation_receive.md │ │ │ │ └── stub_return_value.md │ │ │ ├── expert │ │ │ │ ├── class_spy_on_new_with_and_call_original.md │ │ │ │ ├── complex_block_yields_with_and_yield.md │ │ │ │ ├── stub_private_methods_with_prepend.md │ │ │ │ ├── verifying_module_methods_with_class_double.md │ │ │ │ └── wrap_original_with_and_wrap_original.md │ │ │ └── middle │ │ │ │ ├── instance_double_strict_interface.md │ │ │ │ ├── sequential_return_values.md │ │ │ │ ├── stubbing_chained_methods.md │ │ │ │ ├── using_spies_for_assertions.md │ │ │ │ └── yielding_block_methods.md │ │ └── shared_examples │ │ │ ├── advanced │ │ │ ├── metadata_filtered_shared_examples.md │ │ │ └── parameterized_shared_examples_dsl.md │ │ │ ├── beginner │ │ │ ├── shared_examples_dry_specs.md │ │ │ └── shared_examples_with_arguments.md │ │ │ ├── expert │ │ │ ├── dynamic_shared_examples_with_metadata.md │ │ │ └── parameterized_shared_examples_with_dynamic_classes.md │ │ │ └── middle │ │ │ ├── shared_examples_basic_usage.md │ │ │ └── shared_examples_parameterized_usage.md │ ├── ruby-openai │ │ ├── advanced │ │ │ ├── batch_embeddings_async.md │ │ │ ├── function_calling_advanced.md │ │ │ └── streaming_chat_responses.md │ │ ├── beginner │ │ │ ├── handle_errors_gracefully.md │ │ │ ├── setup_ruby_openai.md │ │ │ └── simple_chat_request.md │ │ ├── expert │ │ │ ├── advanced_streaming_with_backpressure.md │ │ │ ├── dynamic_function_call_management.md │ │ │ └── high_throughput_rate_limited_requests.md │ │ └── middle │ │ │ ├── handle_rate_limit_retries.md │ │ │ ├── parallel_requests.md │ │ │ └── streaming_responses.md │ ├── sidekiq │ │ ├── advanced │ │ │ ├── batch_orchestration.md │ │ │ ├── custom_retry_backoff.md │ │ │ ├── custom_server_middleware.md │ │ │ ├── rate_limiting_concurrency.md │ │ │ └── unique_job_locking.md │ │ ├── beginner │ │ │ ├── create_basic_worker.md │ │ │ ├── enqueue_job_from_controller.md │ │ │ ├── monitor_sidekiq_web_ui.md │ │ │ ├── pass_arguments_to_worker.md │ │ │ └── setup_sidekiq_in_rails.md │ │ ├── expert │ │ │ ├── sidekiq_batch_chaining.md │ │ │ ├── sidekiq_dynamic_autoscaling.md │ │ │ ├── sidekiq_opentelemetry_middleware.md │ │ │ └── sidekiq_tenant_isolation_namespace.md │ │ └── middle │ │ │ ├── sidekiq_batch_grouping.md │ │ │ ├── sidekiq_custom_middleware.md │ │ │ ├── sidekiq_custom_retry.md │ │ │ ├── sidekiq_schedule_jobs.md │ │ │ └── sidekiq_testing_in_rspec.md │ ├── simple_form │ │ ├── advanced │ │ │ ├── custom_rich_text_input.md │ │ │ ├── custom_wrappers.md │ │ │ └── nested_associations_cocoon.md │ │ ├── beginner │ │ │ ├── simple_form_basic_form.md │ │ │ ├── simple_form_customizing_inputs.md │ │ │ └── simple_form_installation.md │ │ ├── expert │ │ │ ├── custom_formbuilder_macros.md │ │ │ ├── custom_js_widget_wrapper.md │ │ │ └── dynamic_nested_associations.md │ │ └── middle │ │ │ ├── collection_inputs.md │ │ │ ├── custom_input_wrapper.md │ │ │ └── html_attribute_customization.md │ ├── solid_queue │ │ ├── advanced │ │ │ ├── advanced_custom_middleware_integration.md.md │ │ │ ├── advanced_dynamic_worker_routing.md.md │ │ │ └── advanced_exponential_backoff.md.md │ │ ├── beginner │ │ │ ├── define_and_enqueue_job.md │ │ │ ├── install_and_configure.md │ │ │ └── schedule_job_future.md │ │ ├── expert │ │ │ ├── atomic_job_deduplication.md │ │ │ ├── dynamic_queue_sharding.md │ │ │ └── kafka_broker_implementation.md │ │ └── middle │ │ │ ├── batch_enqueueing.md │ │ │ ├── custom_queue_configuration.md │ │ │ └── error_handling_and_retries.md │ ├── vcr │ │ ├── advanced │ │ │ ├── vcr_custom_hooks.md │ │ │ └── vcr_custom_request_matching.md │ │ ├── beginner │ │ │ ├── basic_cassette_usage.md │ │ │ └── install_and_configure_vcr.md │ │ ├── expert │ │ │ ├── vcr_custom_persister_and_serializer.md │ │ │ └── vcr_deep_request_matching_and_hooks.md │ │ └── middle │ │ │ ├── custom_request_matchers.md │ │ │ └── dynamic_cassette_naming.md │ ├── view_component │ │ ├── advanced │ │ │ ├── nested_slots.md │ │ │ ├── precompile_and_cache.md │ │ │ ├── system_arguments.md │ │ │ ├── testing_with_rspec.md │ │ │ └── turbo_stream_integration.md │ │ ├── beginner │ │ │ ├── view_component_installation.md │ │ │ ├── view_component_passing_props.md │ │ │ ├── view_component_rendering.md │ │ │ ├── view_component_slots.md │ │ │ └── view_component_testing.md │ │ ├── expert │ │ │ ├── advanced_fragment_caching.md │ │ │ ├── deep_testing_with_matchers.md │ │ │ ├── dynamic_slots_composition.md │ │ │ ├── hotwire_stimulus_integration.md │ │ │ └── instrumentation_and_profiling.md │ │ └── middle │ │ │ ├── component_caching.md │ │ │ ├── previewing_components.md │ │ │ ├── styling_with_css_modules.md │ │ │ ├── testing_components_with_rspec.md │ │ │ └── using_slots.md │ └── webmock │ │ ├── advanced │ │ ├── custom_request_matchers_and_callbacks.md │ │ └── stub_dynamic_request_patterns.md │ │ ├── beginner │ │ ├── stub_get_requests.md │ │ └── verify_http_requests.md │ │ ├── expert │ │ ├── chunked_streaming_response.md │ │ └── dynamic_request_block_stub.md │ │ └── middle │ │ ├── match_requests_by_headers.md │ │ └── stub_dynamic_urls_regex.md ├── javascript │ ├── hotwire │ │ ├── advanced │ │ │ ├── advanced_turbo_stream_targets.md │ │ │ ├── custom_turbo_stream_action.md │ │ │ ├── dynamic_turbo_frame_source.md │ │ │ ├── dynamic_turbo_stream_templates.md │ │ │ ├── freeze_frame_for_modals.md │ │ │ ├── global_turbo_progress_bar.md │ │ │ ├── incremental_updates_with_turbo_streams.md │ │ │ ├── intercepting_turbo_requests.md │ │ │ ├── override_form_submission_turbo.md │ │ │ ├── stimulus_and_turbo_combination.md │ │ │ ├── stimulus_lifecycle_management.md │ │ │ ├── stimulus_mutation_observer.md │ │ │ ├── streaming_large_payloads.md │ │ │ ├── turbo_error_handling.md │ │ │ ├── turbo_frame_preload_cache.md │ │ │ └── turbo_native_integration.md │ │ ├── beginner │ │ │ ├── basic_stimulus_controller.md │ │ │ ├── basic_turbo_frame.md │ │ │ ├── disable_turbo_drive_on_link.md │ │ │ ├── importmap_pin_turbo.md │ │ │ ├── install_hotwire.md │ │ │ ├── install_stimulus.md │ │ │ ├── render_turbo_stream_response.md │ │ │ ├── stimulus_actions.md │ │ │ ├── stimulus_targets.md │ │ │ ├── stimulus_values.md │ │ │ ├── target_turbo_frame_navigation.md │ │ │ ├── turbo_form_remote_submission.md │ │ │ ├── turbo_programmatic_navigation.md │ │ │ ├── turbo_stream_append.md │ │ │ └── turbo_stream_remove.md │ │ └── expert │ │ │ ├── stimulus_reflex_hotwire.md │ │ │ ├── stimulus_turbo_event_bridge.md │ │ │ ├── turbo_auth_redirect_handling.md │ │ │ ├── turbo_cable_namespace.md │ │ │ ├── turbo_cache_control.md │ │ │ ├── turbo_custom_validation.md │ │ │ ├── turbo_debugging_profiling.md │ │ │ ├── turbo_direct_upload_progress.md │ │ │ ├── turbo_fragment_caching.md │ │ │ ├── turbo_frame_lazy_load.md │ │ │ ├── turbo_low_level_api.md │ │ │ ├── turbo_native_mobile.md │ │ │ ├── turbo_optimistic_ui.md │ │ │ ├── turbo_stream_batch_updates.md │ │ │ └── turbo_stream_websocket_integration.md │ ├── stimulus │ │ ├── advanced │ │ │ ├── conditional_controller_activation.md │ │ │ ├── controller_mixins.md │ │ │ ├── dynamic_controller_composition.md │ │ │ ├── dynamic_outlets_binding.md │ │ │ ├── event_delegation_custom_actions.md │ │ │ ├── imperative_controller_api.md │ │ │ ├── lazy_loading_controllers.md │ │ │ ├── lifecycle_frame_callbacks.md │ │ │ ├── mutation_observer_adapter.md │ │ │ ├── nested_controllers_target_delegation.md │ │ │ ├── scss_class_map.md │ │ │ ├── stimulus_testing_helpers.md │ │ │ ├── turbo_streams_integration.md │ │ │ ├── typescript_decorator_integration.md │ │ │ └── value_change_observers.md │ │ ├── beginner │ │ │ ├── actions_events.md │ │ │ ├── connect_disconnect.md │ │ │ ├── connect_html_controller.md │ │ │ ├── create_controller.md │ │ │ ├── data_attributes_usage.md │ │ │ ├── debounce_events.md │ │ │ ├── debug_with_console.md │ │ │ ├── event_modifiers.md │ │ │ ├── initialize_method.md │ │ │ ├── install_stimulus.md │ │ │ ├── manipulating_classes.md │ │ │ ├── multiple_controllers.md │ │ │ ├── using_targets.md │ │ │ └── using_values.md │ │ ├── expert │ │ │ ├── composable_controllers.md │ │ │ ├── custom_target_decorators.md │ │ │ ├── dynamic_import.md │ │ │ ├── graphql_subscriptions.md │ │ │ ├── high_freq_events.md │ │ │ ├── lifecycle_hooks.md │ │ │ ├── modal_lazy_connect.md │ │ │ ├── nested_controller_comm.md │ │ │ ├── proxy_action_middleware.md │ │ │ ├── server_sent_events.md │ │ │ ├── state_machine.md │ │ │ ├── threejs_integration.md │ │ │ ├── value_types_map.md │ │ │ ├── weakmap_memory_opt.md │ │ │ └── webworker_integration.md │ │ └── middle │ │ │ ├── actioncable_integration.md │ │ │ ├── async_fetch_requests.md │ │ │ ├── cleanup_event_listeners.md │ │ │ ├── css_class_management.md │ │ │ ├── custom_actions_with_modifiers.md │ │ │ ├── debugging_with_inspector.md │ │ │ ├── dynamic_controller_loading.md │ │ │ ├── dynamic_values.md │ │ │ ├── event_throttling.md │ │ │ ├── lifecycle_callbacks.md │ │ │ ├── nested_targets.md │ │ │ ├── testing_controllers_with_jest.md │ │ │ ├── theming_with_data_controllers.md │ │ │ ├── turbo_frames_integration.md │ │ │ └── value_change_callbacks.md │ └── turbo │ │ ├── advanced │ │ ├── advanced_error_handling_streams.md │ │ ├── custom_form_submission_frame.md │ │ ├── custom_turbo_stream_actions.md │ │ ├── dynamic_module_loading_in_streams.md │ │ ├── intercept_modify_requests.md │ │ ├── lazy_load_turbo_frame.md │ │ ├── performance_debounce_turbo_calls.md │ │ ├── prefetching_links_turbo.md │ │ ├── preload_turbo_frames_on_hover.md │ │ ├── react_turbo_integration.md │ │ ├── secure_turbo_endpoints.md │ │ ├── turbo_caching_invalidation.md │ │ ├── turbo_stimulus_integration.md │ │ ├── turbo_stream_multiplexing.md │ │ └── websocket_turbo_streams.md │ │ ├── beginner │ │ ├── basic_turbo_frame.md │ │ ├── customize_turbo_visit.md │ │ ├── disable_turbo_on_link.md │ │ ├── enable_turbo_on_form.md │ │ ├── file_upload_with_turbo.md │ │ ├── install_turbo_js.md │ │ ├── manual_turbo_load.md │ │ ├── progress_indicator.md │ │ ├── simple_turbo_stream.md │ │ ├── turbo_before_fetch_request.md │ │ ├── turbo_cache_navigation.md │ │ ├── turbo_debug_mode.md │ │ ├── turbo_error_handling.md │ │ ├── turbo_event_listeners.md │ │ └── turbo_restore_scroll.md │ │ ├── expert │ │ ├── turbo_cache_optimization.md │ │ ├── turbo_frame_lazy_loading.md │ │ ├── turbo_frame_nested_navigation.md │ │ ├── turbo_management_multiple_frames.md │ │ ├── turbo_native_mobile_integration.md │ │ ├── turbo_prefetch_and_prerender.md │ │ ├── turbo_rendering_performance.md │ │ ├── turbo_security_csp.md │ │ ├── turbo_stream_broadcasting.md │ │ ├── turbo_stream_chunked_uploads.md │ │ ├── turbo_stream_client_hooks.md │ │ ├── turbo_stream_complex_selectors.md │ │ ├── turbo_stream_continuous_updates.md │ │ └── turbo_stream_streaming_response.md │ │ └── middle │ │ ├── turbo_abort_navigation.md │ │ ├── turbo_broadcast_streams.md │ │ ├── turbo_connect_stream_source.md │ │ ├── turbo_control_navigation.md │ │ ├── turbo_custom_progress_bar.md │ │ ├── turbo_custom_stream_action.md │ │ ├── turbo_debug_logging.md │ │ ├── turbo_form_intercept.md │ │ ├── turbo_frame_cache.md │ │ ├── turbo_frame_manipulation_js.md │ │ ├── turbo_inject_streams_js.md │ │ ├── turbo_lazy_frame_loading.md │ │ ├── turbo_link_prefetch.md │ │ ├── turbo_navigation_lifecycle.md │ │ └── turbo_stimulus_integration.md ├── nosql │ └── redis │ │ ├── advanced │ │ ├── redis_lua_scripting.md │ │ ├── redis_pipelining.md │ │ └── redis_streams.md │ │ ├── beginner │ │ ├── redis_basic_key_value.md │ │ ├── redis_connection_setup.md │ │ └── redis_list_usage.md │ │ ├── expert │ │ ├── redis_cluster_pipeline_optimization.md │ │ ├── redis_lua_atomic_operations.md │ │ └── redis_streams_event_sourcing.md │ │ └── middle │ │ ├── redis_api_rate_limiter.md │ │ ├── redis_cachestore_namespace.md │ │ └── redis_distributed_lock_redlock.md ├── rails │ ├── action_cable │ │ ├── advanced │ │ │ ├── chunked_streaming.md │ │ │ ├── graphql_subscriptions.md │ │ │ ├── jwt_channel_authentication.md │ │ │ ├── kafka_pubsub_adapter.md │ │ │ └── rate_limiting_backpressure.md │ │ ├── beginner │ │ │ ├── broadcast_messages.md │ │ │ ├── client_subscribe_js.md │ │ │ ├── generate_chat_channel.md │ │ │ ├── setup_action_cable.md │ │ │ └── stream_named_room.md │ │ ├── expert │ │ │ ├── fine_grained_authorization.md │ │ │ ├── jwt_authentication.md │ │ │ ├── load_testing_action_cable.md │ │ │ ├── metrics_instrumentation.md │ │ │ └── redis_scaling_namespace_isolation.md │ │ └── middle │ │ │ ├── cleanup_streams_on_unsubscribe.md │ │ │ ├── client_reconnection_resubscribe.md │ │ │ ├── dynamic_stream_identifiers.md │ │ │ ├── manual_broadcast_controller.md │ │ │ └── model_callback_streaming.md │ ├── active_record │ │ ├── advanced │ │ │ ├── asynchronous_querying_load_async.md │ │ │ ├── bulk_upsert_with_upsert_all.md │ │ │ ├── common_table_expressions_cte.md │ │ │ ├── custom_types_and_attributes_api.md │ │ │ ├── dynamic_parameterized_scopes.md │ │ │ ├── jsonb_querying_and_indexing.md │ │ │ ├── leveraging_window_functions.md │ │ │ ├── multi_database_sharding.md │ │ │ ├── optimistic_locking_for_concurrency.md │ │ │ └── using_arel_for_complex_joins.md │ │ ├── beginner │ │ │ ├── associations_basics.md │ │ │ ├── console_basics.md │ │ │ ├── create_records.md │ │ │ ├── delete_records.md │ │ │ ├── limit_and_offset.md │ │ │ ├── querying_with_where.md │ │ │ ├── reading_records.md │ │ │ ├── sorting_results.md │ │ │ ├── update_records.md │ │ │ └── validations_intro.md │ │ ├── expert │ │ │ ├── advanced_eager_loading.md │ │ │ ├── arel_complex_predicates.md │ │ │ ├── association_cache_bidi.md │ │ │ ├── bulk_upserts_insert_all.md │ │ │ ├── dynamic_scopes_metaprogramming.md │ │ │ ├── multi_tenancy_schema_adapter.md │ │ │ ├── partial_indexes_migrations.md │ │ │ ├── query_performance_notifications.md │ │ │ ├── sql_window_functions.md │ │ │ └── virtual_attributes_custom_types.md │ │ └── middle │ │ │ ├── arel_complex_queries.md │ │ │ ├── batch_processing.md │ │ │ ├── dynamic_scopes.md │ │ │ ├── eager_loading_includes.md │ │ │ ├── merge_relations.md │ │ │ ├── optimistic_locking.md │ │ │ ├── pluck_and_select_optimization.md │ │ │ ├── transactions_and_rollback.md │ │ │ ├── upsert_records.md │ │ │ └── use_counter_cache.md │ ├── active_record_associations │ │ ├── advanced │ │ │ ├── association_callbacks_for_cache_invalidation.md │ │ │ ├── association_extensions_module.md │ │ │ ├── deep_nested_attributes_with_reject_if.md │ │ │ ├── dynamic_associations_definition.md │ │ │ ├── habtm_to_has_many_through_with_extra.md │ │ │ ├── inverse_of_and_eager_preloading.md │ │ │ ├── multi_table_join_with_has_many_through.md │ │ │ ├── polymorphic_counter_cache_optimization.md │ │ │ ├── preloading_with_aggregates.md │ │ │ ├── self_referential_scopes.md │ │ │ ├── sti_associations_with_default_scopes.md │ │ │ └── through_association_with_conditions.md │ │ ├── beginner │ │ │ ├── belongs_to_association.md │ │ │ ├── build_associated_records.md │ │ │ ├── counter_cache_option.md │ │ │ ├── dependent_option.md │ │ │ ├── eager_loading_associations.md │ │ │ ├── has_and_belongs_to_many_association.md │ │ │ ├── has_many_association.md │ │ │ ├── has_many_through_association.md │ │ │ ├── has_one_association.md │ │ │ ├── inverse_of_option.md │ │ │ ├── nested_attributes.md │ │ │ └── validates_associated.md │ │ ├── expert │ │ │ ├── association_callbacks_usage.md │ │ │ ├── composite_primary_key_associations.md │ │ │ ├── custom_inverse_of_complex.md │ │ │ ├── custom_join_sql_through.md │ │ │ ├── dynamic_association_extensions.md │ │ │ ├── dynamic_build_in_callbacks.md │ │ │ ├── eager_load_override_select.md │ │ │ ├── multi_level_through_alias.md │ │ │ ├── polymorphic_counter_cache.md │ │ │ ├── scoped_polymorphic_association_conditions.md │ │ │ └── sti_hierarchical_associations.md │ │ └── middle │ │ │ ├── association_extensions.md │ │ │ ├── association_scopes.md │ │ │ ├── conditional_associations.md │ │ │ ├── counter_cache.md │ │ │ ├── custom_foreign_key_and_class_name.md │ │ │ ├── dependent_options.md │ │ │ ├── eager_loading_includes.md │ │ │ ├── has_many_through.md │ │ │ ├── inverse_of.md │ │ │ ├── polymorphic_association.md │ │ │ ├── touch_option.md │ │ │ └── validating_associations.md │ ├── active_record_callbacks │ │ ├── advanced │ │ │ ├── active_support_callbacks_api.md │ │ │ ├── around_transaction_callbacks.md │ │ │ ├── callback_performance_tips.md │ │ │ ├── concern_based_callbacks.md │ │ │ ├── conditional_callbacks_lambda.md │ │ │ ├── custom_callback_chains.md │ │ │ ├── explicit_callback_priority.md │ │ │ ├── introspect_reorder_callbacks.md │ │ │ ├── skip_callbacks_in_tests.md │ │ │ └── sti_inherited_callbacks.md │ │ ├── beginner │ │ │ ├── after_create_notification.md │ │ │ ├── after_destroy_cleanup.md │ │ │ ├── after_save_cache_clear.md │ │ │ ├── before_create_default_status.md │ │ │ ├── before_save_callback.md │ │ │ ├── before_validation_usage.md │ │ │ ├── conditional_callback_if_unless.md │ │ │ ├── multiple_callbacks_order.md │ │ │ ├── skip_callback_example.md │ │ │ └── using_blocks_in_callbacks.md │ │ ├── expert │ │ │ ├── abort_before_destroy.md │ │ │ ├── around_commit_transaction.md │ │ │ ├── async_callbacks.md │ │ │ ├── concerns_for_callbacks.md │ │ │ ├── conditional_chain_callbacks.md │ │ │ ├── dynamic_callback_definitions.md │ │ │ ├── memory_leak_callbacks.md │ │ │ ├── prepend_callbacks.md │ │ │ ├── rspec_callbacks_testing.md │ │ │ └── soft_delete_callbacks.md │ │ └── middle │ │ │ ├── around_save_transaction.md │ │ │ ├── batch_operations_callbacks.md │ │ │ ├── callback_ordering.md │ │ │ ├── callbacks_in_concerns.md │ │ │ ├── conditional_callbacks.md │ │ │ ├── default_values_validation.md │ │ │ ├── email_after_commit.md │ │ │ ├── normalize_attribute.md │ │ │ ├── skip_callbacks.md │ │ │ └── testing_callbacks.md │ ├── active_record_migrations │ │ ├── advanced │ │ │ ├── check_constraints.md │ │ │ ├── concurrent_index.md │ │ │ ├── conditional_migrations.md │ │ │ ├── custom_enum_types.md │ │ │ ├── default_sql_functions.md │ │ │ ├── foreign_key_cascade.md │ │ │ ├── materialized_views.md │ │ │ ├── partitioned_tables.md │ │ │ ├── reversible_data_migrations.md │ │ │ └── uuid_primary_keys.md │ │ ├── beginner │ │ │ ├── add_column.md │ │ │ ├── add_index.md │ │ │ ├── change_column_type.md │ │ │ ├── create_table.md │ │ │ ├── remove_column.md │ │ │ ├── remove_index.md │ │ │ ├── rename_column.md │ │ │ ├── reversible_migration.md │ │ │ ├── rollback.md │ │ │ └── timestamps.md │ │ ├── expert │ │ │ ├── batch_updates_with_find_in_batches.md │ │ │ ├── custom_migration_base_class.md │ │ │ ├── decouple_models_using_anonymous_class.md │ │ │ ├── deferrable_foreign_keys.md │ │ │ ├── disable_ddl_transaction_for_concurrent_index.md │ │ │ ├── multi_step_default_column_addition.md │ │ │ ├── parallel_migrations_via_rake.md │ │ │ ├── postgresql_table_partitioning.md │ │ │ └── reversible_data_backfill.md │ │ └── middle │ │ │ ├── add_column_default_not_null.md │ │ │ ├── add_index_options.md │ │ │ ├── batch_data_migration.md │ │ │ ├── change_column_with_data_migration.md │ │ │ ├── concurrent_index.md │ │ │ ├── conditional_migrations.md │ │ │ ├── raw_sql_execute.md │ │ │ ├── remove_columns_indexes.md │ │ │ ├── rename_column.md │ │ │ └── reversible_migrations.md │ ├── active_record_querying │ │ ├── advanced │ │ │ ├── array_and_hstore_query.md │ │ │ ├── bulk_update_with_case.md │ │ │ ├── common_table_expressions.md │ │ │ ├── computed_selects.md │ │ │ ├── dynamic_arel_queries.md │ │ │ ├── dynamic_filter_scopes.md │ │ │ ├── jsonb_querying.md │ │ │ ├── lateral_joins.md │ │ │ ├── polymorphic_joins.md │ │ │ ├── union_relations.md │ │ │ ├── upsert_all_conflicts.md │ │ │ └── window_functions.md │ │ ├── beginner │ │ │ ├── basic_all_where.md │ │ │ ├── chaining_queries.md │ │ │ ├── exists_queries.md │ │ │ ├── find_or_create_by.md │ │ │ ├── find_vs_find_by.md │ │ │ ├── first_last.md │ │ │ ├── limit_usage.md │ │ │ ├── offset_usage.md │ │ │ ├── order_results.md │ │ │ ├── pluck_usage.md │ │ │ ├── select_columns.md │ │ │ └── where_not.md │ │ ├── expert │ │ │ ├── batch_processing_find_each.md │ │ │ ├── bulk_upserts.md │ │ │ ├── ctes_with_active_record.md │ │ │ ├── eager_loading_nested_polymorphic.md │ │ │ ├── explain_analyze_inspection.md │ │ │ ├── index_hints_with_raw_sql.md │ │ │ ├── jsonb_postgresql_queries.md │ │ │ ├── lateral_joins.md │ │ │ ├── optimistic_locking_queries.md │ │ │ ├── prepared_statements.md │ │ │ ├── recursive_cte_for_hierarchies.md │ │ │ └── window_functions.md │ │ └── middle │ │ │ ├── batch_processing.md │ │ │ ├── distinct_select.md │ │ │ ├── exists_query.md │ │ │ ├── from_subquery.md │ │ │ ├── includes_conditions.md │ │ │ ├── joins_conditions.md │ │ │ ├── or_queries.md │ │ │ ├── pluck_usage.md │ │ │ ├── reorder_results.md │ │ │ ├── unscope_conditions.md │ │ │ ├── where_not_usage.md │ │ │ └── where_range_query.md │ ├── active_record_validations │ │ ├── advanced │ │ │ ├── conditional_validation_lambda.md │ │ │ ├── custom_validation_contexts.md │ │ │ ├── custom_validator_class.md │ │ │ ├── database_uniqueness_enforcement.md │ │ │ ├── dynamic_validations.md │ │ │ ├── i18n_error_messages.md │ │ │ ├── json_schema_validation.md │ │ │ ├── multi_attribute_validation.md │ │ │ ├── nested_association_validations.md │ │ │ └── strict_validations.md │ │ ├── beginner │ │ │ ├── associated_records_validation.md │ │ │ ├── conditional_validation.md │ │ │ ├── custom_validation_method.md │ │ │ ├── format_validation.md │ │ │ ├── grouping_with_options.md │ │ │ ├── inclusion_exclusion_validation.md │ │ │ ├── length_validation.md │ │ │ ├── numericality_validation.md │ │ │ ├── presence_validation.md │ │ │ └── uniqueness_validation.md │ │ ├── expert │ │ │ ├── advanced_uniqueness_scopes.md │ │ │ ├── complex_association_validations.md │ │ │ ├── composable_lambda_validators.md │ │ │ ├── contextual_validations.md │ │ │ ├── custom_validator_classes.md │ │ │ ├── db_constraints_parallel.md │ │ │ ├── defer_validations_before_validation.md │ │ │ ├── dynamic_conditional_validations.md │ │ │ ├── json_schema_validation.md │ │ │ └── optimize_validation_performance.md │ │ └── middle │ │ │ ├── associated_models_validation.md │ │ │ ├── conditional_validations.md │ │ │ ├── custom_validator_method.md │ │ │ ├── grouped_validations_with_options.md │ │ │ ├── nested_attributes_presence.md │ │ │ ├── numericality_options.md │ │ │ ├── regex_format_validation.md │ │ │ ├── uniqueness_scope.md │ │ │ ├── validates_each_usage.md │ │ │ └── validation_contexts.md │ ├── active_storage │ │ ├── advanced │ │ │ ├── custom_blob_analysis.md │ │ │ ├── custom_variant_processor.md │ │ │ ├── direct_upload_throttling.md │ │ │ ├── stream_large_files.md │ │ │ └── webp_global_variant.md │ │ ├── beginner │ │ │ ├── active_storage_attach_files.md │ │ │ ├── active_storage_delete_purge.md │ │ │ ├── active_storage_display_image.md │ │ │ ├── active_storage_setup.md │ │ │ └── active_storage_validate.md │ │ ├── expert │ │ │ ├── async_variant_generation.md │ │ │ ├── cdn_signed_url_with_custom_headers.md │ │ │ ├── custom_pdf_page_count_analyzer.md │ │ │ ├── mirror_service_fallback.md │ │ │ └── resumable_multipart_upload.md │ │ └── middle │ │ │ ├── direct_uploads_with_javascript.md │ │ │ ├── generating_and_displaying_variants.md │ │ │ ├── purging_unused_blobs_and_attachments.md │ │ │ ├── switching_active_storage_services.md │ │ │ └── validating_active_storage_attachments.md │ ├── active_support │ │ ├── advanced │ │ │ ├── advanced_cache_fetch_multi.md │ │ │ ├── concern_modularization.md │ │ │ ├── custom_inflections.md │ │ │ ├── deprecation_management.md │ │ │ ├── json_encoder_customization.md │ │ │ ├── nested_hash_transformations.md │ │ │ ├── notifications_instrumentation.md │ │ │ ├── per_thread_registry.md │ │ │ ├── reloader_hooks.md │ │ │ └── tagged_logging.md │ │ ├── beginner │ │ │ ├── array_accessors.md │ │ │ ├── current_time_date.md │ │ │ ├── deep_merge_hash.md │ │ │ ├── delegate_method.md │ │ │ ├── indifferent_access.md │ │ │ ├── numeric_time_helpers.md │ │ │ ├── presence_methods.md │ │ │ ├── string_inflections.md │ │ │ ├── string_inquiry.md │ │ │ └── try_method.md │ │ ├── expert │ │ │ ├── advanced_hashdeep_merge.md │ │ │ ├── cache_key_generation_extensibility.md │ │ │ ├── callbacks_building_custom_chains.md │ │ │ ├── concern_dependency_injection.md │ │ │ ├── custom_durations_with_precision.md │ │ │ ├── custom_inflections.md │ │ │ ├── json_serialization_custom_encoder.md │ │ │ ├── notifications_custom_instrumentation.md │ │ │ ├── on_load_hooks_for_engines.md │ │ │ └── tagged_logging_contexts.md │ │ └── middle │ │ │ ├── active_support_concern_modules.md │ │ │ ├── deep_merge_nested_hashes.md │ │ │ ├── enumerable_in_groups_of.md │ │ │ ├── hash_with_indifferent_access.md │ │ │ ├── notifications_instrumentation.md │ │ │ ├── numeric_time_extensions.md │ │ │ ├── presence_and_blank_helpers.md │ │ │ ├── safe_constantize_for_dynamic_loading.md │ │ │ ├── string_inflection_helpers.md │ │ │ └── use_time_current_for_timezone.md │ ├── api_mode │ │ ├── advanced │ │ │ ├── advanced_jsonapi_serializer.md │ │ │ ├── custom_rack_middleware_injection.md │ │ │ ├── header_based_api_versioning.md │ │ │ └── http_caching_etags_conditional_get.md │ │ ├── beginner │ │ │ ├── configure_cors.md │ │ │ ├── create_api_app.md │ │ │ ├── generate_resource_controller.md │ │ │ └── use_strong_parameters.md │ │ ├── expert │ │ │ ├── accept_header_api_versioning.md │ │ │ ├── custom_rate_limiting_middleware.md │ │ │ ├── fast_json_serialization_with_oj.md │ │ │ └── streaming_json_responses.md │ │ └── middle │ │ │ ├── api_error_handling.md │ │ │ ├── api_generators.md │ │ │ ├── api_versioning.md │ │ │ └── json_serialization.md │ ├── assets │ │ ├── advanced │ │ │ ├── asset_caching_strategies.md │ │ │ ├── custom_asset_precompilation.md │ │ │ ├── dynamic_asset_host.md │ │ │ ├── sprockets_custom_processor.md │ │ │ └── webpacker_custom_config.md │ │ ├── beginner │ │ │ ├── asset_pipeline_basics.md │ │ │ ├── cache_busting_versioning.md │ │ │ ├── organize_images_fonts.md │ │ │ ├── precompile_assets.md │ │ │ └── sprockets_helpers.md │ │ ├── expert │ │ │ ├── custom_sprockets_processor.md │ │ │ ├── dynamic_asset_host_fallback.md │ │ │ ├── http_cache_invalidation.md │ │ │ ├── inline_critical_css.md │ │ │ └── webpack_bundle_splitting.md │ │ └── middle │ │ │ ├── configure_asset_host.md │ │ │ ├── custom_precompile_assets.md │ │ │ ├── sass_partials_and_variables.md │ │ │ ├── sprockets_directives_load_order.md │ │ │ └── use_webpacker_asset_pack_tag.md │ ├── authentication_and_authorization │ │ ├── advanced │ │ │ ├── custom_devise_warden_strategy.md │ │ │ ├── jwt_refresh_token_rotation.md │ │ │ ├── multi_tenant_policy_scoping.md │ │ │ └── pundit_policy_caching.md │ │ ├── beginner │ │ │ ├── bcrypt_user_auth.md │ │ │ ├── before_action_authentication.md │ │ │ ├── sessions_controller_setup.md │ │ │ └── simple_role_authorization.md │ │ ├── expert │ │ │ ├── cancancan_ability_caching_preload.md │ │ │ ├── dynamic_pundit_scope_with_rls.md │ │ │ ├── graphql_jwt_pundit_integration.md │ │ │ └── mfa_custom_warden_strategy.md │ │ └── middle │ │ │ ├── customize_redirects.md │ │ │ ├── policy_scope_index.md │ │ │ ├── role_based_policies.md │ │ │ └── token_authentication.md │ ├── background_jobs │ │ ├── advanced │ │ │ ├── idempotent_jobs.md │ │ │ ├── job_metrics.md │ │ │ ├── rate_limiting_middleware.md │ │ │ ├── sidekiq_batches.md │ │ │ └── transactional_enqueue.md │ │ ├── beginner │ │ │ ├── create_simple_job.md │ │ │ ├── enqueue_with_perform_later.md │ │ │ ├── install_sidekiq.md │ │ │ ├── monitor_sidekiq_web.md │ │ │ └── pass_arguments_to_job.md │ │ ├── expert │ │ │ ├── custom_retry_strategy.md │ │ │ ├── job_orchestration.md │ │ │ ├── observability_instrumentation.md │ │ │ ├── sidekiq_batch_callbacks.md │ │ │ └── unique_jobs_idempotency.md │ │ └── middle │ │ │ ├── configure_retry_and_discard.md │ │ │ ├── integrate_active_job_sidekiq.md │ │ │ ├── schedule_jobs_with_active_job.md │ │ │ ├── serialize_arguments_safely.md │ │ │ └── test_background_jobs_in_rspec.md │ ├── benchmarking │ │ ├── advanced │ │ │ ├── benchmark_ips_gem.md │ │ │ ├── gc_profiler_memory.md │ │ │ ├── micro_benchmark_bmbm.md │ │ │ ├── rack_mini_profiler_programmatic.md │ │ │ └── sql_query_notifications.md │ │ ├── beginner │ │ │ ├── benchmark_bm.md │ │ │ ├── benchmark_measure.md │ │ │ ├── benchmark_realtime.md │ │ │ ├── console_benchmark.md │ │ │ └── rails_logger_benchmark.md │ │ ├── expert │ │ │ ├── active_support_notifications_metrics.md │ │ │ ├── concurrent_ruby_benchmark.md │ │ │ ├── low_level_benchmarking.md │ │ │ ├── memory_allocation_tracking.md │ │ │ └── sql_query_profiling.md │ │ └── middle │ │ │ ├── activerecord_n_plus_one_benchmark.md │ │ │ ├── benchmark_ips_usage.md │ │ │ ├── console_benchmark_measure.md │ │ │ ├── rake_task_benchmark.md │ │ │ └── view_rendering_benchmark.md │ ├── caching │ │ ├── advanced │ │ │ ├── custom_cache_versioning.md │ │ │ ├── dynamic_fragment_caching.md │ │ │ ├── http_conditional_caching.md │ │ │ ├── low_level_race_condition_ttl.md │ │ │ ├── multi_tier_caching.md │ │ │ └── russian_doll_caching.md │ │ ├── beginner │ │ │ ├── cache_expiration.md │ │ │ ├── conditional_fragment_caching.md │ │ │ ├── configure_cache_store.md │ │ │ ├── low_level_cache_fetch.md │ │ │ ├── russian_doll_caching.md │ │ │ └── view_fragment_caching.md │ │ └── expert │ │ │ ├── fetch_multi_batch_reads.md │ │ │ ├── http_conditional_get.md │ │ │ ├── localcache_with_remote_store.md │ │ │ ├── race_condition_ttl.md │ │ │ ├── raw_store_bypass_serialization.md │ │ │ └── russian_doll_cache_versioning.md │ ├── command_line │ │ ├── advanced │ │ │ ├── customizing_cli_defaults_with_railsrc.md │ │ │ └── one_off_scripts_with_runner.md │ │ ├── beginner │ │ │ ├── create_new_app.md │ │ │ └── run_local_server.md │ │ ├── expert │ │ │ ├── custom-rails-cli-commands-railtie.md │ │ │ └── spring-custom-commands.md │ │ └── middle │ │ │ ├── filtering_rails_routes.md │ │ │ └── rails_runner_scripts.md │ ├── configuration │ │ ├── advanced │ │ │ ├── conditional_middleware_configuration.md │ │ │ ├── config_for_nested_yaml.md │ │ │ └── dynamic_custom_config_x.md │ │ ├── beginner │ │ │ ├── config_time_zone.md │ │ │ ├── configure_locale.md │ │ │ └── skip_generator_files.md │ │ ├── expert │ │ │ ├── dynamic_config_for.md │ │ │ ├── multi_env_encrypted_credentials.md │ │ │ └── railtie_initialization_hooks.md │ │ └── middle │ │ │ ├── custom_app_config.md │ │ │ ├── environment_specific_config.md │ │ │ └── load_yaml_config.md │ ├── console │ │ ├── advanced │ │ │ ├── console_custom_helpers.md │ │ │ └── console_performance_profiling.md │ │ ├── beginner │ │ │ ├── query_with_console.md │ │ │ └── reload_rails_console.md │ │ ├── expert │ │ │ ├── benchmark_explain_active_record.md │ │ │ └── custom_pry_rc_for_rails_console.md │ │ └── middle │ │ │ ├── enhanced_output_with_awesomeprint.md │ │ │ └── quick_reload_application_code.md │ ├── controllers │ │ ├── advanced │ │ │ ├── actioncable_integration.md │ │ │ ├── bulk_insert_update.md │ │ │ ├── controller_concerns_draggable.md │ │ │ ├── controller_testing_shared_examples.md │ │ │ ├── jwt_authentication_in_controllers.md │ │ │ ├── n_plus_one_query_optimization.md │ │ │ ├── rate_limiting_actions.md │ │ │ ├── rescue_from_graceful_errors.md │ │ │ ├── russian_doll_caching.md │ │ │ ├── streaming_json_responses.md │ │ │ ├── strong_params_nested_attributes.md │ │ │ └── versioned_api_namespaces.md │ │ ├── beginner │ │ │ ├── accessing_params.md │ │ │ ├── basic_controller_setup.md │ │ │ ├── defining_restful_actions.md │ │ │ ├── flash_messages.md │ │ │ ├── handling_not_found_errors.md │ │ │ ├── redirecting_after_actions.md │ │ │ ├── rendering_json_responses.md │ │ │ ├── rendering_templates.md │ │ │ ├── responding_to_formats.md │ │ │ ├── using_before_action_filters.md │ │ │ ├── using_partials_to_dry_views.md │ │ │ └── using_strong_parameters.md │ │ ├── expert │ │ │ ├── action_cable_integration.md │ │ │ ├── advanced_content_negotiation.md │ │ │ ├── controller_concerns_adv.md │ │ │ ├── dependency_injection_service_objects.md │ │ │ ├── dynamic_action_metaprogramming.md │ │ │ ├── http2_server_push.md │ │ │ ├── http_caching_conditional_get.md │ │ │ ├── instrumentation_notifications_controller.md │ │ │ ├── rescue_from_custom_exceptions.md │ │ │ ├── streaming_action_controller_live.md │ │ │ ├── strong_params_dynamic_filters.md │ │ │ └── threading_parallel_requests.md │ │ └── middle │ │ │ ├── action_caching.md │ │ │ ├── before_action_filters.md │ │ │ ├── controller_concerns.md │ │ │ ├── default_url_options.md │ │ │ ├── namespaced_api_controller.md │ │ │ ├── nested_resources_management.md │ │ │ ├── redirect_back_fallback.md │ │ │ ├── rescue_from_errors.md │ │ │ ├── respond_to_formats.md │ │ │ ├── service_objects.md │ │ │ ├── streaming_responses.md │ │ │ └── strong_parameters.md │ ├── debugging │ │ ├── advanced │ │ │ ├── active_support_notifications.md │ │ │ ├── derailed_benchmarks_setup.md │ │ │ ├── memory_profiler_usage.md │ │ │ ├── pry_remote_session.md │ │ │ ├── rack_mini_profiler_production.md │ │ │ └── ruby_tracepoint_tracing.md │ │ ├── beginner │ │ │ ├── binding_irb.md │ │ │ ├── byebug_basics.md │ │ │ ├── logging_debug.md │ │ │ ├── puts_and_inspect.md │ │ │ ├── rails_console.md │ │ │ └── view_dev_logs.md │ │ ├── expert │ │ │ ├── binding_of_caller_usage.md │ │ │ ├── byebug_advanced_mastery.md │ │ │ ├── custom_exception_pry.md │ │ │ ├── notifications_inspector.md │ │ │ ├── remote_pry_docker_debug.md │ │ │ └── tracepoint_active_record_sql.md │ │ └── middle │ │ │ ├── active_record_explain_queries.md │ │ │ ├── byebug_step_through.md │ │ │ ├── conditional_breakpoints.md │ │ │ ├── pry_rails_inspection.md │ │ │ ├── tagged_logging.md │ │ │ └── web_console_error_pages.md │ ├── deployment │ │ ├── advanced │ │ │ ├── capistrano_parallel_precompile.md │ │ │ ├── k8s_canary_deployment.md │ │ │ └── puma_phased_restarts.md │ │ ├── beginner │ │ │ ├── basic_capistrano_setup.md │ │ │ ├── deploy_to_heroku.md │ │ │ └── dockerize_rails_app.md │ │ ├── expert │ │ │ ├── canary_deployments_k8s_flagger.md │ │ │ ├── docker_cache_optimization.md │ │ │ └── zero_downtime_db_migrations.md │ │ └── middle │ │ │ ├── capistrano_custom_tasks.md │ │ │ ├── local_asset_precompile.md │ │ │ └── production_credentials_usage.md │ ├── encryption │ │ ├── advanced │ │ │ ├── custom_aws_kms_key_provider.md │ │ │ ├── deterministic_encryption_search.md │ │ │ └── rotate_encryption_keys.md │ │ ├── beginner │ │ │ ├── active_record_encryption.md │ │ │ ├── message_encryptor_basics.md │ │ │ └── rails_credentials.md │ │ ├── expert │ │ │ ├── active_record_attribute_encryption.md │ │ │ ├── authenticated_encryption_with_aad.md │ │ │ └── rotate_encryption_keys.md │ │ └── middle │ │ │ ├── active_record_encryption_config.md │ │ │ ├── custom_message_encryptor.md │ │ │ └── migrate_existing_to_encrypted.md │ ├── engines_and_plugins │ │ ├── advanced │ │ │ ├── asset_pipeline_and_migrations_railtie.md │ │ │ ├── custom_generator_extension.md │ │ │ ├── dynamic_engine_mounting.md │ │ │ └── isolate_namespace_engine_config.md │ │ ├── beginner │ │ │ ├── engine_basic_setup.md │ │ │ ├── engine_models_migrations.md │ │ │ ├── engine_mounting.md │ │ │ └── plugin_basic_setup.md │ │ ├── expert │ │ │ ├── custom_plugin_with_railtie.md │ │ │ ├── isolate_namespace_advanced.md │ │ │ ├── optimize_engine_loading.md │ │ │ └── railtie_middleware_hooks.md │ │ └── middle │ │ │ ├── configuring_engine_initializers.md │ │ │ ├── mounting_engines_routes.md │ │ │ ├── overriding_engine_views.md │ │ │ └── using_plugin_rails_generators.md │ ├── environments │ │ ├── advanced │ │ │ ├── config_for_env_settings.md │ │ │ └── multi_env_credentials.md │ │ ├── beginner │ │ │ ├── checking_and_setting_rails_environment.md │ │ │ └── running_rails_in_different_environments.md │ │ ├── expert │ │ │ ├── dynamic_environment_switching_middleware.md │ │ │ └── environment_layering_with_common.md │ │ └── middle │ │ │ ├── environment_file_configuration.md │ │ │ └── rails_env_conditional_logic.md │ ├── forms │ │ ├── advanced │ │ │ ├── accessibility_enhancements_with_aria.md │ │ │ ├── ajax_remote_form_submission.md │ │ │ ├── cache_form_partials_for_performance.md │ │ │ ├── conditional_fields_with_stimulus.md │ │ │ ├── custom_form_builder_shared_helpers.md │ │ │ ├── direct_s3_uploads_with_active_storage.md │ │ │ ├── dynamic_nested_fields_with_cocoon.md │ │ │ ├── form_object_with_reform.md │ │ │ └── multi_step_form_wizard.md │ │ ├── beginner │ │ │ ├── checkbox_and_radio.md │ │ │ ├── date_time_select.md │ │ │ ├── display_error_messages.md │ │ │ ├── file_upload_field.md │ │ │ ├── form_tag_basics.md │ │ │ ├── form_with_model.md │ │ │ ├── nested_fields_for.md │ │ │ ├── password_field_basics.md │ │ │ ├── select_dropdown.md │ │ │ └── text_field_and_label.md │ │ ├── expert │ │ │ ├── action_text_integration.md │ │ │ ├── advanced_strong_parameters.md │ │ │ ├── custom_form_builder.md │ │ │ ├── dynamic_nested_forms.md │ │ │ ├── form_object_pattern.md │ │ │ ├── i18n_and_accessibility.md │ │ │ ├── polymorphic_form_inputs.md │ │ │ ├── real_time_validations.md │ │ │ └── select_options_caching.md │ │ └── middle │ │ │ ├── checkbox_array_input.md │ │ │ ├── collection_select_association.md │ │ │ ├── csrf_token_auto.md │ │ │ ├── custom_error_highlighting.md │ │ │ ├── custom_form_builder.md │ │ │ ├── custom_input_options.md │ │ │ ├── file_field_active_storage.md │ │ │ ├── form_with_remote_submissions.md │ │ │ ├── i18n_labels.md │ │ │ └── nested_fields_for_models.md │ ├── helpers │ │ ├── advanced │ │ │ ├── caching_heavy_helper_computations.md │ │ │ ├── dynamic_content_tag_with_blocks.md │ │ │ ├── dynamic_partial_resolution_with_lookup_context.md │ │ │ ├── extending_javascript_helper_for_i18n.md │ │ │ ├── injecting_helpers_into_mailers.md │ │ │ └── render_partials_from_helpers.md │ │ ├── beginner │ │ │ ├── rails_helper_content_tag.md │ │ │ ├── rails_helper_form_with.md │ │ │ ├── rails_helper_image_tag.md │ │ │ ├── rails_helper_link_to.md │ │ │ ├── rails_helper_number_to_currency.md │ │ │ └── rails_helper_simple_format.md │ │ ├── expert │ │ │ ├── dsl_fluent_helpers.md │ │ │ ├── include_helpers_in_mailers.md │ │ │ ├── memoization_with_rails_cache.md │ │ │ ├── metaprogramming_method_missing_helpers.md │ │ │ ├── organizing_helpers_with_concern.md │ │ │ └── testing_helpers_with_actionview.md │ │ └── middle │ │ │ ├── capture_blocks.md │ │ │ ├── content_tag_usage.md │ │ │ ├── custom_helper_modules.md │ │ │ ├── link_to_dynamic_routes.md │ │ │ ├── number_helpers_usage.md │ │ │ └── tag_helper_void_elements.md │ ├── i18n │ │ ├── advanced │ │ │ ├── advanced_pluralization.md │ │ │ ├── custom_db_backend.md │ │ │ ├── html_safe_interpolation.md │ │ │ ├── lazy_mailer_lookup.md │ │ │ └── proc_based_default_fallback.md │ │ ├── beginner │ │ │ ├── interpolation_in_translations.md │ │ │ ├── organize_locale_files.md │ │ │ ├── pluralization_examples.md │ │ │ ├── setup_default_locale.md │ │ │ └── translate_in_views.md │ │ ├── expert │ │ │ ├── caching_translations_memcache.md │ │ │ ├── complex_pluralization_rules.md │ │ │ ├── custom_active_record_backend.md │ │ │ ├── namespace_lazy_lookups.md │ │ │ └── thread_safe_locale_switching.md │ │ └── middle │ │ │ ├── datetime_localization.md │ │ │ ├── default_translation_options.md │ │ │ ├── locale_fallbacks.md │ │ │ ├── pluralization_with_count.md │ │ │ └── scoped_view_translations.md │ ├── layouts │ │ ├── advanced │ │ │ ├── custom_lookup_context_for_layout.md │ │ │ ├── dynamic_layout_selection.md │ │ │ ├── engine_isolated_layouts.md │ │ │ ├── layout_variants_by_format.md │ │ │ └── nested_layouts_with_content_for.md │ │ ├── beginner │ │ │ ├── application_layout.md │ │ │ ├── custom_controller_layout.md │ │ │ ├── layout_inheritance.md │ │ │ ├── nested_layouts_partials.md │ │ │ └── yield_content_for.md │ │ ├── expert │ │ │ ├── advanced_content_for_yields.md │ │ │ ├── dynamic_layout_selection.md │ │ │ ├── layout_fragment_caching.md │ │ │ ├── nested_layout_inheritance.md │ │ │ └── view_component_layouts.md │ │ └── middle │ │ │ ├── asset_helpers_in_layout.md.md │ │ │ ├── content_for_and_yield.md.md │ │ │ ├── dynamic_controller_layout.md.md │ │ │ ├── nested_layouts.md.md │ │ │ └── partial_locals_in_layout.md.md │ ├── logging │ │ ├── advanced │ │ │ ├── asynchronous_logging.md │ │ │ ├── custom_log_formatter.md │ │ │ ├── lograge_logstash_integration.md │ │ │ ├── sql_query_context_logging.md │ │ │ ├── structured_json_logging.md │ │ │ └── tagged_logging_context.md │ │ ├── beginner │ │ │ ├── custom_log_formatter.md │ │ │ ├── default_logger_usage.md │ │ │ ├── logging_in_controllers.md │ │ │ ├── logging_in_models.md │ │ │ ├── setting_log_levels.md │ │ │ └── tagged_logging.md │ │ ├── expert │ │ │ ├── async_buffered_logging.md │ │ │ ├── custom_active_support_logsubscriber.md │ │ │ ├── enhance_lograge_custom_payloads.md │ │ │ ├── implement_correlation_id_tracing.md │ │ │ ├── instrument_performance_with_notifications.md │ │ │ └── structure_json_logs_semantic.md │ │ └── middle │ │ │ ├── active_record_sql_logging.md │ │ │ ├── broadcast_to_multiple_loggers.md │ │ │ ├── custom_log_formatter.md │ │ │ ├── environment_log_levels.md │ │ │ ├── silence_logging.md │ │ │ └── tagged_logging.md │ ├── mailers │ │ ├── advanced │ │ │ ├── async_mail_delivery.md │ │ │ ├── custom_delivery_method.md │ │ │ ├── dynamic_subjects_i18n.md │ │ │ ├── instrumentation_monitoring.md │ │ │ ├── interceptors_observers.md │ │ │ ├── mailer_previews_locales.md │ │ │ ├── parameterized_mailers.md │ │ │ └── streaming_attachments.md │ │ ├── beginner │ │ │ ├── background_jobs_emails.md │ │ │ ├── default_options.md │ │ │ ├── generating_mailer.md │ │ │ ├── mailer_methods_templates.md │ │ │ ├── preview_emails.md │ │ │ ├── send_emails_controllers.md │ │ │ ├── smtp_configuration.md │ │ │ └── test_mailers.md │ │ ├── expert │ │ │ ├── custom_delivery_method.md │ │ │ ├── custom_mailer_preview.md │ │ │ ├── dynamic_multipart_variants.md │ │ │ ├── instrumentation_and_metrics.md │ │ │ ├── mail_interceptors_observers.md │ │ │ ├── mailer_concerns_mixins.md │ │ │ ├── prioritized_async_delivery.md │ │ │ └── streaming_attachments_s3.md │ │ └── middle │ │ │ ├── attachments_inline_images.md │ │ │ ├── background_delivery_active_job.md │ │ │ ├── customizing_layouts.md │ │ │ ├── default_url_options.md │ │ │ ├── localizing_content.md │ │ │ ├── mailer_previews.md │ │ │ ├── testing_mailers.md │ │ │ └── using_helpers_in_mailers.md │ ├── middleware │ │ ├── advanced │ │ │ ├── conditional_middleware_insertion.md │ │ │ ├── custom_logging_middleware.md │ │ │ ├── middleware_stack_inspection.md │ │ │ └── response_timing_middleware.md │ │ ├── beginner │ │ │ ├── cors_middleware.md │ │ │ ├── custom_middleware_setup.md │ │ │ ├── insert_middleware_position.md │ │ │ └── request_logging_middleware.md │ │ ├── expert │ │ │ ├── conditional_asset_pipeline_forking.md │ │ │ ├── dynamic_request_throttling_middleware.md │ │ │ ├── rotating_security_header_injector.md │ │ │ └── stale_while_revalidate_cache_middleware.md │ │ └── middle │ │ │ ├── conditional_middleware_loading.md │ │ │ ├── custom_request_logger_middleware.md │ │ │ ├── middleware_insertion_points.md │ │ │ └── testing_middleware_integration.md │ ├── models │ │ ├── advanced │ │ │ ├── bulk_upsert_with_upsert_all.md │ │ │ ├── composite_primary_keys_usage.md │ │ │ ├── custom_attribute_api_types.md │ │ │ ├── db_check_constraints_for_validation.md │ │ │ ├── model_concerns_for_modular_logic.md │ │ │ ├── optimistic_locking_advanced.md │ │ │ ├── parameterized_scopes_for_reusability.md │ │ │ ├── postgres_enum_with_attribute_api.md │ │ │ └── using_arel_for_complex_queries.md │ │ ├── beginner │ │ │ ├── model_associations.md │ │ │ ├── model_callbacks.md │ │ │ ├── model_constants.md │ │ │ ├── model_custom_queries.md │ │ │ ├── model_default_values.md │ │ │ ├── model_delegation.md │ │ │ ├── model_enums.md │ │ │ ├── model_scopes.md │ │ │ ├── model_testing.md │ │ │ └── model_validations.md │ │ ├── expert │ │ │ ├── active_record_encryption.md │ │ │ ├── after_initialize_caching.md │ │ │ ├── arel_complex_subquery.md │ │ │ ├── composite_primary_keys.md │ │ │ ├── custom_dirty_tracking.md │ │ │ ├── custom_optimistic_locking.md │ │ │ ├── dynamic_scopes_metaprogramming.md │ │ │ ├── json_column_virtual_attributes.md │ │ │ ├── partitioned_table_models.md │ │ │ └── sti_abstract_base.md │ │ └── middle │ │ │ ├── rails_models_association_counter_cache.md │ │ │ ├── rails_models_callbacks_best_practices.md │ │ │ ├── rails_models_custom_validations.md │ │ │ ├── rails_models_default_scope.md │ │ │ ├── rails_models_dirty_tracking.md │ │ │ ├── rails_models_enums.md │ │ │ ├── rails_models_polymorphic_association.md │ │ │ ├── rails_models_scopes.md │ │ │ ├── rails_models_serialization.md │ │ │ └── rails_models_transactions.md │ ├── partials │ │ ├── advanced │ │ │ ├── collection_partial_caching.md.md │ │ │ ├── dynamic_view_path_overrides.md.md │ │ │ ├── partial_with_layout.md.md │ │ │ └── variant_specific_partials.md.md │ │ ├── beginner │ │ │ ├── basic_partial_rendering.md │ │ │ ├── partial_naming_conventions.md │ │ │ ├── passing_local_variables.md │ │ │ └── rendering_collections.md │ │ ├── expert │ │ │ ├── dynamic_partial_resolution.md │ │ │ ├── namespaced_partial_overrides.md │ │ │ ├── partial_with_layout.md │ │ │ └── russian_doll_caching_partials.md │ │ └── middle │ │ │ ├── caching_partials.md │ │ │ ├── nested_partials.md │ │ │ ├── passing_locals_to_partials.md │ │ │ └── rendering_collections.md │ ├── performance │ │ ├── advanced │ │ │ ├── bulk_upserts_with_upsert_all.md │ │ │ ├── cpu_profiling_with_stackprof.md │ │ │ ├── custom_polymorphic_preloader.md │ │ │ ├── db_connection_pool_tuning.md │ │ │ ├── http_caching_with_etag.md │ │ │ ├── multiple_db_read_routing.md │ │ │ ├── preload_for_callbacks.md │ │ │ ├── ruby_gc_tunables.md │ │ │ ├── sql_query_commenting.md │ │ │ └── streaming_large_responses.md │ │ ├── beginner │ │ │ ├── add_database_indexes.md │ │ │ ├── counter_cache_usage.md │ │ │ ├── eager_loading_includes.md │ │ │ ├── find_each_batch_processing.md │ │ │ ├── fragment_caching_views.md │ │ │ ├── pagination_with_kaminari.md │ │ │ ├── pluck_instead_of_select.md │ │ │ ├── precompile_assets_production.md │ │ │ ├── rack_mini_profiler_setup.md │ │ │ └── russian_doll_caching.md │ │ ├── expert │ │ │ ├── active_support_instrumentation.md │ │ │ ├── async_query_loading.md │ │ │ ├── batch_preloading_scopes.md │ │ │ ├── fast_jsonapi_serialization.md │ │ │ ├── gc_jemalloc_tuning.md │ │ │ ├── middleware_stack_refinement.md │ │ │ ├── partial_expression_indexes.md │ │ │ ├── puma_connection_pool_tuning.md │ │ │ ├── streaming_live_responses.md │ │ │ └── two_level_caching.md │ │ └── middle │ │ │ ├── batch_processing_with_find_each.md │ │ │ ├── bulk_insertions_with_insert_all.md │ │ │ ├── eager_loading_associations.md │ │ │ ├── integrating_bullet_gem.md │ │ │ ├── leveraging_rack_mini_profiler.md │ │ │ ├── low_level_caching_with_cache_fetch.md │ │ │ ├── optimizing_sql_indexes.md │ │ │ ├── selecting_specific_columns.md │ │ │ ├── using_counter_cache.md │ │ │ └── using_pluck_for_arrays.md │ ├── routing │ │ ├── advanced │ │ │ ├── api_versioning.md │ │ │ ├── globbing_routes.md │ │ │ ├── route_constraints.md │ │ │ ├── routing_concerns.md │ │ │ └── shallow_routing.md │ │ ├── beginner │ │ │ ├── inspect_routes.md │ │ │ ├── named_custom_routes.md │ │ │ ├── nested_resources.md │ │ │ ├── restful_resources.md │ │ │ └── root_route.md │ │ ├── expert │ │ │ ├── advanced_route_globbing.md │ │ │ ├── api_versioning_constraint.md │ │ │ ├── dynamic_db_driven_routes.md │ │ │ ├── dynamic_route_macros.md │ │ │ └── localized_routes_i18n.md │ │ └── middle │ │ │ ├── member_collection_routes.md │ │ │ ├── route_constraints_lambda.md │ │ │ ├── route_globbing.md │ │ │ ├── routing_concerns.md │ │ │ └── shallow_nesting.md │ ├── secrets_and_credentials │ │ ├── advanced │ │ │ ├── environment_specific_credentials.md │ │ │ └── nested_credentials_access.md │ │ ├── beginner │ │ │ ├── accessing_credentials_in_code.md │ │ │ ├── editing_credentials.md │ │ │ └── env_specific_credentials.md │ │ ├── expert │ │ │ ├── aws_kms_credentials_provider.md │ │ │ ├── credentials_rotation_task.md │ │ │ └── multi_layer_credentials.md │ │ └── middle │ │ │ ├── access_nested_credentials.md │ │ │ ├── manage_env_credentials.md │ │ │ └── rotate_master_key.md │ ├── security │ │ ├── advanced │ │ │ ├── advanced_active_record_relation_filters.md │ │ │ ├── audit_logging_with_paper_trail.md │ │ │ ├── blind_index_for_searchable_encrypted_data.md │ │ │ ├── devise_two_factor_authentication.md │ │ │ ├── dynamic_csp_with_secure_headers.md │ │ │ ├── encrypted_credentials_multi_environment.md │ │ │ ├── host_authorization_middleware.md │ │ │ ├── hsts_strict_transport_security.md │ │ │ ├── masked_csrf_tokens.md │ │ │ ├── oauth_pkce_flow.md │ │ │ ├── rack_attack_custom_throttle.md │ │ │ ├── safe_raw_sql_with_binds.md │ │ │ ├── sanitize_action_text_allowlists.md │ │ │ ├── secure_active_storage_uploads.md │ │ │ └── secure_session_cookie_settings.md │ │ ├── beginner │ │ │ ├── active_record_query_interface.md │ │ │ ├── before_action_authenticate.md │ │ │ ├── content_security_policy.md │ │ │ ├── credentials_secret_key_base.md │ │ │ ├── csrf_protection.md │ │ │ ├── escape_html_output.md │ │ │ ├── filter_sensitive_parameters.md │ │ │ ├── force_ssl.md │ │ │ ├── has_secure_password.md │ │ │ ├── limit_file_uploads.md │ │ │ ├── remove_debug_gems.md │ │ │ ├── secure_headers.md │ │ │ ├── secure_string_comparison.md │ │ │ ├── strong_parameters.md │ │ │ └── validate_input_formats.md │ │ ├── expert │ │ │ ├── active_record_encryption_rotation.md │ │ │ ├── activestorage_s3_secure_upload.md │ │ │ ├── arel_safe_dynamic_queries.md │ │ │ ├── ci_dependency_audit.md │ │ │ ├── cookie_secret_rotation.md │ │ │ ├── csp_violation_report_endpoint.md │ │ │ ├── csp_with_nonces.md │ │ │ ├── deep_parameter_sanitization.md │ │ │ ├── disable_xxe_parsing.md │ │ │ ├── hsts_preload.md │ │ │ ├── jwt_with_jwks_rotation.md │ │ │ ├── rack_attack_dynamic_throttles.md │ │ │ ├── safe_redirect_whitelist.md │ │ │ ├── strict_cors_dynamic_origins.md │ │ │ └── timing_attack_secure_compare.md │ │ └── middle │ │ │ ├── active_record_encryption.md │ │ │ ├── bcrypt_passwords.md │ │ │ ├── content_security_policy.md │ │ │ ├── csrf_protection.md │ │ │ ├── enforce_ssl.md │ │ │ ├── file_upload_validation.md │ │ │ ├── output_escaping.md │ │ │ ├── parameter_filtering.md │ │ │ ├── rack_attack_rate_limiting.md │ │ │ ├── secure_cookies_flag.md │ │ │ ├── secure_redirects.md │ │ │ ├── security_headers.md │ │ │ ├── sql_injection_prevention.md │ │ │ ├── strong_parameters.md │ │ │ └── x_frame_options.md │ ├── sessions_and_cookies │ │ ├── advanced │ │ │ ├── json_hybrid_session_serializer.md │ │ │ ├── rotate_cookie_encryption_keys.md │ │ │ └── sliding_session_expiration.md │ │ ├── beginner │ │ │ ├── setting_basic_cookies_with_expiry.md │ │ │ ├── using_sessions_to_store_user_data.md │ │ │ └── using_signed_cookies_for_tamper_protection.md │ │ ├── expert │ │ │ ├── encrypted_cookie_segmentation.md │ │ │ ├── multi_domain_redis_sessions.md │ │ │ └── session_secret_rotation.md │ │ └── middle │ │ │ ├── rolling_session_expiration.md │ │ │ ├── store_cart_in_session.md │ │ │ └── use_signed_encrypted_cookies.md │ ├── testing │ │ ├── advanced │ │ │ ├── dynamic_vcr_cassettes.md │ │ │ ├── parallel_test_execution.md │ │ │ ├── property_based_testing_with_rantly.md │ │ │ ├── rspec_profile_slow_specs.md │ │ │ └── testprof_factorydoctor_integration.md │ │ ├── beginner │ │ │ ├── controller_request_spec.md │ │ │ ├── factorybot_basics.md │ │ │ ├── model_validation_spec.md │ │ │ ├── setup_rspec.md │ │ │ └── using_fixtures.md │ │ ├── expert │ │ │ ├── custom_json_schema_matcher.md │ │ │ ├── event_driven_testing.md │ │ │ ├── mutant_integration.md │ │ │ ├── parallel_capybara_tests.md │ │ │ └── test_prof_optimizations.md │ │ └── middle │ │ │ ├── activejob_test_adapter.md │ │ │ ├── dry_test_setup_let_subject.md │ │ │ ├── file_uploads_fixture.md │ │ │ ├── json_api_parsing.md │ │ │ └── reuse_tests_shared_examples.md │ ├── versioning │ │ ├── advanced │ │ │ ├── dynamic_api_version_constraints.md │ │ │ ├── paper_trail_advanced_usage.md │ │ │ └── serializer_version_selection.md │ │ ├── beginner │ │ │ ├── bundle_update_rails.md │ │ │ ├── check_current_rails_version.md │ │ │ └── lock_rails_version_gemfile.md │ │ ├── expert │ │ │ ├── custom_header_versioning_constraint.md │ │ │ ├── deprecation_middleware_fallback.md │ │ │ └── versioned_autoload_paths.md │ │ └── middle │ │ │ ├── versioning_header.md │ │ │ ├── versioning_namespaces.md │ │ │ └── versioning_route_constraints.md │ ├── views │ │ ├── advanced │ │ │ ├── capture-safeconcat.md │ │ │ ├── cells-gem-usage.md │ │ │ ├── custom-form-builder.md │ │ │ ├── decorator-pattern-views.md │ │ │ ├── dynamic-view-paths.md │ │ │ ├── lazy-asset-loading.md │ │ │ ├── named-content-slots.md │ │ │ ├── nested-fragment-caching.md │ │ │ ├── partial-caching-russian-doll.md │ │ │ ├── stimulusjs-integration.md │ │ │ ├── streaming-template-rendering.md │ │ │ └── viewcomponent-usage.md │ │ ├── beginner │ │ │ ├── content_for_and_yield.md │ │ │ ├── content_tag_usage.md │ │ │ ├── escaping_html.md │ │ │ ├── forms_form_with.md │ │ │ ├── helpers_image_tag.md │ │ │ ├── helpers_link_to.md │ │ │ ├── layouts_application.md │ │ │ ├── partials_basics.md │ │ │ ├── partials_collection.md │ │ │ ├── partials_with_locals.md │ │ │ ├── view_conditionals.md │ │ │ └── view_loops_each.md │ │ ├── expert │ │ │ ├── asset_pipeline_dynamic_paths.md │ │ │ ├── cells_gem_decoupling.md │ │ │ ├── custom_form_builder_dsl.md │ │ │ ├── mustache_template_integration.md │ │ │ ├── nested_fragment_caching_strategies.md │ │ │ ├── sse_in_views.md │ │ │ ├── streaming_partials_live.md │ │ │ ├── template_handler_extension.md │ │ │ ├── view_rendering_profiler.md │ │ │ └── viewcomponent_deep_dive.md │ │ └── middle │ │ │ ├── collection_rendering.md │ │ │ ├── content_for_usage.md │ │ │ ├── custom_helpers.md │ │ │ ├── fragment_caching.md │ │ │ ├── html_tag_helper.md │ │ │ ├── i18n_in_views.md │ │ │ ├── inline_form_errors.md │ │ │ ├── jbuilder_json_views.md │ │ │ ├── partial_with_locals.md │ │ │ ├── stimulus_data_attributes.md │ │ │ ├── turbo_frame_rendering.md │ │ │ └── view_component_usage.md │ └── websockets │ │ ├── advanced │ │ ├── custom_connection_identifiers.md │ │ ├── dynamic_channel_streaming.md │ │ ├── granular_dom_updates.md │ │ ├── reconnect_backoff.md │ │ └── redis_pubsub_scaling.md │ │ ├── beginner │ │ ├── broadcast_from_controller.md │ │ ├── generate_chat_channel.md │ │ ├── model_broadcasting.md │ │ ├── mount_actioncable_in_routes.md │ │ └── subscribe_in_javascript.md │ │ ├── expert │ │ ├── backpressure_throttling.md │ │ ├── binary_streaming.md │ │ ├── jwt_connection_authentication.md │ │ ├── prometheus_monitoring.md │ │ └── redis_sentinel_scaling.md │ │ └── middle │ │ ├── broadcast_to_user.md │ │ ├── connection_authorization.md │ │ ├── redis_adapter_optimization.md │ │ ├── setup_channels_streams.md │ │ └── turbo_streams_integration.md ├── ruby │ ├── arrays │ │ ├── advanced │ │ │ ├── balanced_chunk_split.md │ │ │ ├── combinatorics_with_arrays.md │ │ │ ├── custom_uniq.md │ │ │ ├── grouping_with_each_with_object.md │ │ │ ├── lazy_enumerators.md │ │ │ ├── pattern_matching_arrays.md │ │ │ ├── pipeline_with_tap_then.md │ │ │ ├── selective_flatten.md │ │ │ ├── slice_when_chunking.md │ │ │ └── transpose_jagged_arrays.md │ │ ├── beginner │ │ │ ├── accessing_elements.md │ │ │ ├── adding_elements.md │ │ │ ├── array_creation.md │ │ │ ├── cleaning_arrays.md │ │ │ ├── combining_arrays.md │ │ │ ├── destructuring_assignment.md │ │ │ ├── iterating_each.md │ │ │ ├── map_transform.md │ │ │ ├── removing_elements.md │ │ │ └── select_filter.md │ │ ├── expert │ │ │ ├── binary_packing_with_pack_unpack.md.md │ │ │ ├── bitset_array_representation.md.md │ │ │ ├── custom_enumerator_chaining.md.md │ │ │ ├── deep_freeze_immutable_arrays.md.md │ │ │ ├── lazy_infinite_enumerator.md.md │ │ │ ├── memoized_inject.md.md │ │ │ ├── metaprogramming_dynamic_array_methods.md.md │ │ │ ├── n_dimensional_array_generator.md.md │ │ │ ├── parallel_map_with_threads.md.md │ │ │ └── refinements_for_array_extensions.md.md │ │ └── middle │ │ │ ├── bsearch_usage.md │ │ │ ├── destructuring_assignment.md │ │ │ ├── dig_nested_arrays.md │ │ │ ├── lazy_enumerators.md │ │ │ ├── map_compact_chain.md │ │ │ ├── partition_array.md │ │ │ ├── product_combinations.md │ │ │ ├── slice_range_negative.md │ │ │ ├── sum_with_block.md │ │ │ └── transpose_matrix.md │ ├── benchmarking │ │ ├── advanced │ │ │ ├── compare_algorithms_with_benchmark_ips.md │ │ │ ├── customize_benchmark_suite_with_metrics.md │ │ │ ├── disable_gc_for_stable_benchmarks.md │ │ │ ├── profile_memory_allocations.md │ │ │ └── use_warmup_for_consistent_results.md │ │ ├── beginner │ │ │ ├── benchmark_bm.md │ │ │ ├── benchmark_irb_console.md │ │ │ ├── benchmark_measure.md │ │ │ ├── benchmark_realtime.md │ │ │ └── benchmark_tms_attributes.md │ │ ├── expert │ │ │ ├── automated_benchmark_reports.md │ │ │ ├── benchmark_ips_config.md │ │ │ ├── c_extension_performance_comparison.md │ │ │ ├── custom_harness_with_warmup.md │ │ │ └── memory_and_gc_profiling.md │ │ └── middle │ │ │ ├── benchmark_bm.md │ │ │ ├── benchmark_bmbm.md │ │ │ ├── benchmark_realtime.md │ │ │ ├── benchmark_results_formatting.md │ │ │ └── benchmark_string_vs_interpolation.md │ ├── blocks │ │ ├── advanced │ │ │ ├── benchmark_blocks.md │ │ │ ├── destructuring_block_params.md │ │ │ ├── fibers_and_blocks.md │ │ │ ├── internal_dsl_with_instance_eval.md │ │ │ ├── lazy_infinite_streams.md │ │ │ ├── method_wrapper_with_blocks.md │ │ │ ├── proc_currying_and_composition.md │ │ │ ├── retry_with_backoff.md │ │ │ └── trampoline_optimization.md │ │ ├── beginner │ │ │ ├── block_parameters.md │ │ │ ├── block_to_proc_conversion.md │ │ │ ├── custom_method_yield.md │ │ │ ├── file_resource_management.md │ │ │ ├── filtering_select.md │ │ │ ├── guarding_with_block_given.md │ │ │ ├── hash_each_pair.md │ │ │ ├── iterating_each.md │ │ │ ├── repeating_times.md │ │ │ └── transforming_map.md │ │ ├── expert │ │ │ ├── advanced_lazy_enumerator_chaining.md │ │ │ ├── block_instrumentation_with_prepend.md │ │ │ ├── capture_and_rebind_block_context.md │ │ │ ├── context_switch_with_instance_exec.md │ │ │ ├── curry_and_compose_procs.md │ │ │ ├── dynamic_define_method_with_block.md │ │ │ ├── fiber_based_block_control_flow.md │ │ │ ├── internal_dsl_with_instance_eval.md │ │ │ ├── partial_application_with_proc.md │ │ │ └── trampoline_pattern_with_procs.md │ │ └── middle │ │ │ ├── block_to_proc_conversion.md.md │ │ │ ├── chainable_methods_with_blocks.md.md │ │ │ ├── check_block_presence.md.md │ │ │ ├── control_flow_within_blocks.md.md │ │ │ ├── custom_each_iterator.md.md │ │ │ ├── default_block_fallback.md.md │ │ │ ├── dsl_with_instance_eval.md.md │ │ │ ├── filter_and_map_collections.md.md │ │ │ ├── multiple_blocks.md.md │ │ │ └── yield_with_arguments.md.md │ ├── classes_and_modules │ │ ├── advanced │ │ │ ├── alias_chain_prepend.md │ │ │ ├── autoload_modules.md │ │ │ ├── concerns_namespacing.md │ │ │ ├── const_missing_autoload.md │ │ │ ├── dynamic_define_method.md │ │ │ ├── dynamic_delegators.md │ │ │ ├── eigenclass_methods.md │ │ │ ├── extend_class_methods_on_include.md │ │ │ ├── forwardable_mixin.md │ │ │ ├── freeze_module.md │ │ │ ├── inherited_hook_module.md │ │ │ ├── method_missing_proxy.md │ │ │ ├── prepend_vs_include.md │ │ │ ├── self_included_hook.md │ │ │ └── using_refinements.md │ │ ├── beginner │ │ │ ├── attr_accessors.md │ │ │ ├── basic_class_definition.md │ │ │ ├── basic_module_definition.md │ │ │ ├── class_constants.md │ │ │ ├── class_methods.md │ │ │ ├── extend_for_class_methods.md │ │ │ ├── include_mixins.md │ │ │ ├── inheritance_basics.md │ │ │ ├── initialize_method.md │ │ │ ├── inspect_ancestors.md │ │ │ ├── instance_variables.md │ │ │ ├── instantiate_objects.md │ │ │ ├── method_overriding.md │ │ │ ├── module_namespacing.md │ │ │ └── visibility_control.md │ │ ├── expert │ │ │ ├── anonymous_module_isolation.md │ │ │ ├── autoload_lazy_loading.md │ │ │ ├── concern_pattern_composition.md │ │ │ ├── const_missing_dynamic_resolution.md │ │ │ ├── dynamic_method_generation.md │ │ │ ├── forwardable_delegation.md │ │ │ ├── included_class_macros.md │ │ │ ├── internal_dsl_included_hook.md │ │ │ ├── module_prepend_over_mixin.md │ │ │ ├── namespaces_with_module_nesting.md │ │ │ ├── prepend_method_wrappers.md │ │ │ ├── proxy_method_missing.md │ │ │ ├── refinements_scoped_monkey_patches.md │ │ │ ├── singleton_class_metaprogramming.md │ │ │ └── tracepoint_execution_tracing.md │ │ └── middle │ │ │ ├── class_eval_vs_module_eval.md │ │ │ ├── concern_pattern.md │ │ │ ├── const_missing_autoload.md │ │ │ ├── dynamic_class_definition.md │ │ │ ├── include_vs_extend.md │ │ │ ├── mixins_with_callbacks.md │ │ │ ├── module_alias_method.md │ │ │ ├── module_function_usage.md │ │ │ ├── module_nesting_lookup.md │ │ │ ├── module_prepend.md │ │ │ ├── namespacing_with_modules.md │ │ │ ├── refinements_example.md │ │ │ ├── self_included_hook.md │ │ │ └── singleton_class_methods.md │ ├── compression │ │ ├── advanced │ │ │ ├── creating_tar_gz_archives.md │ │ │ └── streaming_large_file_compression.md │ │ ├── beginner │ │ │ ├── compress_with_gzip.md │ │ │ └── create_zip_archive.md │ │ ├── expert │ │ │ └── streaming_chunked_gzip_compression.md │ │ └── middle │ │ │ ├── file_compression_gzip.md │ │ │ └── string_compression_deflate.md │ ├── concurrency_and_mutexes │ │ ├── advanced │ │ │ ├── condition_variable_coordination.md.md │ │ │ ├── deadlock_prevention.md.md │ │ │ ├── double_checked_locking.md.md │ │ │ └── monitor_reentrant_mutex.md.md │ │ ├── beginner │ │ │ ├── initialize_mutex_per_resource.md │ │ │ ├── manual_lock_unlock.md │ │ │ ├── shared_counter_with_mutex.md │ │ │ └── waiting_for_threads_join.md │ │ ├── expert │ │ │ ├── fair_fifo_mutex.md │ │ │ ├── lock_striping_mutex_shard.md │ │ │ └── reentrant_mutex_monitor.md │ │ └── middle │ │ │ ├── condition_variable_usage.md │ │ │ ├── double_checked_locking.md │ │ │ ├── mutex_synchronize.md │ │ │ └── mutex_try_lock.md │ ├── constants │ │ ├── advanced │ │ │ ├── autoload_with_const_missing.md │ │ │ ├── dynamic_constants_via_const_set.md │ │ │ └── reload_constants_remove_const.md │ │ ├── beginner │ │ │ ├── defining_and_accessing_constants.md │ │ │ ├── freezing_constants_to_prevent_mutation.md │ │ │ └── naming_conventions_for_constants.md │ │ ├── expert │ │ │ ├── custom_const_missing_autoload.md │ │ │ ├── deep_freeze_constants.md │ │ │ └── dynamic_constant_definition.md │ │ └── middle │ │ │ ├── config_constants.md │ │ │ ├── freeze_constants.md │ │ │ └── magic_values_constants.md │ ├── creating_gems │ │ ├── advanced │ │ │ ├── cli_plugin_architecture.md │ │ │ ├── native_extension_setup.md │ │ │ └── release_automation.md │ │ ├── beginner │ │ │ ├── build_and_install_gem.md │ │ │ ├── configure_gemspec.md │ │ │ └── initialize_gem_skeleton.md │ │ ├── expert │ │ │ ├── automated_release_pipeline.md │ │ │ ├── custom_gem_scaffold.md │ │ │ └── native_extension_multi_platform.md │ │ └── middle │ │ │ ├── embed_usage_examples.md.md │ │ │ ├── initialize_gem_with_bundler.md.md │ │ │ └── manage_version_metadata.md.md │ ├── csv │ │ ├── advanced │ │ │ ├── custom_converters_casting.md │ │ │ ├── lazy_loading_huge_csv.md │ │ │ ├── parallel_csv_processing.md │ │ │ └── streaming_csv_generation.md │ │ ├── beginner │ │ │ ├── csv_foreach_basics.md │ │ │ ├── csv_parse_string.md │ │ │ ├── csv_with_headers.md │ │ │ └── csv_write_file.md │ │ ├── expert │ │ │ ├── csv_lazy_streaming.md │ │ │ ├── csv_parallel_processing.md │ │ │ ├── csv_random_access_indexing.md │ │ │ └── csv_schema_structs.md │ │ └── middle │ │ │ ├── custom_csv_writing.md │ │ │ ├── efficient_streaming.md │ │ │ ├── headers_and_converters.md │ │ │ └── resilient_parsing.md │ ├── data_types │ │ ├── advanced │ │ │ ├── bitwise_operations.md │ │ │ ├── deep_default_hash.md │ │ │ ├── lazy_enumerators.md │ │ │ ├── pattern_matching.md │ │ │ └── scoped_refinements.md │ │ ├── beginner │ │ │ ├── ruby_arrays.md │ │ │ ├── ruby_hashes.md │ │ │ ├── ruby_numbers.md │ │ │ ├── ruby_strings.md │ │ │ └── ruby_symbols.md │ │ ├── expert │ │ │ ├── custom_numeric_coercion.md │ │ │ ├── deep_immutable_structures.md │ │ │ ├── high_precision_arithmetic.md │ │ │ ├── lazy_infinite_sequences.md │ │ │ └── pattern_matching_hashes.md │ │ └── middle │ │ │ ├── array_destructuring_splat.md │ │ │ ├── frozen_string_literals.md │ │ │ ├── hash_default_proc.md │ │ │ ├── optimize_hash_keys.md │ │ │ └── range_iteration_step.md │ ├── date_time │ │ ├── advanced │ │ │ ├── business_days_enumeration.md │ │ │ ├── custom_date_parsing.md │ │ │ ├── high_precision_arithmetic.md │ │ │ ├── iso8601_duration_handling.md │ │ │ └── timezone_conversion.md │ │ ├── beginner │ │ │ ├── date_arithmetic.md │ │ │ ├── formatting_dates_times.md │ │ │ ├── getting_current_date_time.md │ │ │ ├── handling_time_zones.md │ │ │ └── parsing_date_strings.md │ │ ├── expert │ │ │ ├── astronomical_julian_day_conversion.md │ │ │ ├── business_calendar_refinement.md │ │ │ ├── high_res_monotonic_timing.md │ │ │ └── tzinfo_caching.md │ │ └── middle │ │ │ ├── business_day_calculation.md │ │ │ ├── calculate_durations.md │ │ │ ├── format_with_strftime.md │ │ │ ├── handle_time_zones.md │ │ │ └── parse_custom_strptime.md │ ├── define_method │ │ ├── advanced │ │ │ ├── custom_visibility_hooks.md │ │ │ ├── dsl_scope_capture.md │ │ │ ├── dynamic_method_proxy.md │ │ │ └── memoization_via_define_method.md │ │ ├── beginner │ │ │ ├── attribute_getter_setter.md │ │ │ ├── capture_external_variable.md │ │ │ ├── dynamic_method_creation.md │ │ │ └── method_with_arguments.md │ │ ├── expert │ │ │ ├── dynamic_api_client_generator.md │ │ │ ├── fluent_dsl_builder.md │ │ │ ├── hot_swappable_methods.md │ │ │ └── preserve_method_metadata.md │ │ └── middle │ │ │ ├── dynamic_accessors.md │ │ │ ├── dynamic_delegation.md │ │ │ ├── method_wrapper_logging.md │ │ │ └── validation_helpers.md │ ├── directory_management │ │ ├── advanced │ │ │ ├── atomic_directory_swap.md │ │ │ └── recursive_traversal_find.md │ │ ├── beginner │ │ │ ├── dir_list_and_filter.md │ │ │ └── recursive_directory_creation.md │ │ ├── expert │ │ │ ├── cross_platform_realtime_dir_watcher.md │ │ │ └── parallel_lazy_directory_traversal.md │ │ └── middle │ │ │ ├── pattern_based_traversal_with_pathname.md │ │ │ └── safe_directory_creation_with_fileutils.md │ ├── enumerables │ │ ├── advanced │ │ │ ├── chunk_while_dynamic_grouping.md │ │ │ ├── each_with_object_stateful_accumulation.md │ │ │ ├── external_iterators_enum_for.md │ │ │ ├── lazy_enumerators_infinite_streams.md │ │ │ ├── slice_when_custom_breaks.md │ │ │ └── zip_lazy_pattern_matching.md │ │ ├── beginner │ │ │ ├── accumulate_with_inject.md │ │ │ ├── exclude_with_reject.md │ │ │ ├── filter_with_select.md │ │ │ ├── find_with_detect.md │ │ │ ├── iterate_with_each.md │ │ │ └── transform_with_map.md │ │ ├── expert │ │ │ ├── custom_enumerable_deep_traversal.md │ │ │ ├── dynamic_slice_when.md │ │ │ ├── fiber_based_enumerator.md │ │ │ ├── infinite_sequence_produce.md │ │ │ ├── lazy_pipeline_scaling.md │ │ │ └── merge_infinite_streams.md │ │ └── middle │ │ │ ├── each_with_object_hash_building.md │ │ │ ├── flat_map_group_by_transform.md │ │ │ ├── lazy_chaining_enumerables.md │ │ │ ├── slice_before_chunk_while.md │ │ │ ├── sum_with_block.md │ │ │ └── tally_element_counts.md │ ├── exceptions │ │ ├── advanced │ │ │ ├── custom_exception_hierarchy.md │ │ │ ├── exception_cause_chaining.md │ │ │ ├── exception_notification_integration.md │ │ │ └── retry_with_exponential_backoff.md │ │ ├── beginner │ │ │ ├── ensure_usage.md │ │ │ ├── raising_exceptions.md │ │ │ ├── rescue_basic.md │ │ │ └── rescue_specific.md │ │ ├── expert │ │ │ ├── custom_error_with_metadata.md │ │ │ ├── exception_wrapping_with_cause.md │ │ │ ├── exponential_backoff_retry_logic.md │ │ │ └── tracepoint_exception_monitoring.md │ │ └── middle │ │ │ ├── ensure_for_cleanup.md │ │ │ ├── inline_rescue_in_method.md │ │ │ ├── rescue_specific_exceptions.md │ │ │ └── retry_transient_errors.md │ ├── fibers │ │ ├── advanced │ │ │ ├── fiber_async_io.md │ │ │ ├── fiber_data_pipeline.md │ │ │ ├── fiber_enumerator_generator.md │ │ │ └── fiber_error_supervision.md │ │ ├── beginner │ │ │ ├── creating_and_resuming.md │ │ │ ├── passing_values_between_fiber.md │ │ │ ├── simple_enumerator_with_fiber.md │ │ │ └── what_is_a_fiber.md │ │ ├── expert │ │ │ ├── async_gem_integration.md │ │ │ ├── async_io_multiplexing.md │ │ │ ├── cooperative_fiber_scheduler.md │ │ │ └── fiber_lazy_enumerator.md │ │ └── middle │ │ │ ├── fiber_arguments.md │ │ │ ├── fiber_basic_usage.md │ │ │ ├── fiber_cooperative_scheduler.md │ │ │ └── fiber_to_enumerator.md │ ├── file_io │ │ ├── advanced │ │ │ ├── atomic_file_write.md │ │ │ ├── chunked_buffer_reading.md │ │ │ ├── encoding_transcoding.md │ │ │ ├── fcntl_flags.md │ │ │ ├── memory_mapped_file.md │ │ │ ├── nonblocking_io_select.md │ │ │ ├── tail_f_implementation.md │ │ │ └── zero_copy_io.md │ │ ├── beginner │ │ │ ├── append_to_file.md │ │ │ ├── check_file_existence.md │ │ │ ├── io_read_write_shortcuts.md │ │ │ ├── iterate_lines_foreach.md │ │ │ ├── join_file_paths.md │ │ │ ├── read_with_block.md │ │ │ ├── readlines_to_array.md │ │ │ └── write_with_block.md │ │ ├── expert │ │ │ ├── async_io_eventmachine.md │ │ │ ├── atomic_file_write.md │ │ │ ├── memory_map_file.md │ │ │ ├── nonblocking_file_io.md │ │ │ ├── sparse_file_manipulation.md │ │ │ ├── streaming_encryption.md │ │ │ └── zero_copy_sendfile.md │ │ └── middle │ │ │ ├── chunked_read.md.md │ │ │ ├── efficient_file_copy.md.md │ │ │ ├── encoding_handling.md.md │ │ │ ├── file_locking.md.md │ │ │ ├── file_open_block.md.md │ │ │ ├── line_by_line_processing.md.md │ │ │ ├── tempfile_usage.md.md │ │ │ └── write_append_modes.md.md │ ├── hashes │ │ ├── advanced │ │ │ ├── auto_vivification.md │ │ │ ├── compact_and_filter_map.md │ │ │ ├── fetch_with_block_defaults.md │ │ │ ├── grouping_with_each_with_object.md │ │ │ ├── hash_pattern_matching.md │ │ │ ├── hash_to_proc.md │ │ │ ├── indifferent_access.md │ │ │ ├── nested_transform_keys.md │ │ │ ├── recursive_deep_merge.md │ │ │ └── slice_and_except.md │ │ ├── beginner │ │ │ ├── accessing_hash_values.md │ │ │ ├── array_to_hash_conversion.md │ │ │ ├── checking_key_existence.md │ │ │ ├── creating_hashes.md │ │ │ ├── hash_default_values.md │ │ │ ├── iterating_over_hash.md │ │ │ ├── merging_hashes.md │ │ │ ├── selecting_hash_entries.md │ │ │ ├── symbol_vs_string_keys.md │ │ │ └── working_with_nested_hashes.md │ │ ├── expert │ │ │ ├── advanced_keyword_arg_forwarding.md │ │ │ ├── auto_vivification_nested_hashes.md │ │ │ ├── chaining_transform_keys_values.md │ │ │ ├── custom_deep_merge_with_conflicts.md │ │ │ ├── dynamic_struct_from_hash.md │ │ │ ├── identity_vs_equality_key_comparison.md │ │ │ ├── immutable_persistent_hash.md │ │ │ ├── lazy_enumeration_hash_processing.md │ │ │ ├── pattern_matching_nested_hashes.md │ │ │ └── refinements_safe_hash_extensions.md │ │ └── middle │ │ │ ├── build_hash_each_with_object.md │ │ │ ├── compact_hash.md │ │ │ ├── fetch_with_default_block.md │ │ │ ├── invert_handle_duplicates.md │ │ │ ├── merge_with_block.md │ │ │ ├── select_and_reject.md │ │ │ ├── slice_hash.md │ │ │ ├── sort_by_key_or_value.md │ │ │ ├── transform_keys.md │ │ │ └── transform_values.md │ ├── irb │ │ ├── advanced │ │ │ ├── conditional_irbrc.md │ │ │ ├── custom_irb_prompt.md │ │ │ ├── custom_key_bindings.md │ │ │ ├── define_magic_commands.md │ │ │ ├── enable_auto_completion.md │ │ │ ├── integrate_awesome_print.md │ │ │ ├── multi_irb_sessions.md │ │ │ ├── persist_command_history.md │ │ │ ├── save_load_workspace.md │ │ │ └── use_pry_shell.md │ │ ├── beginner │ │ │ ├── access_ruby_docs.md │ │ │ ├── exit_irb.md │ │ │ ├── grep_methods.md │ │ │ ├── history_navigation.md │ │ │ ├── launch_irb.md │ │ │ ├── list_methods.md │ │ │ ├── load_ruby_file.md │ │ │ ├── multiline_code.md │ │ │ ├── persist_history.md │ │ │ └── shell_commands.md │ │ ├── expert │ │ │ ├── benchmark_integration.md │ │ │ ├── context_switching.md │ │ │ ├── dsl_auto_completion.md │ │ │ ├── dynamic_git_prompt.md │ │ │ ├── history_incremental_search.md │ │ │ ├── input_preprocessor.md │ │ │ ├── magic_commands_extension.md │ │ │ ├── programmatic_irb_control.md │ │ │ └── threaded_debugging.md │ │ └── middle │ │ │ ├── auto_require_gems.md │ │ │ ├── awesome_print_output.md │ │ │ ├── binding_irb_hook.md │ │ │ ├── custom_inspector.md │ │ │ ├── custom_irb_commands.md │ │ │ ├── custom_prompt.md │ │ │ ├── pager_output.md │ │ │ ├── persistent_history.md │ │ │ ├── readline_key_bindings.md │ │ │ └── tab_completion.md │ ├── json │ │ ├── advanced │ │ │ ├── custom_generator_state_for_json.md │ │ │ ├── high_performance_parsing_with_oj.md │ │ │ └── streaming_large_json_with_oj_schandler.md │ │ ├── beginner │ │ │ ├── json_file_io.md │ │ │ ├── json_generate_basics.md │ │ │ └── json_parse_basics.md │ │ ├── expert │ │ │ ├── custom_json_serialization_for_complex_objects.md │ │ │ ├── high_performance_json_parsing_with_oj.md │ │ │ └── streaming_json_parsing_with_sc_handler.md │ │ └── middle │ │ │ ├── customize_model_serialization.md │ │ │ ├── json_schema_validation.md │ │ │ └── streaming_json_parsing.md │ ├── logging │ │ ├── advanced │ │ │ ├── custom_log_formatter_with_metadata.md │ │ │ ├── silence_and_tagged_logging.md │ │ │ └── structured_logging_with_lograge.md │ │ ├── beginner │ │ │ ├── basic_logger_setup.md │ │ │ ├── log_rotation.md │ │ │ └── understanding_log_levels.md │ │ ├── expert │ │ │ ├── async_non_blocking_logger.md │ │ │ ├── correlation_id_propagation.md │ │ │ └── structured_json_logging.md │ │ └── middle │ │ │ ├── custom_logger_formatter.md │ │ │ ├── json_structured_logging.md │ │ │ └── tagged_logging.md │ ├── marshal │ │ ├── advanced │ │ │ ├── custom_dump_load_versioning.md │ │ │ ├── selective_ivars_with_marshal_dump.md │ │ │ └── streaming_with_compression.md │ │ ├── beginner │ │ │ ├── basic_marshal_dump_load.md │ │ │ ├── marshal_caching_simple_objects.md │ │ │ └── marshal_with_files.md │ │ ├── expert │ │ │ ├── marshal_custom_versioning.md │ │ │ ├── marshal_secure_compression.md │ │ │ └── marshal_streaming_chunks.md │ │ └── middle │ │ │ ├── compress_marshal_data.md │ │ │ ├── custom_marshal_dump_load.md │ │ │ └── deep_clone_objects.md │ ├── matrix │ │ ├── advanced │ │ │ ├── lu_caching_solver.md │ │ │ ├── numo_linalg_svd.md │ │ │ └── rational_exact_arithmetic.md │ │ ├── beginner │ │ │ ├── matrix_basic_operations.md │ │ │ ├── matrix_element_access.md │ │ │ └── matrix_initialization.md │ │ ├── expert │ │ │ └── sparse_matrix_lazy_enumerator.md │ │ └── middle │ │ │ ├── matrix_basic_operations.md │ │ │ ├── matrix_enumeration_transform.md │ │ │ └── matrix_transpose_and_diagonal.md │ ├── metaprogramming │ │ ├── advanced │ │ │ ├── alias_method_chain_emulation.md │ │ │ ├── attribute_query_methods.md │ │ │ ├── class_eval_with_context.md │ │ │ ├── const_missing_autoload.md │ │ │ ├── dsl_instance_eval.md │ │ │ ├── dynamic_define_method.md │ │ │ ├── dynamic_delegator_generation.md │ │ │ ├── dynamic_singleton_methods.md │ │ │ ├── eigenclass_singleton_methods.md │ │ │ ├── macro_with_included_hook.md │ │ │ ├── method_missing_dispatch.md │ │ │ ├── module_prepend_hooks.md │ │ │ ├── runtime_refinements.md │ │ │ ├── tracepoint_monitoring.md │ │ │ └── unbound_method_binding.md │ │ ├── beginner │ │ │ ├── alias_method_usage.md │ │ │ ├── attr_accessor_metaprog.md │ │ │ ├── class_eval_usage.md │ │ │ ├── class_inherited_hook.md │ │ │ ├── const_missing_lazy_loading.md │ │ │ ├── define_method_dynamic.md │ │ │ ├── define_singleton_method_usage.md │ │ │ ├── dynamic_send.md │ │ │ ├── eval_usage.md │ │ │ ├── instance_eval_usage.md │ │ │ ├── method_missing_basics.md │ │ │ ├── module_included_hook.md │ │ │ ├── respond_to_missing.md │ │ │ └── simple_dsl_blocks.md │ │ ├── expert │ │ │ ├── advanced_method_missing_respond_to.md │ │ │ ├── chainable_dsl_with_lambdas.md │ │ │ ├── compile_time_code_generation_with_eval.md │ │ │ ├── composable_concerns_like_active_support.md │ │ │ ├── dsl_instance_eval_class_eval.md │ │ │ ├── dynamic_constant_loading_with_const_missing.md │ │ │ ├── dynamic_define_method_with_closure.md │ │ │ ├── eigenclass_singleton_method_customization.md │ │ │ ├── module_prepend_for_instrumentation.md │ │ │ ├── performance_measurement_proxy.md │ │ │ ├── proxy_pattern_with_basicobject.md │ │ │ ├── runtime_extension_with_fiddle.md │ │ │ ├── runtime_instrumentation_tracepoint.md │ │ │ ├── scoped_monkey_patching_with_refinements.md │ │ │ └── unbound_method_rebinding.md │ │ └── middle │ │ │ ├── alias_method_wrapping.md │ │ │ ├── ar_dynamic_scopes.md │ │ │ ├── auto_timestamp_module.md │ │ │ ├── class_eval_dynamic_methods.md │ │ │ ├── const_missing_autoload.md │ │ │ ├── dsl_with_instance_eval.md │ │ │ ├── dynamic_attr_accessors.md │ │ │ ├── dynamic_callbacks.md │ │ │ ├── dynamic_delegation_forwardable.md │ │ │ ├── dynamic_method_define.md │ │ │ ├── dynamic_validation_macros.md │ │ │ ├── fluent_interface_chaining.md │ │ │ ├── hook_method_added.md │ │ │ ├── method_missing_fallback.md │ │ │ └── scoped_refinements.md │ ├── method_missing │ │ ├── advanced │ │ │ ├── caching_missing_methods.md │ │ │ ├── dsl_method_recording.md │ │ │ ├── lazy_association_proxy.md │ │ │ └── rest_api_client_dynamic.md │ │ ├── beginner │ │ │ ├── method_missing_basic_setup.md │ │ │ ├── method_missing_dynamic_attributes.md │ │ │ ├── method_missing_forward_to_super.md │ │ │ └── method_missing_respond_to.md │ │ ├── expert │ │ │ ├── advanced_signature_handling.md │ │ │ ├── caching_method_missing_responses.md │ │ │ ├── dynamic_attributes_dsl.md │ │ │ └── transparent_proxy_forwarding.md │ │ └── middle │ │ │ ├── dsl_fallback_methods.md │ │ │ ├── dynamic_delegation.md │ │ │ ├── forwarding_proxy.md │ │ │ └── logging_undefined_calls.md │ ├── methods │ │ ├── advanced │ │ │ ├── curry_and_method_to_proc.md │ │ │ ├── dynamic_define_method.md │ │ │ ├── forwarding_arguments.md │ │ │ ├── memoization_with_arguments.md │ │ │ ├── method_missing_respond_to_missing.md │ │ │ ├── method_object_dispatch.md │ │ │ ├── prepend_for_method_wrapping.md │ │ │ └── refinements_local_method_override.md │ │ ├── beginner │ │ │ ├── default_parameters.md │ │ │ ├── defining_methods.md │ │ │ ├── implicit_and_explicit_return.md │ │ │ ├── keyword_arguments.md │ │ │ ├── method_arguments.md │ │ │ ├── method_chaining.md │ │ │ ├── splat_arguments.md │ │ │ └── using_blocks.md │ │ ├── expert │ │ │ ├── currying_partial_application.md │ │ │ ├── delegation_with_forwardable.md │ │ │ ├── dynamic_define_method.md │ │ │ ├── method_hooks_metaprogramming.md │ │ │ ├── module_prepend_chain.md │ │ │ ├── pattern_matching_params.md │ │ │ ├── refinements_scope_control.md │ │ │ └── unbound_method_binding.md │ │ └── middle │ │ │ ├── alias_method_and_super.md │ │ │ ├── default_keyword_arguments.md │ │ │ ├── dynamic_define_method.md │ │ │ ├── forwardable_delegation.md │ │ │ ├── public_send_vs_send.md │ │ │ ├── splat_and_double_splat.md │ │ │ ├── symbol_to_proc.md │ │ │ └── tap_chaining.md │ ├── minitest │ │ ├── advanced │ │ │ ├── custom_minitest_plugin.md │ │ │ ├── custom_reporter_usage.md │ │ │ ├── parallel_test_execution.md │ │ │ └── performance_benchmarking.md │ │ ├── beginner │ │ │ ├── common_assertions.md │ │ │ ├── defining_test_cases.md │ │ │ ├── getting_started.md │ │ │ └── setup_teardown_hooks.md │ │ ├── expert │ │ │ ├── custom_minitest_profiling_plugin.md │ │ │ ├── dynamic_test_generation.md │ │ │ ├── parallel_test_sharding.md │ │ │ └── property_based_with_rantly.md │ │ └── middle │ │ │ ├── assertion_matchers_refutations.md │ │ │ ├── custom_assertion_helpers.md │ │ │ ├── parallel_test_execution.md │ │ │ └── setup_teardown_hooks.md │ ├── net_http │ │ ├── advanced │ │ │ ├── concurrent_requests_with_threads.md │ │ │ ├── custom_ssl_context.md │ │ │ ├── persistent_http_connections.md │ │ │ └── streaming_large_responses.md │ │ ├── beginner │ │ │ ├── basic_get_request.md │ │ │ ├── custom_headers_requests.md │ │ │ ├── https_ssl_configuration.md │ │ │ └── post_json_request.md │ │ ├── expert │ │ │ ├── persistent_connection_pooling.md │ │ │ ├── retry_with_exponential_backoff.md │ │ │ ├── ssl_certificate_pinning.md │ │ │ └── streaming_chunked_responses.md │ │ └── middle │ │ │ ├── get_with_custom_headers.md │ │ │ ├── parse_json_errors.md │ │ │ ├── post_form_data.md │ │ │ └── timeout_ssl_verify.md │ ├── networking │ │ ├── advanced │ │ │ ├── custom_tls_context.md │ │ │ ├── eventmachine_async_io.md │ │ │ ├── http2_stream_multiplexing.md │ │ │ └── nonblocking_tcp_socket.md │ │ ├── beginner │ │ │ ├── http_get_request.md │ │ │ ├── open_uri_fetch.md │ │ │ ├── tcp_client_example.md │ │ │ └── tcp_server_example.md │ │ ├── expert │ │ │ ├── custom_tls_context.md │ │ │ ├── http2_multiplexing.md │ │ │ ├── packet_crafting_raw_sockets.md │ │ │ └── persistent_http_pipelining.md │ │ └── middle │ │ │ ├── http_multipart_upload.md │ │ │ ├── http_persistent.md │ │ │ ├── http_ssl_customization.md │ │ │ └── tcp_non_blocking_client.md │ ├── numbers │ │ ├── advanced │ │ │ ├── bigdecimal_precision.md │ │ │ ├── complex_rotations.md │ │ │ ├── numeric_clamp_bounds.md │ │ │ ├── prime_factorization.md │ │ │ └── rational_usage.md │ │ ├── beginner │ │ │ ├── basic_arithmetic.md │ │ │ ├── generating_random_numbers.md │ │ │ ├── integer_vs_float.md │ │ │ ├── number_comparison.md │ │ │ └── rounding_numbers.md │ │ ├── expert │ │ │ ├── expert_bigdecimal_precision.md │ │ │ ├── expert_bitwise_binary.md │ │ │ ├── expert_ffi_math_library.md │ │ │ ├── expert_prime_enumeration.md │ │ │ └── expert_rational_complex.md │ │ └── middle │ │ │ ├── bigdecimal_precision.md │ │ │ ├── clamp_numbers.md │ │ │ ├── extract_digits.md │ │ │ ├── random_ranges.md │ │ │ └── rational_numbers.md │ ├── oop │ │ ├── advanced │ │ │ ├── class_eval_vs_instance_eval.md │ │ │ ├── dynamic_method_definition.md │ │ │ ├── eigenclass_for_class_macros.md │ │ │ ├── forwarding_with_forwardable.md │ │ │ ├── internal_dsl_with_blocks.md │ │ │ ├── method_missing_as_proxy.md │ │ │ ├── modules_as_namespaces_and_mixins.md │ │ │ ├── refinements_for_scoped_patching.md │ │ │ └── tracepoint_for_method_hooking.md │ │ ├── beginner │ │ │ ├── attr_accessors.md │ │ │ ├── class_methods.md │ │ │ ├── creating_instances.md │ │ │ ├── defining_classes.md │ │ │ ├── inheritance_basics.md │ │ │ ├── initialize_method.md │ │ │ ├── instance_methods.md │ │ │ ├── instance_variables.md │ │ │ ├── method_overriding.md │ │ │ └── modules_mixins.md │ │ ├── expert │ │ │ ├── bytecode_introspection_mod.md │ │ │ ├── class_level_exec.md │ │ │ ├── concurrent_ractor_mixins.md │ │ │ ├── dynamic_method_dsl.md │ │ │ ├── method_missing_delegate.md │ │ │ ├── module_prepend_override.md │ │ │ ├── scoped_refinements.md │ │ │ ├── tracepoint_profiling.md │ │ │ └── weakref_circular_cleanup.md │ │ └── middle │ │ │ ├── composition_over_inheritance.md │ │ │ ├── define_value_objects.md │ │ │ ├── dynamic_method_definitions.md │ │ │ ├── leverage_struct_for_data_objects.md │ │ │ ├── mixins_for_shared_behavior.md │ │ │ ├── use_forwardable_for_delegation.md │ │ │ ├── use_method_missing_cautiously.md │ │ │ ├── use_module_namespace.md │ │ │ └── use_simpledelegator_for_wrappers.md │ ├── openssl │ │ ├── advanced │ │ │ ├── custom_ssl_context_configuration.md │ │ │ ├── ocsp_certificate_revocation_checking.md │ │ │ └── smime_sign_and_encrypt.md │ │ ├── beginner │ │ │ ├── aes_encrypt_decrypt.md │ │ │ ├── create_sha256_digest.md │ │ │ └── generate_rsa_key_pair.md │ │ ├── expert │ │ │ ├── hardware_engine_pkcs11.md │ │ │ ├── mutual_tls_with_sslcontext.md │ │ │ └── streaming_aead_gcm_file_encryption.md │ │ └── middle │ │ │ ├── aes_gcm_encryption.md │ │ │ ├── custom_ssl_context.md │ │ │ └── verify_certificate_chain.md │ ├── operators │ │ ├── advanced │ │ │ ├── boolean_casting.md.md │ │ │ ├── double_splat_args.md.md │ │ │ ├── endless_range_operator.md.md │ │ │ ├── flip_flop_operator.md.md │ │ │ ├── operator_overloading.md.md │ │ │ ├── pattern_matching_case_in.md.md │ │ │ ├── safe_navigation_operator.md.md │ │ │ ├── spaceship_operator.md.md │ │ │ ├── symbol_to_proc.md.md │ │ │ └── unary_operators.md.md │ │ ├── beginner │ │ │ ├── arithmetic_operators.md │ │ │ ├── basic_assignment.md │ │ │ ├── comparison_operators.md │ │ │ ├── compound_assignment.md │ │ │ ├── conditional_assignment.md │ │ │ ├── exponentiation_operator.md │ │ │ ├── logical_operators.md │ │ │ ├── range_operators.md │ │ │ ├── string_concatenation.md │ │ │ └── ternary_operator.md │ │ ├── expert │ │ │ ├── bitmask_flags_with_operators.md │ │ │ ├── custom_unary_operator_overloads.md │ │ │ ├── deep_safe_navigation_chaining.md │ │ │ ├── dsl_via_operator_overloads.md │ │ │ ├── dynamic_operator_overloading.md │ │ │ ├── extending_numeric_precision.md │ │ │ ├── inline_rescue_in_operators.md │ │ │ ├── pipeline_operator_with_procs.md │ │ │ ├── refinements_for_core_operators.md │ │ │ └── spaceship_sort_with_memoization.md │ │ └── middle │ │ │ ├── default_assignment_operator.md │ │ │ ├── defined_operator.md │ │ │ ├── exponentiation_operator.md │ │ │ ├── flip_flop_operator.md │ │ │ ├── method_proc_shorthand.md │ │ │ ├── range_operator.md │ │ │ ├── regex_match_operator.md │ │ │ ├── safe_navigation_operator.md │ │ │ ├── spaceship_operator.md │ │ │ └── splat_and_double_splat.md │ ├── procs_and_lambdas │ │ ├── advanced │ │ │ ├── destructuring_parameters.md │ │ │ ├── dynamic_method_definitions.md │ │ │ ├── error_handling_wrappers.md │ │ │ ├── lambda_currying.md │ │ │ ├── memoization_with_procs.md │ │ │ ├── proc_enumerable_chaining.md │ │ │ ├── proc_lambda_composition.md │ │ │ └── symbol_to_proc_advanced.md │ │ ├── beginner │ │ │ ├── calling_lambdas.md │ │ │ ├── calling_procs.md │ │ │ ├── getting_started_with_lambdas.md │ │ │ ├── getting_started_with_procs.md │ │ │ ├── passing_lambda_to_method.md │ │ │ ├── passing_proc_to_method.md │ │ │ ├── proc_vs_lambda_argument_handling.md │ │ │ └── storing_procs_in_collections.md │ │ ├── expert │ │ │ ├── async_event_driven_procs.md │ │ │ ├── currying_and_partial_application.md │ │ │ ├── dynamic_arity_validation.md │ │ │ ├── metaprogramming_with_define_method.md │ │ │ ├── proc_and_lambda_composition.md │ │ │ ├── procs_in_fiber_callbacks.md │ │ │ ├── profunctor_style_adapters.md │ │ │ └── sandboxed_instance_exec.md │ │ └── middle │ │ │ ├── chain_procs_lambdas.md │ │ │ ├── context_capture_proc.md │ │ │ ├── curried_lambda.md │ │ │ ├── error_handling_proc.md │ │ │ ├── lambda_arity.md │ │ │ ├── memoization_lambda.md │ │ │ ├── proc_callback.md │ │ │ └── proc_lambda_conversion.md │ ├── profiling │ │ ├── advanced │ │ │ ├── perftools_flamegraph_generation.md │ │ │ ├── ruby_prof_flat_printer.md │ │ │ ├── ruby_prof_graph_html.md │ │ │ ├── stackprof_sampling_mode.md │ │ │ └── tracepoint_custom_profile.md │ │ ├── beginner │ │ │ ├── benchmark_bm.md │ │ │ ├── benchmark_ips.md │ │ │ ├── benchmark_measure.md │ │ │ ├── ruby_prof_flat_printer.md │ │ │ └── ruby_profile_flag.md │ │ ├── expert │ │ │ ├── memory_profiler_deep_inspection.md │ │ │ ├── rbspy_production_sampling.md │ │ │ ├── ruby_prof_callgrind_kcachegrind.md │ │ │ ├── stackprof_flamegraph.md │ │ │ └── thread_wall_time_profiling.md │ │ └── middle │ │ │ ├── benchmark_bm_usage.md │ │ │ ├── flamegraph_visualization.md │ │ │ ├── memory_profiler_usage.md │ │ │ ├── ruby_prof_cpu.md │ │ │ └── stackprof_sampling.md │ ├── ranges │ │ ├── advanced │ │ │ ├── custom_object_ranges.md │ │ │ ├── infinite_beginless_ranges.md │ │ │ ├── lazy_infinite_sequences.md │ │ │ ├── pattern_matching_with_ranges.md │ │ │ └── range_step_usage.md │ │ ├── beginner │ │ │ ├── check_value_in_range.md │ │ │ ├── convert_range_to_array.md │ │ │ ├── inclusive_vs_exclusive_ranges.md │ │ │ ├── iterating_over_ranges.md │ │ │ └── stepping_through_ranges.md │ │ ├── expert │ │ │ ├── cover_vs_include_performance.md │ │ │ ├── custom_infinite_enumerator.md │ │ │ ├── endless_and_beginless_ranges.md │ │ │ ├── pattern_matching_with_ranges.md │ │ │ └── using_ranges_as_hash_keys.md │ │ └── middle │ │ │ ├── endless_beginless_ranges.md │ │ │ ├── range_case_when.md │ │ │ ├── range_cover_include.md │ │ │ ├── range_step_iteration.md │ │ │ └── range_to_a_and_size.md │ ├── reflection │ │ ├── advanced │ │ │ ├── dynamic_method_generation.md │ │ │ ├── method_source_reloader.md │ │ │ ├── runtime_constant_injection.md │ │ │ └── tracepoint_method_tracing.md │ │ ├── beginner │ │ │ ├── dynamic_method_invocation.md │ │ │ ├── inspect_instance_variables.md │ │ │ ├── list_available_methods.md │ │ │ └── use_respond_to.md │ │ ├── expert │ │ │ ├── ast_manipulation.md │ │ │ ├── dynamic_basicobject_proxy.md │ │ │ ├── granular_tracepoint_events.md │ │ │ └── singleton_class_hierarchy.md │ │ └── middle │ │ │ ├── dynamic_constant_lookup.md │ │ │ ├── dynamic_method_invocation.md │ │ │ ├── instance_variable_inspection.md │ │ │ └── introspect_methods.md │ ├── regex │ │ ├── advanced │ │ │ ├── atomic_grouping.md │ │ │ ├── dynamic_union.md │ │ │ ├── extended_mode_comments.md │ │ │ ├── g_anchor_scanning.md │ │ │ ├── gsub_with_block.md │ │ │ ├── lookaround_assertions.md │ │ │ ├── named_capture_to_hash.md │ │ │ ├── performance_benchmarking.md │ │ │ ├── recursive_patterns.md │ │ │ └── unicode_properties.md │ │ ├── beginner │ │ │ ├── anchors.md │ │ │ ├── basic_match_operator.md │ │ │ ├── capturing_groups.md │ │ │ ├── character_classes.md │ │ │ ├── escaping_special_chars.md │ │ │ ├── gsub_replacement.md │ │ │ ├── named_captures.md │ │ │ ├── quantifiers.md │ │ │ ├── regex_options.md │ │ │ └── string_match_method.md │ │ ├── expert │ │ │ ├── advanced_lookaround_combinations.md │ │ │ ├── atomic_groups_for_speed.md │ │ │ ├── branch_reset_grouping.md │ │ │ ├── embed_ruby_code_in_regex.md │ │ │ ├── inline_toggle_modifiers.md │ │ │ ├── named_captures_with_transform.md │ │ │ ├── recursive_regex_for_nested.md │ │ │ ├── regexp_union_optimization.md │ │ │ ├── stringscanner_iterative_scans.md │ │ │ └── unicode_and_posix_properties.md │ │ └── middle │ │ │ ├── anchor_validations.md │ │ │ ├── character_classes.md │ │ │ ├── gsub_with_block.md │ │ │ ├── inline_modifiers.md │ │ │ ├── lookahead_lookbehind.md │ │ │ ├── match_data_usage.md │ │ │ ├── named_capture_groups.md │ │ │ ├── non_capturing_groups.md │ │ │ ├── regexp_union.md │ │ │ └── split_with_regex.md │ ├── rspec │ │ ├── advanced │ │ │ ├── around_hooks_time_travel_cleanup.md │ │ │ ├── composable_custom_matchers.md │ │ │ ├── dynamic_shared_context_metadata.md │ │ │ └── parameterized_testing.md │ │ ├── beginner │ │ │ ├── first_spec_example.md │ │ │ ├── organizing_spec_files.md │ │ │ ├── setup_rspec.md │ │ │ └── using_expectations.md │ │ ├── expert │ │ │ ├── advanced_diffable_matcher.md │ │ │ ├── custom_example_group_dsl.md │ │ │ ├── custom_formatter_plugin.md │ │ │ └── flaky_spec_auto_retry.md │ │ └── middle │ │ │ ├── rspec_contexts_subject.md.md │ │ │ ├── rspec_custom_matchers.md.md │ │ │ ├── rspec_let_vs_let_bang.md.md │ │ │ └── rspec_shared_examples.md.md │ ├── serialization │ │ ├── advanced │ │ │ ├── marshal_custom_versioning.md │ │ │ ├── oj_serialization_tuning.md │ │ │ └── streaming_large_json.md │ │ ├── beginner │ │ │ ├── json_serialization.md │ │ │ ├── marshal_serialization.md │ │ │ └── yaml_serialization.md │ │ ├── expert │ │ │ ├── hybrid_msgpack_json.md │ │ │ ├── oj_object_hooks.md │ │ │ └── versioned_marshal.md │ │ └── middle │ │ │ ├── active_model_serializer_example.md │ │ │ ├── customizing_to_json_example.md │ │ │ └── using_oj_for_high_performance.md │ ├── set │ │ ├── advanced │ │ │ ├── set_key_extractor.md │ │ │ ├── set_thread_safe.md │ │ │ └── set_transitive_closure.md │ │ ├── beginner │ │ │ ├── basic_set_operations.md │ │ │ ├── initialize_set.md │ │ │ └── manage_set_elements.md │ │ ├── expert │ │ │ ├── custom_hash_eql.md.md │ │ │ ├── lazy_unique_filter.md.md │ │ │ └── thread_safe_set.md.md │ │ └── middle │ │ │ ├── custom_object_set.md │ │ │ ├── initialize_and_modify_set.md │ │ │ └── set_algebra_operations.md │ ├── sockets │ │ ├── advanced │ │ │ ├── non_blocking_io_select.md │ │ │ ├── ssl_tls_with_openssl.md │ │ │ └── unix_socket_fd_passing.md │ │ ├── beginner │ │ │ ├── tcp_client_basics.md │ │ │ ├── tcp_server_basics.md │ │ │ └── udp_socket_basics.md │ │ ├── expert │ │ │ ├── custom_tls_alpn_ocsp.md │ │ │ ├── fiber_scheduler_socket_server.md │ │ │ └── zero_copy_sendfile.md │ │ └── middle │ │ │ ├── socket_select_multiplex.md │ │ │ ├── tcp_client_basic.md │ │ │ └── tcp_server_basic.md │ ├── strings │ │ ├── advanced │ │ │ ├── binary_encoding_manipulation.md │ │ │ ├── freezing_and_symbols.md │ │ │ ├── percent_quoting_variants.md │ │ │ └── regex_match_performance.md │ │ ├── beginner │ │ │ ├── common_string_methods.md │ │ │ ├── heredoc_string.md │ │ │ ├── length_and_empty.md │ │ │ ├── shovel_operator.md │ │ │ ├── string_concatenation.md │ │ │ ├── string_duplication.md │ │ │ ├── string_indexing.md │ │ │ ├── string_interpolation.md │ │ │ ├── string_slicing.md │ │ │ └── substring_replacement.md │ │ ├── expert │ │ │ ├── advanced_named_captures.md │ │ │ ├── binary_data_handling_string_b.md │ │ │ ├── binary_parsing_with_unpack_pack.md │ │ │ ├── freeze_dedupe_strings.md │ │ │ ├── grapheme_cluster_counting.md │ │ │ ├── handle_invalid_bytes_with_scrub.md │ │ │ ├── in_memory_io_with_stringio.md │ │ │ ├── override_dup_with_initialize_copy.md │ │ │ └── reuse_string_buffers_replace.md │ │ └── middle │ │ │ ├── dynamic_gsub_blocks.md │ │ │ ├── encoding_force_encode.md │ │ │ ├── heredoc_squiggly.md │ │ │ ├── mutable_string_concatenation.md │ │ │ ├── nested_interpolation.md │ │ │ ├── percent_string_literals.md │ │ │ ├── regex_named_captures.md │ │ │ ├── scrub_invalid_bytes.md │ │ │ ├── string_formatting_sprintf.md │ │ │ └── string_slicing_ranges.md │ ├── symbols │ │ ├── advanced │ │ │ ├── symbol_dynamic_memoization.md │ │ │ ├── symbol_pattern_matching.md │ │ │ └── symbol_to_proc.md │ │ ├── beginner │ │ │ ├── dynamic_symbol_creation.md │ │ │ ├── symbol_as_method_identifier.md │ │ │ └── symbol_vs_string.md │ │ ├── expert │ │ │ ├── dsl_metaprogramming_with_symbols.md │ │ │ ├── secure_dynamic_symbol_creation.md │ │ │ └── symbol_garbage_collection_inspection.md │ │ └── middle │ │ │ ├── dynamic_method_definition.md │ │ │ ├── dynamic_method_invocation.md │ │ │ └── symbol_to_proc_enumeration.md │ ├── syntax │ │ ├── advanced │ │ │ ├── endless_method_definition.md │ │ │ ├── flip_flop_operator.md │ │ │ ├── keyword_splat_destructuring.md │ │ │ ├── numbered_block_parameters.md │ │ │ ├── pattern_matching_destructuring.md │ │ │ ├── refinement_scoping.md │ │ │ ├── singleton_class_eval.md │ │ │ ├── to_proc_shorthand.md │ │ │ └── trace_point_debugging.md │ │ ├── beginner │ │ │ ├── adding_comments.md │ │ │ ├── array_basics.md │ │ │ ├── defining_methods.md │ │ │ ├── hash_basics.md │ │ │ ├── iterating_with_each.md │ │ │ ├── simple_conditionals.md │ │ │ ├── string_interpolation.md │ │ │ ├── symbols_vs_strings.md │ │ │ ├── understanding_blocks.md │ │ │ └── using_variables.md │ │ ├── expert │ │ │ ├── dynamic_define_method.md │ │ │ ├── eigenclass_dsl.md │ │ │ ├── endless_method_definitions.md │ │ │ ├── infinite_enumerator.md │ │ │ ├── keyword_arg_forwarding.md │ │ │ ├── nested_hash_pattern.md │ │ │ ├── numbered_parameters.md │ │ │ ├── pattern_matching_guards.md │ │ │ ├── scoped_refinements.md │ │ │ └── yield_self_then.md │ │ └── middle │ │ │ ├── array_tally.md │ │ │ ├── destructuring_assignment.md │ │ │ ├── dig_method.md │ │ │ ├── frozen_string_literal.md │ │ │ ├── hash_transform_methods.md │ │ │ ├── numbered_block_parameters.md │ │ │ ├── pattern_matching_case_in.md │ │ │ ├── safe_navigation_operator.md │ │ │ ├── symbol_to_proc.md │ │ │ └── tap_debugging.md │ ├── tempfiles │ │ ├── advanced │ │ │ ├── atomic_tempfile_replacement.md │ │ │ └── encrypted_tempfile_openssl.md │ │ ├── beginner │ │ │ ├── tempfile_basic_creation.md │ │ │ └── tempfile_with_block_cleanup.md │ │ ├── expert │ │ │ ├── otmpfile_anonymous.md │ │ │ └── secure_wipe_tempfile.md │ │ └── middle │ │ │ ├── tempfile_auto_cleanup.md │ │ │ └── tempfile_custom_extension_and_dir.md │ ├── threads │ │ ├── advanced │ │ │ ├── graceful_thread_shutdown.md │ │ │ ├── prioritized_queue_and_conditionvariable.md │ │ │ ├── thread_local_memoization.md │ │ │ └── thread_pool_executor_concurrent_ruby.md │ │ ├── beginner │ │ │ ├── thread_basic_creation.md │ │ │ ├── thread_joining.md │ │ │ ├── thread_mutex_usage.md │ │ │ └── thread_passing_arguments.md │ │ ├── expert │ │ │ ├── barrier_synchronization_with_conditionvariable.md │ │ │ ├── thread_pool_with_sized_queue.md │ │ │ ├── thread_safe_lru_cache_with_monitor.md │ │ │ └── timeout_handling_with_thread_handle_interrupt.md │ │ └── middle │ │ │ ├── graceful_thread_lifecycle.md │ │ │ ├── mutex_synchronize_shared_data.md │ │ │ ├── queue_producer_consumer.md │ │ │ └── thread_local_variables.md │ ├── uri │ │ ├── advanced │ │ │ ├── custom_uri_scheme.md │ │ │ ├── idn_support_punycode.md │ │ │ └── query_param_merging.md │ │ ├── beginner │ │ │ ├── build_url_with_query.md │ │ │ ├── encode_decode_query.md │ │ │ └── parse_url.md │ │ ├── expert │ │ │ ├── advanced_uri_merging.md │ │ │ ├── custom_percent_encoding.md │ │ │ └── custom_uri_scheme.md │ │ └── middle │ │ │ ├── constructing_uris_with_encoding.md │ │ │ ├── merging_and_resolving_relative_uris.md │ │ │ └── parsing_modifying_query_params.md │ ├── variables │ │ ├── advanced │ │ │ ├── dynamic_instance_variables.md │ │ │ ├── dynamic_local_variables.md │ │ │ └── thread_local_variables.md │ │ ├── beginner │ │ │ ├── clear_variable_naming.md │ │ │ ├── multiple_assignment.md │ │ │ └── string_interpolation.md │ │ ├── expert │ │ │ ├── binding_local_variable_manipulation_expert.md │ │ │ ├── dynamic_constant_management_expert.md │ │ │ └── thread_fiber_local_variables_expert.md │ │ └── middle │ │ │ ├── block_vs_method_variable_scope.md │ │ │ ├── memoization_with_or_equal.md │ │ │ └── parallel_assignment_and_splat.md │ ├── xml │ │ ├── advanced │ │ │ ├── high_performance_ox.md │ │ │ ├── sax_streaming_large_xml.md │ │ │ └── xpath_with_namespaces.md │ │ ├── beginner │ │ │ ├── basic_parsing_with_rexml.md │ │ │ ├── building_xml_with_nokogiri_builder.md │ │ │ └── parsing_xml_with_nokogiri.md │ │ ├── expert │ │ │ ├── custom_sax_handler_performance.md │ │ │ ├── nokogiri_builder_namespaces_schema.md │ │ │ └── nokogiri_xml_reader_streaming.md │ │ └── middle │ │ │ ├── build_xml_with_builder.md │ │ │ ├── modify_xml_nodes_nokogiri.md │ │ │ └── parse_xml_with_namespaces.md │ └── yaml │ │ ├── advanced │ │ ├── custom_yaml_serialization.md │ │ ├── secure_yaml_safe_load.md │ │ └── streaming_yaml_parsing.md │ │ ├── beginner │ │ ├── dump_to_yaml.md │ │ ├── load_yaml_file.md │ │ └── safe_parse_yaml_string.md │ │ ├── expert │ │ ├── custom_psych_domain_type.md │ │ ├── secure_yaml_safe_load.md │ │ └── streaming_yaml_parser.md │ │ └── middle │ │ ├── custom_yaml_serialization.md │ │ ├── safe_load_yaml.md │ │ └── yaml_aliases_anchors.md └── sql │ ├── general │ ├── advanced │ │ ├── expression_and_partial_indexes.md │ │ ├── full_text_search_configurations.md │ │ ├── jsonb_indexed_queries.md │ │ ├── lateral_joins_for_dynamic_subqueries.md │ │ ├── materialized_views_optimization.md │ │ ├── merge_upsert_statements.md │ │ ├── optimizer_hints_and_plans.md │ │ ├── pivot_queries_crosstab.md │ │ ├── recursive_cte_hierarchical_queries.md │ │ └── window_functions_row_number.md │ ├── beginner │ │ ├── basic_inner_join.md │ │ ├── count_rows.md │ │ ├── filter_with_where.md │ │ ├── group_by_clause.md │ │ ├── insert_into_table.md │ │ ├── limit_results.md │ │ ├── select_specific_columns.md │ │ ├── sort_results_order_by.md │ │ ├── update_and_delete_records.md │ │ └── use_column_aliases.md │ ├── expert │ │ ├── explain_analyze_tuning.md │ │ ├── jsonb_indexing.md │ │ ├── lateral_joins.md │ │ ├── materialized_views_refresh.md │ │ ├── partition_pruning.md │ │ ├── pivot_unpivot.md │ │ ├── recursive_cte_hierarchies.md │ │ ├── row_level_security.md │ │ ├── upsert_on_conflict.md │ │ └── window_function_advanced_analytics.md │ └── middle │ │ ├── batch_inserts_updates.md │ │ ├── cte_for_complex_queries.md │ │ ├── full_text_search.md │ │ ├── index_usage_monitoring.md │ │ ├── join_performance_tips.md │ │ ├── jsonb_querying.md │ │ ├── parameterized_queries_security.md │ │ ├── query_plan_analysis.md │ │ ├── upsert_with_on_conflict.md │ │ └── window_functions_usage.md │ ├── mysql │ ├── advanced │ │ ├── cte_recursive.md │ │ ├── explain_analyze.md │ │ ├── fulltext_boolean_weights.md │ │ ├── generated_columns.md │ │ ├── json_functions.md │ │ ├── partitioning_range.md │ │ ├── performance_schema.md │ │ ├── spatial_index.md │ │ ├── transaction_isolation.md │ │ └── window_running_total.md │ ├── beginner │ │ ├── count_aggregate.md │ │ ├── delete_records.md │ │ ├── filter_with_where.md │ │ ├── group_by_results.md │ │ ├── inner_join.md │ │ ├── insert_data.md │ │ ├── limit_results.md │ │ ├── order_by_clause.md │ │ ├── select_all_columns.md │ │ └── update_records.md │ ├── expert │ │ ├── advanced_partition_pruning.md │ │ ├── extended_statistics_multicolumn_selectivity.md │ │ ├── generated_columns_json_optimization.md │ │ ├── invisible_indexes_testing.md │ │ ├── optimizer_hints_query_forcing.md │ │ ├── performance_schema_query_profiling.md │ │ ├── recursive_cte_hierarchies.md │ │ ├── user_defined_functions_extending.md │ │ └── window_functions_running_totals.md │ └── middle │ │ ├── ctes_common_table_expressions.md │ │ ├── explain_query.md │ │ ├── fulltext_search.md │ │ ├── group_concat_usage.md │ │ ├── index_usage.md │ │ ├── json_functions.md │ │ ├── limit_offset_performance.md │ │ ├── regex_search.md │ │ ├── user_variables.md │ │ └── window_functions.md │ ├── postgresql │ ├── advanced │ │ ├── declarative_partitioning_range.md │ │ ├── full_text_search_tsvector.md │ │ ├── jsonb_path_query.md │ │ ├── lateral_joins.md │ │ ├── materialized_view_concurrent_refresh.md │ │ ├── parallel_query_execution.md │ │ ├── partial_expression_index.md │ │ ├── recursive_cte_hierarchy.md │ │ ├── upsert_on_conflict.md │ │ └── window_function_rank.md │ ├── beginner │ │ ├── aggregate_functions.md │ │ ├── basic_join.md │ │ ├── connect_to_db.md │ │ ├── create_table.md │ │ ├── delete_data.md │ │ ├── insert_data.md │ │ ├── order_by_limit.md │ │ ├── select_basic.md │ │ ├── update_data.md │ │ └── where_clause.md │ ├── expert │ │ ├── autovacuum_and_bloat_analysis.md │ │ ├── dynamic_sql_in_plpgsql.md │ │ ├── jsonb_gin_expression_indexes.md │ │ ├── logical_replication_setup.md │ │ ├── parallel_query_tuning.md │ │ ├── partition_pruning_and_wise_joins.md │ │ ├── postgres_fdw_foreign_data_wrapper.md │ │ ├── recursive_cte_graph_traversal.md │ │ └── window_function_filter_clause.md │ └── middle │ │ ├── full_text_search.md │ │ ├── jsonb_query_indexing.md │ │ ├── lateral_joins_subqueries.md │ │ ├── materialized_views.md │ │ ├── partial_indexes.md │ │ ├── plpgsql_triggers_audit.md │ │ ├── recursive_cte_hierarchy.md │ │ ├── table_partitioning_range.md │ │ ├── upsert_on_conflict.md │ │ └── window_functions_running_totals.md │ └── sqlite │ ├── advanced │ ├── explain_query_planner.md │ ├── fts5_full_text_search.md │ ├── json1_extension.md │ ├── partial_indexes.md │ ├── pragma_performance_tuning.md │ ├── recursive_ctes.md │ ├── rtree_spatial_indexing.md │ ├── upsert_on_conflict.md │ ├── wal_journal_mode.md │ └── window_functions.md │ ├── beginner │ ├── aggregate_functions.md │ ├── basic_crud_operations.md │ ├── creating_a_database.md │ ├── creating_indexes.md │ ├── limiting_results.md │ ├── ordering_results.md │ ├── selecting_specific_columns.md │ ├── sqlite_installation.md │ ├── using_transactions.md │ └── using_where_clause.md │ ├── expert │ ├── custom_sql_functions_c.md │ ├── explain_query_plan_optimization.md │ ├── fts5_custom_tokenizer.md │ ├── json1_complex_queries.md │ ├── partial_expression_indexes.md │ ├── pragma_low_level_optimization.md │ ├── recursive_cte_hierarchical_queries.md │ ├── virtual_tables_external.md │ ├── wal_checkpoint_tuning.md │ └── window_functions_analytics.md │ └── middle │ ├── common_table_expressions.md │ ├── fts5_full_text_search.md │ ├── json_functions.md │ ├── partial_indexes.md │ ├── pragma_performance_tuning.md │ ├── recursive_cte_hierarchy.md │ ├── timestamp_triggers.md │ ├── transaction_batching.md │ ├── upsert_on_conflict.md │ └── window_functions_row_number.md ├── get-smart.gemspec ├── lib ├── generators │ └── get │ │ └── smart │ │ ├── install_generator.rb │ │ └── templates │ │ └── get_smart.rb ├── get │ ├── smart.rb │ └── smart │ │ ├── ai │ │ ├── generator.rb │ │ └── verifier.rb │ │ ├── app_context.rb │ │ ├── collection.rb │ │ ├── learning_path.rb │ │ ├── logic.rb │ │ ├── memory.rb │ │ ├── railtie.rb │ │ ├── tip.rb │ │ ├── topic.rb │ │ ├── topics.rb │ │ └── version.rb └── tasks │ └── get │ └── smart_tasks.rake ├── list.txt └── spec ├── dummy ├── .dockerignore ├── .gitattributes ├── .gitignore ├── .rubocop.yml ├── .ruby-version ├── Dockerfile ├── Gemfile ├── Gemfile.lock ├── README.md ├── Rakefile ├── app │ ├── assets │ │ ├── images │ │ │ └── .keep │ │ └── stylesheets │ │ │ └── application.css │ ├── controllers │ │ ├── application_controller.rb │ │ └── concerns │ │ │ └── .keep │ ├── helpers │ │ └── application_helper.rb │ ├── models │ │ └── concerns │ │ │ └── .keep │ └── views │ │ ├── layouts │ │ └── application.html.erb │ │ └── pwa │ │ ├── manifest.json.erb │ │ └── service-worker.js ├── bin │ ├── brakeman │ ├── bundle │ ├── dev │ ├── docker-entrypoint │ ├── kamal │ ├── rails │ ├── rake │ ├── rubocop │ ├── setup │ └── thrust ├── config.ru ├── config │ ├── application.rb │ ├── boot.rb │ ├── credentials.yml.enc │ ├── deploy.yml │ ├── environment.rb │ ├── environments │ │ ├── development.rb │ │ ├── production.rb │ │ └── test.rb │ ├── initializers │ │ ├── assets.rb │ │ ├── content_security_policy.rb │ │ ├── filter_parameter_logging.rb │ │ ├── get_smart.rb │ │ └── inflections.rb │ ├── locales │ │ └── en.yml │ ├── puma.rb │ └── routes.rb ├── lib │ └── tasks │ │ └── .keep ├── log │ └── .keep ├── public │ ├── 400.html │ ├── 404.html │ ├── 406-unsupported-browser.html │ ├── 422.html │ ├── 500.html │ ├── icon.png │ ├── icon.svg │ └── robots.txt ├── script │ └── .keep └── vendor │ └── .keep ├── files ├── js │ └── jquery │ │ └── beginner │ │ └── js1.md ├── other │ └── skills │ │ └── middle │ │ ├── file1.md │ │ ├── file2.md │ │ └── file3.md └── sql │ └── basics │ └── beginner │ └── file1.md ├── happy_path_spec.rb └── spec_helper.rb /.env.sample: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/.env.sample -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/.gitignore -------------------------------------------------------------------------------- /.rubocop.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/.rubocop.yml -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/Gemfile -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/Gemfile.lock -------------------------------------------------------------------------------- /MIT-LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/MIT-LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/README.md -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/Rakefile -------------------------------------------------------------------------------- /bin/dev: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/bin/dev -------------------------------------------------------------------------------- /bin/generator: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/bin/generator -------------------------------------------------------------------------------- /bin/new: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/bin/new -------------------------------------------------------------------------------- /bin/rubocop: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/bin/rubocop -------------------------------------------------------------------------------- /bin/run: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/bin/run -------------------------------------------------------------------------------- /bin/verifier: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/bin/verifier -------------------------------------------------------------------------------- /docs/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/docs/example.png -------------------------------------------------------------------------------- /docs/snapshot-bmc-button-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/docs/snapshot-bmc-button-small.png -------------------------------------------------------------------------------- /docs/snapshot-bmc-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/docs/snapshot-bmc-button.png -------------------------------------------------------------------------------- /docs/structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/docs/structure.png -------------------------------------------------------------------------------- /files/gems/bcrypt/advanced/add_pepper_to_bcrypt.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/bcrypt/advanced/add_pepper_to_bcrypt.md -------------------------------------------------------------------------------- /files/gems/bcrypt/advanced/async_password_rehash.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/bcrypt/advanced/async_password_rehash.md -------------------------------------------------------------------------------- /files/gems/bcrypt/advanced/dynamic_bcrypt_cost.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/bcrypt/advanced/dynamic_bcrypt_cost.md -------------------------------------------------------------------------------- /files/gems/bcrypt/beginner/bcrypt_authentication.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/bcrypt/beginner/bcrypt_authentication.md -------------------------------------------------------------------------------- /files/gems/bcrypt/beginner/bcrypt_installation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/bcrypt/beginner/bcrypt_installation.md -------------------------------------------------------------------------------- /files/gems/bcrypt/beginner/bcrypt_model_setup.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/bcrypt/beginner/bcrypt_model_setup.md -------------------------------------------------------------------------------- /files/gems/bcrypt/expert/bcrypt_async_hashing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/bcrypt/expert/bcrypt_async_hashing.md -------------------------------------------------------------------------------- /files/gems/bcrypt/expert/bcrypt_legacy_migration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/bcrypt/expert/bcrypt_legacy_migration.md -------------------------------------------------------------------------------- /files/gems/bcrypt/middle/bcrypt_custom_cost.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/bcrypt/middle/bcrypt_custom_cost.md -------------------------------------------------------------------------------- /files/gems/bcrypt/middle/bcrypt_rehash_on_login.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/bcrypt/middle/bcrypt_rehash_on_login.md -------------------------------------------------------------------------------- /files/gems/chartkick/advanced/after_render_hook.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/chartkick/advanced/after_render_hook.md -------------------------------------------------------------------------------- /files/gems/chartkick/advanced/multi_axis_charts.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/chartkick/advanced/multi_axis_charts.md -------------------------------------------------------------------------------- /files/gems/chartkick/beginner/basic_line_chart.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/chartkick/beginner/basic_line_chart.md -------------------------------------------------------------------------------- /files/gems/chartkick/beginner/setup_chartkick.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/chartkick/beginner/setup_chartkick.md -------------------------------------------------------------------------------- /files/gems/chartkick/middle/ajax_refresh.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/chartkick/middle/ajax_refresh.md -------------------------------------------------------------------------------- /files/gems/chartkick/middle/custom_chart_options.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/chartkick/middle/custom_chart_options.md -------------------------------------------------------------------------------- /files/gems/chartkick/middle/group_by_period.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/chartkick/middle/group_by_period.md -------------------------------------------------------------------------------- /files/gems/chartkick/middle/multiple_series.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/chartkick/middle/multiple_series.md -------------------------------------------------------------------------------- /files/gems/devise/beginner/configure_routes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/devise/beginner/configure_routes.md -------------------------------------------------------------------------------- /files/gems/devise/beginner/generate_user_model.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/devise/beginner/generate_user_model.md -------------------------------------------------------------------------------- /files/gems/devise/beginner/install_devise.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/devise/beginner/install_devise.md -------------------------------------------------------------------------------- /files/gems/devise/expert/custom_warden_2fa.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/devise/expert/custom_warden_2fa.md -------------------------------------------------------------------------------- /files/gems/devise/expert/jwt_stateless_api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/devise/expert/jwt_stateless_api.md -------------------------------------------------------------------------------- /files/gems/devise/middle/custom_redirect_path.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/devise/middle/custom_redirect_path.md -------------------------------------------------------------------------------- /files/gems/devise/middle/permit_extra_params.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/devise/middle/permit_extra_params.md -------------------------------------------------------------------------------- /files/gems/devise/middle/rspec_devise_helpers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/devise/middle/rspec_devise_helpers.md -------------------------------------------------------------------------------- /files/gems/factory_bot_rails/middle/use_traits.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/factory_bot_rails/middle/use_traits.md -------------------------------------------------------------------------------- /files/gems/faker/advanced/custom_provider.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/faker/advanced/custom_provider.md -------------------------------------------------------------------------------- /files/gems/faker/advanced/multilingual_data.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/faker/advanced/multilingual_data.md -------------------------------------------------------------------------------- /files/gems/faker/advanced/seed_reproducibility.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/faker/advanced/seed_reproducibility.md -------------------------------------------------------------------------------- /files/gems/faker/beginner/faker_in_tests.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/faker/beginner/faker_in_tests.md -------------------------------------------------------------------------------- /files/gems/faker/beginner/installing_faker_gem.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/faker/beginner/installing_faker_gem.md -------------------------------------------------------------------------------- /files/gems/faker/beginner/seeding_with_faker.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/faker/beginner/seeding_with_faker.md -------------------------------------------------------------------------------- /files/gems/faker/expert/custom_faker_provider.md.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/faker/expert/custom_faker_provider.md.md -------------------------------------------------------------------------------- /files/gems/faker/middle/faker_unique_generator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/faker/middle/faker_unique_generator.md -------------------------------------------------------------------------------- /files/gems/faker/middle/faker_with_factorybot.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/faker/middle/faker_with_factorybot.md -------------------------------------------------------------------------------- /files/gems/faraday/beginner/faraday_get_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/faraday/beginner/faraday_get_request.md -------------------------------------------------------------------------------- /files/gems/faraday/middle/timeouts_and_retries.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/faraday/middle/timeouts_and_retries.md -------------------------------------------------------------------------------- /files/gems/flipper/advanced/custom_actor_groups.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/flipper/advanced/custom_actor_groups.md -------------------------------------------------------------------------------- /files/gems/flipper/beginner/flipper_basic_toggle.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/flipper/beginner/flipper_basic_toggle.md -------------------------------------------------------------------------------- /files/gems/flipper/beginner/flipper_setup.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/flipper/beginner/flipper_setup.md -------------------------------------------------------------------------------- /files/gems/flipper/expert/multi_region_adapter.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/flipper/expert/multi_region_adapter.md -------------------------------------------------------------------------------- /files/gems/geocoder/beginner/geocoder_install.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/geocoder/beginner/geocoder_install.md -------------------------------------------------------------------------------- /files/gems/geocoder/middle/model_geocoding_setup.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/geocoder/middle/model_geocoding_setup.md -------------------------------------------------------------------------------- /files/gems/httparty/advanced/httparty_with_retry.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/httparty/advanced/httparty_with_retry.md -------------------------------------------------------------------------------- /files/gems/httparty/beginner/basic_get_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/httparty/beginner/basic_get_request.md -------------------------------------------------------------------------------- /files/gems/httparty/beginner/query_params_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/httparty/beginner/query_params_usage.md -------------------------------------------------------------------------------- /files/gems/mini_magick/beginner/convert_and_crop.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/mini_magick/beginner/convert_and_crop.md -------------------------------------------------------------------------------- /files/gems/mini_magick/beginner/resize_image.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/mini_magick/beginner/resize_image.md -------------------------------------------------------------------------------- /files/gems/mini_magick/middle/conditional_resize.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/mini_magick/middle/conditional_resize.md -------------------------------------------------------------------------------- /files/gems/pundit/advanced/dynamic_policy_scopes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/pundit/advanced/dynamic_policy_scopes.md -------------------------------------------------------------------------------- /files/gems/pundit/beginner/pundit_install_setup.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/pundit/beginner/pundit_install_setup.md -------------------------------------------------------------------------------- /files/gems/ransack/beginner/basic_search_form.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/ransack/beginner/basic_search_form.md -------------------------------------------------------------------------------- /files/gems/ransack/beginner/multi_field_search.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/ransack/beginner/multi_field_search.md -------------------------------------------------------------------------------- /files/gems/ransack/beginner/sorting_results.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/ransack/beginner/sorting_results.md -------------------------------------------------------------------------------- /files/gems/redis/beginner/connecting_to_redis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/redis/beginner/connecting_to_redis.md -------------------------------------------------------------------------------- /files/gems/redis/beginner/set_and_get_keys.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/redis/beginner/set_and_get_keys.md -------------------------------------------------------------------------------- /files/gems/redis/beginner/setting_key_expiration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/redis/beginner/setting_key_expiration.md -------------------------------------------------------------------------------- /files/gems/redis/beginner/working_with_lists.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/redis/beginner/working_with_lists.md -------------------------------------------------------------------------------- /files/gems/redis/middle/distributed_lock_redlock.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/redis/middle/distributed_lock_redlock.md -------------------------------------------------------------------------------- /files/gems/redis/middle/fragment_caching_redis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/redis/middle/fragment_caching_redis.md -------------------------------------------------------------------------------- /files/gems/redis/middle/rate_limiter_redis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/redis/middle/rate_limiter_redis.md -------------------------------------------------------------------------------- /files/gems/redis/middle/session_store_redis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/redis/middle/session_store_redis.md -------------------------------------------------------------------------------- /files/gems/rspec/advanced/monkey_patch_rspec_dsl.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/advanced/monkey_patch_rspec_dsl.md -------------------------------------------------------------------------------- /files/gems/rspec/advanced/profiling_slow_specs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/advanced/profiling_slow_specs.md -------------------------------------------------------------------------------- /files/gems/rspec/beginner/rspec_after_hooks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/beginner/rspec_after_hooks.md -------------------------------------------------------------------------------- /files/gems/rspec/beginner/rspec_before_hooks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/beginner/rspec_before_hooks.md -------------------------------------------------------------------------------- /files/gems/rspec/beginner/rspec_common_matchers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/beginner/rspec_common_matchers.md -------------------------------------------------------------------------------- /files/gems/rspec/beginner/rspec_describe_blocks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/beginner/rspec_describe_blocks.md -------------------------------------------------------------------------------- /files/gems/rspec/beginner/rspec_focus_tag.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/beginner/rspec_focus_tag.md -------------------------------------------------------------------------------- /files/gems/rspec/beginner/rspec_it_blocks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/beginner/rspec_it_blocks.md -------------------------------------------------------------------------------- /files/gems/rspec/beginner/rspec_let_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/beginner/rspec_let_usage.md -------------------------------------------------------------------------------- /files/gems/rspec/beginner/rspec_setup.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/beginner/rspec_setup.md -------------------------------------------------------------------------------- /files/gems/rspec/beginner/rspec_shared_examples.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/beginner/rspec_shared_examples.md -------------------------------------------------------------------------------- /files/gems/rspec/expert/advanced_const_mocking.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/expert/advanced_const_mocking.md -------------------------------------------------------------------------------- /files/gems/rspec/expert/custom_formatters.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/expert/custom_formatters.md -------------------------------------------------------------------------------- /files/gems/rspec/expert/hook_order_customization.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/expert/hook_order_customization.md -------------------------------------------------------------------------------- /files/gems/rspec/expert/performance_profiling.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/expert/performance_profiling.md -------------------------------------------------------------------------------- /files/gems/rspec/expert/vcr_webmock_advanced.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/expert/vcr_webmock_advanced.md -------------------------------------------------------------------------------- /files/gems/rspec/middle/aggregate_failures.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/middle/aggregate_failures.md -------------------------------------------------------------------------------- /files/gems/rspec/middle/around_hooks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/middle/around_hooks.md -------------------------------------------------------------------------------- /files/gems/rspec/middle/custom_matchers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/middle/custom_matchers.md -------------------------------------------------------------------------------- /files/gems/rspec/middle/instance_double_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/middle/instance_double_usage.md -------------------------------------------------------------------------------- /files/gems/rspec/middle/let_vs_let_bang.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/middle/let_vs_let_bang.md -------------------------------------------------------------------------------- /files/gems/rspec/middle/leveraging_contexts.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/middle/leveraging_contexts.md -------------------------------------------------------------------------------- /files/gems/rspec/middle/named_subject.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/middle/named_subject.md -------------------------------------------------------------------------------- /files/gems/rspec/middle/shared_examples_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/rspec/middle/shared_examples_usage.md -------------------------------------------------------------------------------- /files/gems/ruby-openai/middle/parallel_requests.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/ruby-openai/middle/parallel_requests.md -------------------------------------------------------------------------------- /files/gems/sidekiq/advanced/batch_orchestration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/sidekiq/advanced/batch_orchestration.md -------------------------------------------------------------------------------- /files/gems/sidekiq/advanced/custom_retry_backoff.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/sidekiq/advanced/custom_retry_backoff.md -------------------------------------------------------------------------------- /files/gems/sidekiq/advanced/unique_job_locking.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/sidekiq/advanced/unique_job_locking.md -------------------------------------------------------------------------------- /files/gems/sidekiq/beginner/create_basic_worker.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/sidekiq/beginner/create_basic_worker.md -------------------------------------------------------------------------------- /files/gems/sidekiq/expert/sidekiq_batch_chaining.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/sidekiq/expert/sidekiq_batch_chaining.md -------------------------------------------------------------------------------- /files/gems/sidekiq/middle/sidekiq_batch_grouping.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/sidekiq/middle/sidekiq_batch_grouping.md -------------------------------------------------------------------------------- /files/gems/sidekiq/middle/sidekiq_custom_retry.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/sidekiq/middle/sidekiq_custom_retry.md -------------------------------------------------------------------------------- /files/gems/sidekiq/middle/sidekiq_schedule_jobs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/sidekiq/middle/sidekiq_schedule_jobs.md -------------------------------------------------------------------------------- /files/gems/simple_form/advanced/custom_wrappers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/simple_form/advanced/custom_wrappers.md -------------------------------------------------------------------------------- /files/gems/simple_form/middle/collection_inputs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/simple_form/middle/collection_inputs.md -------------------------------------------------------------------------------- /files/gems/solid_queue/middle/batch_enqueueing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/solid_queue/middle/batch_enqueueing.md -------------------------------------------------------------------------------- /files/gems/vcr/advanced/vcr_custom_hooks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/vcr/advanced/vcr_custom_hooks.md -------------------------------------------------------------------------------- /files/gems/vcr/beginner/basic_cassette_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/vcr/beginner/basic_cassette_usage.md -------------------------------------------------------------------------------- /files/gems/vcr/middle/custom_request_matchers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/vcr/middle/custom_request_matchers.md -------------------------------------------------------------------------------- /files/gems/vcr/middle/dynamic_cassette_naming.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/vcr/middle/dynamic_cassette_naming.md -------------------------------------------------------------------------------- /files/gems/view_component/advanced/nested_slots.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/view_component/advanced/nested_slots.md -------------------------------------------------------------------------------- /files/gems/view_component/middle/using_slots.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/view_component/middle/using_slots.md -------------------------------------------------------------------------------- /files/gems/webmock/beginner/stub_get_requests.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/webmock/beginner/stub_get_requests.md -------------------------------------------------------------------------------- /files/gems/webmock/beginner/verify_http_requests.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/gems/webmock/beginner/verify_http_requests.md -------------------------------------------------------------------------------- /files/javascript/stimulus/beginner/using_targets.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/javascript/stimulus/beginner/using_targets.md -------------------------------------------------------------------------------- /files/javascript/stimulus/beginner/using_values.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/javascript/stimulus/beginner/using_values.md -------------------------------------------------------------------------------- /files/javascript/stimulus/expert/dynamic_import.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/javascript/stimulus/expert/dynamic_import.md -------------------------------------------------------------------------------- /files/javascript/stimulus/expert/lifecycle_hooks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/javascript/stimulus/expert/lifecycle_hooks.md -------------------------------------------------------------------------------- /files/javascript/stimulus/expert/state_machine.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/javascript/stimulus/expert/state_machine.md -------------------------------------------------------------------------------- /files/javascript/stimulus/expert/value_types_map.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/javascript/stimulus/expert/value_types_map.md -------------------------------------------------------------------------------- /files/javascript/stimulus/middle/dynamic_values.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/javascript/stimulus/middle/dynamic_values.md -------------------------------------------------------------------------------- /files/javascript/stimulus/middle/nested_targets.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/javascript/stimulus/middle/nested_targets.md -------------------------------------------------------------------------------- /files/javascript/turbo/beginner/install_turbo_js.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/javascript/turbo/beginner/install_turbo_js.md -------------------------------------------------------------------------------- /files/javascript/turbo/beginner/turbo_debug_mode.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/javascript/turbo/beginner/turbo_debug_mode.md -------------------------------------------------------------------------------- /files/javascript/turbo/expert/turbo_security_csp.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/javascript/turbo/expert/turbo_security_csp.md -------------------------------------------------------------------------------- /files/javascript/turbo/middle/turbo_frame_cache.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/javascript/turbo/middle/turbo_frame_cache.md -------------------------------------------------------------------------------- /files/nosql/redis/advanced/redis_lua_scripting.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/nosql/redis/advanced/redis_lua_scripting.md -------------------------------------------------------------------------------- /files/nosql/redis/advanced/redis_pipelining.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/nosql/redis/advanced/redis_pipelining.md -------------------------------------------------------------------------------- /files/nosql/redis/advanced/redis_streams.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/nosql/redis/advanced/redis_streams.md -------------------------------------------------------------------------------- /files/nosql/redis/beginner/redis_basic_key_value.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/nosql/redis/beginner/redis_basic_key_value.md -------------------------------------------------------------------------------- /files/nosql/redis/beginner/redis_list_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/nosql/redis/beginner/redis_list_usage.md -------------------------------------------------------------------------------- /files/rails/active_support/beginner/try_method.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/active_support/beginner/try_method.md -------------------------------------------------------------------------------- /files/rails/api_mode/beginner/configure_cors.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/api_mode/beginner/configure_cors.md -------------------------------------------------------------------------------- /files/rails/api_mode/beginner/create_api_app.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/api_mode/beginner/create_api_app.md -------------------------------------------------------------------------------- /files/rails/api_mode/middle/api_error_handling.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/api_mode/middle/api_error_handling.md -------------------------------------------------------------------------------- /files/rails/api_mode/middle/api_generators.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/api_mode/middle/api_generators.md -------------------------------------------------------------------------------- /files/rails/api_mode/middle/api_versioning.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/api_mode/middle/api_versioning.md -------------------------------------------------------------------------------- /files/rails/api_mode/middle/json_serialization.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/api_mode/middle/json_serialization.md -------------------------------------------------------------------------------- /files/rails/assets/advanced/dynamic_asset_host.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/assets/advanced/dynamic_asset_host.md -------------------------------------------------------------------------------- /files/rails/assets/beginner/precompile_assets.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/assets/beginner/precompile_assets.md -------------------------------------------------------------------------------- /files/rails/assets/beginner/sprockets_helpers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/assets/beginner/sprockets_helpers.md -------------------------------------------------------------------------------- /files/rails/assets/expert/inline_critical_css.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/assets/expert/inline_critical_css.md -------------------------------------------------------------------------------- /files/rails/assets/middle/configure_asset_host.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/assets/middle/configure_asset_host.md -------------------------------------------------------------------------------- /files/rails/benchmarking/beginner/benchmark_bm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/benchmarking/beginner/benchmark_bm.md -------------------------------------------------------------------------------- /files/rails/caching/beginner/cache_expiration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/caching/beginner/cache_expiration.md -------------------------------------------------------------------------------- /files/rails/caching/expert/race_condition_ttl.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/caching/expert/race_condition_ttl.md -------------------------------------------------------------------------------- /files/rails/controllers/middle/action_caching.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/controllers/middle/action_caching.md -------------------------------------------------------------------------------- /files/rails/controllers/middle/service_objects.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/controllers/middle/service_objects.md -------------------------------------------------------------------------------- /files/rails/debugging/beginner/binding_irb.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/debugging/beginner/binding_irb.md -------------------------------------------------------------------------------- /files/rails/debugging/beginner/byebug_basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/debugging/beginner/byebug_basics.md -------------------------------------------------------------------------------- /files/rails/debugging/beginner/logging_debug.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/debugging/beginner/logging_debug.md -------------------------------------------------------------------------------- /files/rails/debugging/beginner/rails_console.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/debugging/beginner/rails_console.md -------------------------------------------------------------------------------- /files/rails/debugging/beginner/view_dev_logs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/debugging/beginner/view_dev_logs.md -------------------------------------------------------------------------------- /files/rails/debugging/middle/tagged_logging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/debugging/middle/tagged_logging.md -------------------------------------------------------------------------------- /files/rails/forms/beginner/checkbox_and_radio.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/beginner/checkbox_and_radio.md -------------------------------------------------------------------------------- /files/rails/forms/beginner/date_time_select.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/beginner/date_time_select.md -------------------------------------------------------------------------------- /files/rails/forms/beginner/file_upload_field.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/beginner/file_upload_field.md -------------------------------------------------------------------------------- /files/rails/forms/beginner/form_tag_basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/beginner/form_tag_basics.md -------------------------------------------------------------------------------- /files/rails/forms/beginner/form_with_model.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/beginner/form_with_model.md -------------------------------------------------------------------------------- /files/rails/forms/beginner/nested_fields_for.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/beginner/nested_fields_for.md -------------------------------------------------------------------------------- /files/rails/forms/beginner/select_dropdown.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/beginner/select_dropdown.md -------------------------------------------------------------------------------- /files/rails/forms/expert/custom_form_builder.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/expert/custom_form_builder.md -------------------------------------------------------------------------------- /files/rails/forms/expert/dynamic_nested_forms.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/expert/dynamic_nested_forms.md -------------------------------------------------------------------------------- /files/rails/forms/expert/form_object_pattern.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/expert/form_object_pattern.md -------------------------------------------------------------------------------- /files/rails/forms/expert/real_time_validations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/expert/real_time_validations.md -------------------------------------------------------------------------------- /files/rails/forms/middle/checkbox_array_input.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/middle/checkbox_array_input.md -------------------------------------------------------------------------------- /files/rails/forms/middle/csrf_token_auto.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/middle/csrf_token_auto.md -------------------------------------------------------------------------------- /files/rails/forms/middle/custom_form_builder.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/middle/custom_form_builder.md -------------------------------------------------------------------------------- /files/rails/forms/middle/custom_input_options.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/middle/custom_input_options.md -------------------------------------------------------------------------------- /files/rails/forms/middle/i18n_labels.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/forms/middle/i18n_labels.md -------------------------------------------------------------------------------- /files/rails/helpers/expert/dsl_fluent_helpers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/helpers/expert/dsl_fluent_helpers.md -------------------------------------------------------------------------------- /files/rails/helpers/middle/capture_blocks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/helpers/middle/capture_blocks.md -------------------------------------------------------------------------------- /files/rails/helpers/middle/content_tag_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/helpers/middle/content_tag_usage.md -------------------------------------------------------------------------------- /files/rails/i18n/advanced/custom_db_backend.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/i18n/advanced/custom_db_backend.md -------------------------------------------------------------------------------- /files/rails/i18n/advanced/lazy_mailer_lookup.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/i18n/advanced/lazy_mailer_lookup.md -------------------------------------------------------------------------------- /files/rails/i18n/beginner/setup_default_locale.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/i18n/beginner/setup_default_locale.md -------------------------------------------------------------------------------- /files/rails/i18n/beginner/translate_in_views.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/i18n/beginner/translate_in_views.md -------------------------------------------------------------------------------- /files/rails/i18n/expert/namespace_lazy_lookups.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/i18n/expert/namespace_lazy_lookups.md -------------------------------------------------------------------------------- /files/rails/i18n/middle/datetime_localization.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/i18n/middle/datetime_localization.md -------------------------------------------------------------------------------- /files/rails/i18n/middle/locale_fallbacks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/i18n/middle/locale_fallbacks.md -------------------------------------------------------------------------------- /files/rails/layouts/beginner/yield_content_for.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/layouts/beginner/yield_content_for.md -------------------------------------------------------------------------------- /files/rails/layouts/middle/nested_layouts.md.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/layouts/middle/nested_layouts.md.md -------------------------------------------------------------------------------- /files/rails/logging/beginner/logging_in_models.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/logging/beginner/logging_in_models.md -------------------------------------------------------------------------------- /files/rails/logging/beginner/tagged_logging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/logging/beginner/tagged_logging.md -------------------------------------------------------------------------------- /files/rails/logging/middle/silence_logging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/logging/middle/silence_logging.md -------------------------------------------------------------------------------- /files/rails/logging/middle/tagged_logging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/logging/middle/tagged_logging.md -------------------------------------------------------------------------------- /files/rails/mailers/beginner/default_options.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/mailers/beginner/default_options.md -------------------------------------------------------------------------------- /files/rails/mailers/beginner/generating_mailer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/mailers/beginner/generating_mailer.md -------------------------------------------------------------------------------- /files/rails/mailers/beginner/preview_emails.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/mailers/beginner/preview_emails.md -------------------------------------------------------------------------------- /files/rails/mailers/beginner/test_mailers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/mailers/beginner/test_mailers.md -------------------------------------------------------------------------------- /files/rails/mailers/middle/customizing_layouts.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/mailers/middle/customizing_layouts.md -------------------------------------------------------------------------------- /files/rails/mailers/middle/default_url_options.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/mailers/middle/default_url_options.md -------------------------------------------------------------------------------- /files/rails/mailers/middle/localizing_content.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/mailers/middle/localizing_content.md -------------------------------------------------------------------------------- /files/rails/mailers/middle/mailer_previews.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/mailers/middle/mailer_previews.md -------------------------------------------------------------------------------- /files/rails/mailers/middle/testing_mailers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/mailers/middle/testing_mailers.md -------------------------------------------------------------------------------- /files/rails/models/beginner/model_associations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/models/beginner/model_associations.md -------------------------------------------------------------------------------- /files/rails/models/beginner/model_callbacks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/models/beginner/model_callbacks.md -------------------------------------------------------------------------------- /files/rails/models/beginner/model_constants.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/models/beginner/model_constants.md -------------------------------------------------------------------------------- /files/rails/models/beginner/model_delegation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/models/beginner/model_delegation.md -------------------------------------------------------------------------------- /files/rails/models/beginner/model_enums.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/models/beginner/model_enums.md -------------------------------------------------------------------------------- /files/rails/models/beginner/model_scopes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/models/beginner/model_scopes.md -------------------------------------------------------------------------------- /files/rails/models/beginner/model_testing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/models/beginner/model_testing.md -------------------------------------------------------------------------------- /files/rails/models/beginner/model_validations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/models/beginner/model_validations.md -------------------------------------------------------------------------------- /files/rails/models/expert/sti_abstract_base.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/models/expert/sti_abstract_base.md -------------------------------------------------------------------------------- /files/rails/models/middle/rails_models_enums.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/models/middle/rails_models_enums.md -------------------------------------------------------------------------------- /files/rails/models/middle/rails_models_scopes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/models/middle/rails_models_scopes.md -------------------------------------------------------------------------------- /files/rails/partials/middle/caching_partials.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/partials/middle/caching_partials.md -------------------------------------------------------------------------------- /files/rails/partials/middle/nested_partials.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/partials/middle/nested_partials.md -------------------------------------------------------------------------------- /files/rails/routing/advanced/api_versioning.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/routing/advanced/api_versioning.md -------------------------------------------------------------------------------- /files/rails/routing/advanced/globbing_routes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/routing/advanced/globbing_routes.md -------------------------------------------------------------------------------- /files/rails/routing/advanced/route_constraints.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/routing/advanced/route_constraints.md -------------------------------------------------------------------------------- /files/rails/routing/advanced/routing_concerns.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/routing/advanced/routing_concerns.md -------------------------------------------------------------------------------- /files/rails/routing/advanced/shallow_routing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/routing/advanced/shallow_routing.md -------------------------------------------------------------------------------- /files/rails/routing/beginner/inspect_routes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/routing/beginner/inspect_routes.md -------------------------------------------------------------------------------- /files/rails/routing/beginner/nested_resources.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/routing/beginner/nested_resources.md -------------------------------------------------------------------------------- /files/rails/routing/beginner/restful_resources.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/routing/beginner/restful_resources.md -------------------------------------------------------------------------------- /files/rails/routing/beginner/root_route.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/routing/beginner/root_route.md -------------------------------------------------------------------------------- /files/rails/routing/middle/route_globbing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/routing/middle/route_globbing.md -------------------------------------------------------------------------------- /files/rails/routing/middle/routing_concerns.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/routing/middle/routing_concerns.md -------------------------------------------------------------------------------- /files/rails/routing/middle/shallow_nesting.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/routing/middle/shallow_nesting.md -------------------------------------------------------------------------------- /files/rails/security/advanced/oauth_pkce_flow.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/security/advanced/oauth_pkce_flow.md -------------------------------------------------------------------------------- /files/rails/security/beginner/csrf_protection.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/security/beginner/csrf_protection.md -------------------------------------------------------------------------------- /files/rails/security/beginner/force_ssl.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/security/beginner/force_ssl.md -------------------------------------------------------------------------------- /files/rails/security/beginner/secure_headers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/security/beginner/secure_headers.md -------------------------------------------------------------------------------- /files/rails/security/expert/csp_with_nonces.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/security/expert/csp_with_nonces.md -------------------------------------------------------------------------------- /files/rails/security/expert/hsts_preload.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/security/expert/hsts_preload.md -------------------------------------------------------------------------------- /files/rails/security/middle/bcrypt_passwords.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/security/middle/bcrypt_passwords.md -------------------------------------------------------------------------------- /files/rails/security/middle/csrf_protection.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/security/middle/csrf_protection.md -------------------------------------------------------------------------------- /files/rails/security/middle/enforce_ssl.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/security/middle/enforce_ssl.md -------------------------------------------------------------------------------- /files/rails/security/middle/output_escaping.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/security/middle/output_escaping.md -------------------------------------------------------------------------------- /files/rails/security/middle/secure_redirects.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/security/middle/secure_redirects.md -------------------------------------------------------------------------------- /files/rails/security/middle/security_headers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/security/middle/security_headers.md -------------------------------------------------------------------------------- /files/rails/security/middle/strong_parameters.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/security/middle/strong_parameters.md -------------------------------------------------------------------------------- /files/rails/security/middle/x_frame_options.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/security/middle/x_frame_options.md -------------------------------------------------------------------------------- /files/rails/testing/beginner/factorybot_basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/testing/beginner/factorybot_basics.md -------------------------------------------------------------------------------- /files/rails/testing/beginner/setup_rspec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/testing/beginner/setup_rspec.md -------------------------------------------------------------------------------- /files/rails/testing/beginner/using_fixtures.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/testing/beginner/using_fixtures.md -------------------------------------------------------------------------------- /files/rails/testing/expert/mutant_integration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/testing/expert/mutant_integration.md -------------------------------------------------------------------------------- /files/rails/testing/middle/json_api_parsing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/testing/middle/json_api_parsing.md -------------------------------------------------------------------------------- /files/rails/views/advanced/capture-safeconcat.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/advanced/capture-safeconcat.md -------------------------------------------------------------------------------- /files/rails/views/advanced/cells-gem-usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/advanced/cells-gem-usage.md -------------------------------------------------------------------------------- /files/rails/views/advanced/custom-form-builder.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/advanced/custom-form-builder.md -------------------------------------------------------------------------------- /files/rails/views/advanced/dynamic-view-paths.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/advanced/dynamic-view-paths.md -------------------------------------------------------------------------------- /files/rails/views/advanced/lazy-asset-loading.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/advanced/lazy-asset-loading.md -------------------------------------------------------------------------------- /files/rails/views/advanced/named-content-slots.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/advanced/named-content-slots.md -------------------------------------------------------------------------------- /files/rails/views/advanced/viewcomponent-usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/advanced/viewcomponent-usage.md -------------------------------------------------------------------------------- /files/rails/views/beginner/content_tag_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/beginner/content_tag_usage.md -------------------------------------------------------------------------------- /files/rails/views/beginner/escaping_html.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/beginner/escaping_html.md -------------------------------------------------------------------------------- /files/rails/views/beginner/forms_form_with.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/beginner/forms_form_with.md -------------------------------------------------------------------------------- /files/rails/views/beginner/helpers_image_tag.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/beginner/helpers_image_tag.md -------------------------------------------------------------------------------- /files/rails/views/beginner/helpers_link_to.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/beginner/helpers_link_to.md -------------------------------------------------------------------------------- /files/rails/views/beginner/layouts_application.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/beginner/layouts_application.md -------------------------------------------------------------------------------- /files/rails/views/beginner/partials_basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/beginner/partials_basics.md -------------------------------------------------------------------------------- /files/rails/views/beginner/partials_collection.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/beginner/partials_collection.md -------------------------------------------------------------------------------- /files/rails/views/beginner/view_conditionals.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/beginner/view_conditionals.md -------------------------------------------------------------------------------- /files/rails/views/beginner/view_loops_each.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/beginner/view_loops_each.md -------------------------------------------------------------------------------- /files/rails/views/expert/cells_gem_decoupling.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/expert/cells_gem_decoupling.md -------------------------------------------------------------------------------- /files/rails/views/expert/sse_in_views.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/expert/sse_in_views.md -------------------------------------------------------------------------------- /files/rails/views/middle/collection_rendering.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/middle/collection_rendering.md -------------------------------------------------------------------------------- /files/rails/views/middle/content_for_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/middle/content_for_usage.md -------------------------------------------------------------------------------- /files/rails/views/middle/custom_helpers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/middle/custom_helpers.md -------------------------------------------------------------------------------- /files/rails/views/middle/fragment_caching.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/middle/fragment_caching.md -------------------------------------------------------------------------------- /files/rails/views/middle/html_tag_helper.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/middle/html_tag_helper.md -------------------------------------------------------------------------------- /files/rails/views/middle/i18n_in_views.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/middle/i18n_in_views.md -------------------------------------------------------------------------------- /files/rails/views/middle/inline_form_errors.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/middle/inline_form_errors.md -------------------------------------------------------------------------------- /files/rails/views/middle/jbuilder_json_views.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/middle/jbuilder_json_views.md -------------------------------------------------------------------------------- /files/rails/views/middle/partial_with_locals.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/middle/partial_with_locals.md -------------------------------------------------------------------------------- /files/rails/views/middle/turbo_frame_rendering.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/middle/turbo_frame_rendering.md -------------------------------------------------------------------------------- /files/rails/views/middle/view_component_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/views/middle/view_component_usage.md -------------------------------------------------------------------------------- /files/rails/websockets/expert/binary_streaming.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/rails/websockets/expert/binary_streaming.md -------------------------------------------------------------------------------- /files/ruby/arrays/advanced/custom_uniq.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/advanced/custom_uniq.md -------------------------------------------------------------------------------- /files/ruby/arrays/advanced/lazy_enumerators.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/advanced/lazy_enumerators.md -------------------------------------------------------------------------------- /files/ruby/arrays/advanced/selective_flatten.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/advanced/selective_flatten.md -------------------------------------------------------------------------------- /files/ruby/arrays/advanced/slice_when_chunking.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/advanced/slice_when_chunking.md -------------------------------------------------------------------------------- /files/ruby/arrays/beginner/accessing_elements.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/beginner/accessing_elements.md -------------------------------------------------------------------------------- /files/ruby/arrays/beginner/adding_elements.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/beginner/adding_elements.md -------------------------------------------------------------------------------- /files/ruby/arrays/beginner/array_creation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/beginner/array_creation.md -------------------------------------------------------------------------------- /files/ruby/arrays/beginner/cleaning_arrays.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/beginner/cleaning_arrays.md -------------------------------------------------------------------------------- /files/ruby/arrays/beginner/combining_arrays.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/beginner/combining_arrays.md -------------------------------------------------------------------------------- /files/ruby/arrays/beginner/iterating_each.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/beginner/iterating_each.md -------------------------------------------------------------------------------- /files/ruby/arrays/beginner/map_transform.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/beginner/map_transform.md -------------------------------------------------------------------------------- /files/ruby/arrays/beginner/removing_elements.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/beginner/removing_elements.md -------------------------------------------------------------------------------- /files/ruby/arrays/beginner/select_filter.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/beginner/select_filter.md -------------------------------------------------------------------------------- /files/ruby/arrays/expert/memoized_inject.md.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/expert/memoized_inject.md.md -------------------------------------------------------------------------------- /files/ruby/arrays/middle/bsearch_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/middle/bsearch_usage.md -------------------------------------------------------------------------------- /files/ruby/arrays/middle/dig_nested_arrays.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/middle/dig_nested_arrays.md -------------------------------------------------------------------------------- /files/ruby/arrays/middle/lazy_enumerators.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/middle/lazy_enumerators.md -------------------------------------------------------------------------------- /files/ruby/arrays/middle/map_compact_chain.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/middle/map_compact_chain.md -------------------------------------------------------------------------------- /files/ruby/arrays/middle/partition_array.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/middle/partition_array.md -------------------------------------------------------------------------------- /files/ruby/arrays/middle/product_combinations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/middle/product_combinations.md -------------------------------------------------------------------------------- /files/ruby/arrays/middle/slice_range_negative.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/middle/slice_range_negative.md -------------------------------------------------------------------------------- /files/ruby/arrays/middle/sum_with_block.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/middle/sum_with_block.md -------------------------------------------------------------------------------- /files/ruby/arrays/middle/transpose_matrix.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/arrays/middle/transpose_matrix.md -------------------------------------------------------------------------------- /files/ruby/benchmarking/beginner/benchmark_bm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/benchmarking/beginner/benchmark_bm.md -------------------------------------------------------------------------------- /files/ruby/benchmarking/middle/benchmark_bm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/benchmarking/middle/benchmark_bm.md -------------------------------------------------------------------------------- /files/ruby/benchmarking/middle/benchmark_bmbm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/benchmarking/middle/benchmark_bmbm.md -------------------------------------------------------------------------------- /files/ruby/blocks/advanced/benchmark_blocks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/blocks/advanced/benchmark_blocks.md -------------------------------------------------------------------------------- /files/ruby/blocks/advanced/fibers_and_blocks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/blocks/advanced/fibers_and_blocks.md -------------------------------------------------------------------------------- /files/ruby/blocks/advanced/retry_with_backoff.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/blocks/advanced/retry_with_backoff.md -------------------------------------------------------------------------------- /files/ruby/blocks/beginner/block_parameters.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/blocks/beginner/block_parameters.md -------------------------------------------------------------------------------- /files/ruby/blocks/beginner/custom_method_yield.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/blocks/beginner/custom_method_yield.md -------------------------------------------------------------------------------- /files/ruby/blocks/beginner/filtering_select.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/blocks/beginner/filtering_select.md -------------------------------------------------------------------------------- /files/ruby/blocks/beginner/hash_each_pair.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/blocks/beginner/hash_each_pair.md -------------------------------------------------------------------------------- /files/ruby/blocks/beginner/iterating_each.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/blocks/beginner/iterating_each.md -------------------------------------------------------------------------------- /files/ruby/blocks/beginner/repeating_times.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/blocks/beginner/repeating_times.md -------------------------------------------------------------------------------- /files/ruby/blocks/beginner/transforming_map.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/blocks/beginner/transforming_map.md -------------------------------------------------------------------------------- /files/ruby/blocks/middle/multiple_blocks.md.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/blocks/middle/multiple_blocks.md.md -------------------------------------------------------------------------------- /files/ruby/constants/middle/config_constants.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/constants/middle/config_constants.md -------------------------------------------------------------------------------- /files/ruby/constants/middle/freeze_constants.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/constants/middle/freeze_constants.md -------------------------------------------------------------------------------- /files/ruby/csv/advanced/lazy_loading_huge_csv.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/csv/advanced/lazy_loading_huge_csv.md -------------------------------------------------------------------------------- /files/ruby/csv/beginner/csv_foreach_basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/csv/beginner/csv_foreach_basics.md -------------------------------------------------------------------------------- /files/ruby/csv/beginner/csv_parse_string.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/csv/beginner/csv_parse_string.md -------------------------------------------------------------------------------- /files/ruby/csv/beginner/csv_with_headers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/csv/beginner/csv_with_headers.md -------------------------------------------------------------------------------- /files/ruby/csv/beginner/csv_write_file.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/csv/beginner/csv_write_file.md -------------------------------------------------------------------------------- /files/ruby/csv/expert/csv_lazy_streaming.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/csv/expert/csv_lazy_streaming.md -------------------------------------------------------------------------------- /files/ruby/csv/expert/csv_parallel_processing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/csv/expert/csv_parallel_processing.md -------------------------------------------------------------------------------- /files/ruby/csv/expert/csv_schema_structs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/csv/expert/csv_schema_structs.md -------------------------------------------------------------------------------- /files/ruby/csv/middle/custom_csv_writing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/csv/middle/custom_csv_writing.md -------------------------------------------------------------------------------- /files/ruby/csv/middle/efficient_streaming.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/csv/middle/efficient_streaming.md -------------------------------------------------------------------------------- /files/ruby/csv/middle/headers_and_converters.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/csv/middle/headers_and_converters.md -------------------------------------------------------------------------------- /files/ruby/csv/middle/resilient_parsing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/csv/middle/resilient_parsing.md -------------------------------------------------------------------------------- /files/ruby/data_types/beginner/ruby_arrays.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/data_types/beginner/ruby_arrays.md -------------------------------------------------------------------------------- /files/ruby/data_types/beginner/ruby_hashes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/data_types/beginner/ruby_hashes.md -------------------------------------------------------------------------------- /files/ruby/data_types/beginner/ruby_numbers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/data_types/beginner/ruby_numbers.md -------------------------------------------------------------------------------- /files/ruby/data_types/beginner/ruby_strings.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/data_types/beginner/ruby_strings.md -------------------------------------------------------------------------------- /files/ruby/data_types/beginner/ruby_symbols.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/data_types/beginner/ruby_symbols.md -------------------------------------------------------------------------------- /files/ruby/data_types/middle/hash_default_proc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/data_types/middle/hash_default_proc.md -------------------------------------------------------------------------------- /files/ruby/date_time/beginner/date_arithmetic.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/date_time/beginner/date_arithmetic.md -------------------------------------------------------------------------------- /files/ruby/date_time/expert/tzinfo_caching.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/date_time/expert/tzinfo_caching.md -------------------------------------------------------------------------------- /files/ruby/date_time/middle/handle_time_zones.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/date_time/middle/handle_time_zones.md -------------------------------------------------------------------------------- /files/ruby/enumerables/middle/sum_with_block.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/enumerables/middle/sum_with_block.md -------------------------------------------------------------------------------- /files/ruby/exceptions/beginner/ensure_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/exceptions/beginner/ensure_usage.md -------------------------------------------------------------------------------- /files/ruby/exceptions/beginner/rescue_basic.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/exceptions/beginner/rescue_basic.md -------------------------------------------------------------------------------- /files/ruby/exceptions/beginner/rescue_specific.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/exceptions/beginner/rescue_specific.md -------------------------------------------------------------------------------- /files/ruby/fibers/advanced/fiber_async_io.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/fibers/advanced/fiber_async_io.md -------------------------------------------------------------------------------- /files/ruby/fibers/advanced/fiber_data_pipeline.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/fibers/advanced/fiber_data_pipeline.md -------------------------------------------------------------------------------- /files/ruby/fibers/beginner/what_is_a_fiber.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/fibers/beginner/what_is_a_fiber.md -------------------------------------------------------------------------------- /files/ruby/fibers/expert/async_gem_integration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/fibers/expert/async_gem_integration.md -------------------------------------------------------------------------------- /files/ruby/fibers/expert/async_io_multiplexing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/fibers/expert/async_io_multiplexing.md -------------------------------------------------------------------------------- /files/ruby/fibers/expert/fiber_lazy_enumerator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/fibers/expert/fiber_lazy_enumerator.md -------------------------------------------------------------------------------- /files/ruby/fibers/middle/fiber_arguments.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/fibers/middle/fiber_arguments.md -------------------------------------------------------------------------------- /files/ruby/fibers/middle/fiber_basic_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/fibers/middle/fiber_basic_usage.md -------------------------------------------------------------------------------- /files/ruby/fibers/middle/fiber_to_enumerator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/fibers/middle/fiber_to_enumerator.md -------------------------------------------------------------------------------- /files/ruby/file_io/advanced/atomic_file_write.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/advanced/atomic_file_write.md -------------------------------------------------------------------------------- /files/ruby/file_io/advanced/fcntl_flags.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/advanced/fcntl_flags.md -------------------------------------------------------------------------------- /files/ruby/file_io/advanced/memory_mapped_file.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/advanced/memory_mapped_file.md -------------------------------------------------------------------------------- /files/ruby/file_io/advanced/zero_copy_io.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/advanced/zero_copy_io.md -------------------------------------------------------------------------------- /files/ruby/file_io/beginner/append_to_file.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/beginner/append_to_file.md -------------------------------------------------------------------------------- /files/ruby/file_io/beginner/join_file_paths.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/beginner/join_file_paths.md -------------------------------------------------------------------------------- /files/ruby/file_io/beginner/read_with_block.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/beginner/read_with_block.md -------------------------------------------------------------------------------- /files/ruby/file_io/beginner/readlines_to_array.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/beginner/readlines_to_array.md -------------------------------------------------------------------------------- /files/ruby/file_io/beginner/write_with_block.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/beginner/write_with_block.md -------------------------------------------------------------------------------- /files/ruby/file_io/expert/atomic_file_write.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/expert/atomic_file_write.md -------------------------------------------------------------------------------- /files/ruby/file_io/expert/memory_map_file.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/expert/memory_map_file.md -------------------------------------------------------------------------------- /files/ruby/file_io/expert/nonblocking_file_io.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/expert/nonblocking_file_io.md -------------------------------------------------------------------------------- /files/ruby/file_io/expert/streaming_encryption.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/expert/streaming_encryption.md -------------------------------------------------------------------------------- /files/ruby/file_io/expert/zero_copy_sendfile.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/expert/zero_copy_sendfile.md -------------------------------------------------------------------------------- /files/ruby/file_io/middle/chunked_read.md.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/middle/chunked_read.md.md -------------------------------------------------------------------------------- /files/ruby/file_io/middle/encoding_handling.md.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/middle/encoding_handling.md.md -------------------------------------------------------------------------------- /files/ruby/file_io/middle/file_locking.md.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/middle/file_locking.md.md -------------------------------------------------------------------------------- /files/ruby/file_io/middle/file_open_block.md.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/middle/file_open_block.md.md -------------------------------------------------------------------------------- /files/ruby/file_io/middle/tempfile_usage.md.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/file_io/middle/tempfile_usage.md.md -------------------------------------------------------------------------------- /files/ruby/hashes/advanced/auto_vivification.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/advanced/auto_vivification.md -------------------------------------------------------------------------------- /files/ruby/hashes/advanced/hash_to_proc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/advanced/hash_to_proc.md -------------------------------------------------------------------------------- /files/ruby/hashes/advanced/indifferent_access.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/advanced/indifferent_access.md -------------------------------------------------------------------------------- /files/ruby/hashes/advanced/slice_and_except.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/advanced/slice_and_except.md -------------------------------------------------------------------------------- /files/ruby/hashes/beginner/creating_hashes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/beginner/creating_hashes.md -------------------------------------------------------------------------------- /files/ruby/hashes/beginner/hash_default_values.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/beginner/hash_default_values.md -------------------------------------------------------------------------------- /files/ruby/hashes/beginner/iterating_over_hash.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/beginner/iterating_over_hash.md -------------------------------------------------------------------------------- /files/ruby/hashes/beginner/merging_hashes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/beginner/merging_hashes.md -------------------------------------------------------------------------------- /files/ruby/hashes/middle/compact_hash.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/middle/compact_hash.md -------------------------------------------------------------------------------- /files/ruby/hashes/middle/merge_with_block.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/middle/merge_with_block.md -------------------------------------------------------------------------------- /files/ruby/hashes/middle/select_and_reject.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/middle/select_and_reject.md -------------------------------------------------------------------------------- /files/ruby/hashes/middle/slice_hash.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/middle/slice_hash.md -------------------------------------------------------------------------------- /files/ruby/hashes/middle/sort_by_key_or_value.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/middle/sort_by_key_or_value.md -------------------------------------------------------------------------------- /files/ruby/hashes/middle/transform_keys.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/middle/transform_keys.md -------------------------------------------------------------------------------- /files/ruby/hashes/middle/transform_values.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/hashes/middle/transform_values.md -------------------------------------------------------------------------------- /files/ruby/irb/advanced/conditional_irbrc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/advanced/conditional_irbrc.md -------------------------------------------------------------------------------- /files/ruby/irb/advanced/custom_irb_prompt.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/advanced/custom_irb_prompt.md -------------------------------------------------------------------------------- /files/ruby/irb/advanced/custom_key_bindings.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/advanced/custom_key_bindings.md -------------------------------------------------------------------------------- /files/ruby/irb/advanced/define_magic_commands.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/advanced/define_magic_commands.md -------------------------------------------------------------------------------- /files/ruby/irb/advanced/enable_auto_completion.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/advanced/enable_auto_completion.md -------------------------------------------------------------------------------- /files/ruby/irb/advanced/multi_irb_sessions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/advanced/multi_irb_sessions.md -------------------------------------------------------------------------------- /files/ruby/irb/advanced/save_load_workspace.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/advanced/save_load_workspace.md -------------------------------------------------------------------------------- /files/ruby/irb/advanced/use_pry_shell.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/advanced/use_pry_shell.md -------------------------------------------------------------------------------- /files/ruby/irb/beginner/access_ruby_docs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/beginner/access_ruby_docs.md -------------------------------------------------------------------------------- /files/ruby/irb/beginner/exit_irb.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/beginner/exit_irb.md -------------------------------------------------------------------------------- /files/ruby/irb/beginner/grep_methods.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/beginner/grep_methods.md -------------------------------------------------------------------------------- /files/ruby/irb/beginner/history_navigation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/beginner/history_navigation.md -------------------------------------------------------------------------------- /files/ruby/irb/beginner/launch_irb.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/beginner/launch_irb.md -------------------------------------------------------------------------------- /files/ruby/irb/beginner/list_methods.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/beginner/list_methods.md -------------------------------------------------------------------------------- /files/ruby/irb/beginner/load_ruby_file.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/beginner/load_ruby_file.md -------------------------------------------------------------------------------- /files/ruby/irb/beginner/multiline_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/beginner/multiline_code.md -------------------------------------------------------------------------------- /files/ruby/irb/beginner/persist_history.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/beginner/persist_history.md -------------------------------------------------------------------------------- /files/ruby/irb/beginner/shell_commands.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/beginner/shell_commands.md -------------------------------------------------------------------------------- /files/ruby/irb/expert/benchmark_integration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/expert/benchmark_integration.md -------------------------------------------------------------------------------- /files/ruby/irb/expert/context_switching.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/expert/context_switching.md -------------------------------------------------------------------------------- /files/ruby/irb/expert/dsl_auto_completion.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/expert/dsl_auto_completion.md -------------------------------------------------------------------------------- /files/ruby/irb/expert/dynamic_git_prompt.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/expert/dynamic_git_prompt.md -------------------------------------------------------------------------------- /files/ruby/irb/expert/input_preprocessor.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/expert/input_preprocessor.md -------------------------------------------------------------------------------- /files/ruby/irb/expert/magic_commands_extension.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/expert/magic_commands_extension.md -------------------------------------------------------------------------------- /files/ruby/irb/expert/programmatic_irb_control.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/expert/programmatic_irb_control.md -------------------------------------------------------------------------------- /files/ruby/irb/expert/threaded_debugging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/expert/threaded_debugging.md -------------------------------------------------------------------------------- /files/ruby/irb/middle/auto_require_gems.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/middle/auto_require_gems.md -------------------------------------------------------------------------------- /files/ruby/irb/middle/awesome_print_output.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/middle/awesome_print_output.md -------------------------------------------------------------------------------- /files/ruby/irb/middle/binding_irb_hook.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/middle/binding_irb_hook.md -------------------------------------------------------------------------------- /files/ruby/irb/middle/custom_inspector.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/middle/custom_inspector.md -------------------------------------------------------------------------------- /files/ruby/irb/middle/custom_irb_commands.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/middle/custom_irb_commands.md -------------------------------------------------------------------------------- /files/ruby/irb/middle/custom_prompt.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/middle/custom_prompt.md -------------------------------------------------------------------------------- /files/ruby/irb/middle/pager_output.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/middle/pager_output.md -------------------------------------------------------------------------------- /files/ruby/irb/middle/persistent_history.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/middle/persistent_history.md -------------------------------------------------------------------------------- /files/ruby/irb/middle/readline_key_bindings.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/middle/readline_key_bindings.md -------------------------------------------------------------------------------- /files/ruby/irb/middle/tab_completion.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/irb/middle/tab_completion.md -------------------------------------------------------------------------------- /files/ruby/json/beginner/json_file_io.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/json/beginner/json_file_io.md -------------------------------------------------------------------------------- /files/ruby/json/beginner/json_generate_basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/json/beginner/json_generate_basics.md -------------------------------------------------------------------------------- /files/ruby/json/beginner/json_parse_basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/json/beginner/json_parse_basics.md -------------------------------------------------------------------------------- /files/ruby/json/middle/json_schema_validation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/json/middle/json_schema_validation.md -------------------------------------------------------------------------------- /files/ruby/json/middle/streaming_json_parsing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/json/middle/streaming_json_parsing.md -------------------------------------------------------------------------------- /files/ruby/logging/beginner/basic_logger_setup.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/logging/beginner/basic_logger_setup.md -------------------------------------------------------------------------------- /files/ruby/logging/beginner/log_rotation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/logging/beginner/log_rotation.md -------------------------------------------------------------------------------- /files/ruby/logging/middle/tagged_logging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/logging/middle/tagged_logging.md -------------------------------------------------------------------------------- /files/ruby/marshal/beginner/marshal_with_files.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/marshal/beginner/marshal_with_files.md -------------------------------------------------------------------------------- /files/ruby/marshal/middle/deep_clone_objects.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/marshal/middle/deep_clone_objects.md -------------------------------------------------------------------------------- /files/ruby/matrix/advanced/lu_caching_solver.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/matrix/advanced/lu_caching_solver.md -------------------------------------------------------------------------------- /files/ruby/matrix/advanced/numo_linalg_svd.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/matrix/advanced/numo_linalg_svd.md -------------------------------------------------------------------------------- /files/ruby/metaprogramming/beginner/eval_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/metaprogramming/beginner/eval_usage.md -------------------------------------------------------------------------------- /files/ruby/methods/beginner/default_parameters.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/methods/beginner/default_parameters.md -------------------------------------------------------------------------------- /files/ruby/methods/beginner/defining_methods.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/methods/beginner/defining_methods.md -------------------------------------------------------------------------------- /files/ruby/methods/beginner/keyword_arguments.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/methods/beginner/keyword_arguments.md -------------------------------------------------------------------------------- /files/ruby/methods/beginner/method_arguments.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/methods/beginner/method_arguments.md -------------------------------------------------------------------------------- /files/ruby/methods/beginner/method_chaining.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/methods/beginner/method_chaining.md -------------------------------------------------------------------------------- /files/ruby/methods/beginner/splat_arguments.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/methods/beginner/splat_arguments.md -------------------------------------------------------------------------------- /files/ruby/methods/beginner/using_blocks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/methods/beginner/using_blocks.md -------------------------------------------------------------------------------- /files/ruby/methods/expert/module_prepend_chain.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/methods/expert/module_prepend_chain.md -------------------------------------------------------------------------------- /files/ruby/methods/middle/public_send_vs_send.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/methods/middle/public_send_vs_send.md -------------------------------------------------------------------------------- /files/ruby/methods/middle/symbol_to_proc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/methods/middle/symbol_to_proc.md -------------------------------------------------------------------------------- /files/ruby/methods/middle/tap_chaining.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/methods/middle/tap_chaining.md -------------------------------------------------------------------------------- /files/ruby/minitest/beginner/common_assertions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/minitest/beginner/common_assertions.md -------------------------------------------------------------------------------- /files/ruby/minitest/beginner/getting_started.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/minitest/beginner/getting_started.md -------------------------------------------------------------------------------- /files/ruby/net_http/beginner/basic_get_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/net_http/beginner/basic_get_request.md -------------------------------------------------------------------------------- /files/ruby/net_http/beginner/post_json_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/net_http/beginner/post_json_request.md -------------------------------------------------------------------------------- /files/ruby/net_http/middle/parse_json_errors.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/net_http/middle/parse_json_errors.md -------------------------------------------------------------------------------- /files/ruby/net_http/middle/post_form_data.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/net_http/middle/post_form_data.md -------------------------------------------------------------------------------- /files/ruby/net_http/middle/timeout_ssl_verify.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/net_http/middle/timeout_ssl_verify.md -------------------------------------------------------------------------------- /files/ruby/networking/beginner/open_uri_fetch.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/networking/beginner/open_uri_fetch.md -------------------------------------------------------------------------------- /files/ruby/networking/middle/http_persistent.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/networking/middle/http_persistent.md -------------------------------------------------------------------------------- /files/ruby/numbers/advanced/complex_rotations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/numbers/advanced/complex_rotations.md -------------------------------------------------------------------------------- /files/ruby/numbers/advanced/rational_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/numbers/advanced/rational_usage.md -------------------------------------------------------------------------------- /files/ruby/numbers/beginner/basic_arithmetic.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/numbers/beginner/basic_arithmetic.md -------------------------------------------------------------------------------- /files/ruby/numbers/beginner/integer_vs_float.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/numbers/beginner/integer_vs_float.md -------------------------------------------------------------------------------- /files/ruby/numbers/beginner/number_comparison.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/numbers/beginner/number_comparison.md -------------------------------------------------------------------------------- /files/ruby/numbers/beginner/rounding_numbers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/numbers/beginner/rounding_numbers.md -------------------------------------------------------------------------------- /files/ruby/numbers/middle/bigdecimal_precision.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/numbers/middle/bigdecimal_precision.md -------------------------------------------------------------------------------- /files/ruby/numbers/middle/clamp_numbers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/numbers/middle/clamp_numbers.md -------------------------------------------------------------------------------- /files/ruby/numbers/middle/extract_digits.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/numbers/middle/extract_digits.md -------------------------------------------------------------------------------- /files/ruby/numbers/middle/random_ranges.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/numbers/middle/random_ranges.md -------------------------------------------------------------------------------- /files/ruby/numbers/middle/rational_numbers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/numbers/middle/rational_numbers.md -------------------------------------------------------------------------------- /files/ruby/oop/beginner/attr_accessors.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/beginner/attr_accessors.md -------------------------------------------------------------------------------- /files/ruby/oop/beginner/class_methods.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/beginner/class_methods.md -------------------------------------------------------------------------------- /files/ruby/oop/beginner/creating_instances.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/beginner/creating_instances.md -------------------------------------------------------------------------------- /files/ruby/oop/beginner/defining_classes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/beginner/defining_classes.md -------------------------------------------------------------------------------- /files/ruby/oop/beginner/inheritance_basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/beginner/inheritance_basics.md -------------------------------------------------------------------------------- /files/ruby/oop/beginner/initialize_method.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/beginner/initialize_method.md -------------------------------------------------------------------------------- /files/ruby/oop/beginner/instance_methods.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/beginner/instance_methods.md -------------------------------------------------------------------------------- /files/ruby/oop/beginner/instance_variables.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/beginner/instance_variables.md -------------------------------------------------------------------------------- /files/ruby/oop/beginner/method_overriding.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/beginner/method_overriding.md -------------------------------------------------------------------------------- /files/ruby/oop/beginner/modules_mixins.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/beginner/modules_mixins.md -------------------------------------------------------------------------------- /files/ruby/oop/expert/class_level_exec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/expert/class_level_exec.md -------------------------------------------------------------------------------- /files/ruby/oop/expert/concurrent_ractor_mixins.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/expert/concurrent_ractor_mixins.md -------------------------------------------------------------------------------- /files/ruby/oop/expert/dynamic_method_dsl.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/expert/dynamic_method_dsl.md -------------------------------------------------------------------------------- /files/ruby/oop/expert/method_missing_delegate.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/expert/method_missing_delegate.md -------------------------------------------------------------------------------- /files/ruby/oop/expert/module_prepend_override.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/expert/module_prepend_override.md -------------------------------------------------------------------------------- /files/ruby/oop/expert/scoped_refinements.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/expert/scoped_refinements.md -------------------------------------------------------------------------------- /files/ruby/oop/expert/tracepoint_profiling.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/expert/tracepoint_profiling.md -------------------------------------------------------------------------------- /files/ruby/oop/expert/weakref_circular_cleanup.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/expert/weakref_circular_cleanup.md -------------------------------------------------------------------------------- /files/ruby/oop/middle/define_value_objects.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/middle/define_value_objects.md -------------------------------------------------------------------------------- /files/ruby/oop/middle/use_module_namespace.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/oop/middle/use_module_namespace.md -------------------------------------------------------------------------------- /files/ruby/openssl/middle/aes_gcm_encryption.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/openssl/middle/aes_gcm_encryption.md -------------------------------------------------------------------------------- /files/ruby/openssl/middle/custom_ssl_context.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/openssl/middle/custom_ssl_context.md -------------------------------------------------------------------------------- /files/ruby/operators/beginner/basic_assignment.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/operators/beginner/basic_assignment.md -------------------------------------------------------------------------------- /files/ruby/operators/beginner/range_operators.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/operators/beginner/range_operators.md -------------------------------------------------------------------------------- /files/ruby/operators/beginner/ternary_operator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/operators/beginner/ternary_operator.md -------------------------------------------------------------------------------- /files/ruby/operators/middle/defined_operator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/operators/middle/defined_operator.md -------------------------------------------------------------------------------- /files/ruby/operators/middle/flip_flop_operator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/operators/middle/flip_flop_operator.md -------------------------------------------------------------------------------- /files/ruby/operators/middle/range_operator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/operators/middle/range_operator.md -------------------------------------------------------------------------------- /files/ruby/operators/middle/spaceship_operator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/operators/middle/spaceship_operator.md -------------------------------------------------------------------------------- /files/ruby/profiling/beginner/benchmark_bm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/profiling/beginner/benchmark_bm.md -------------------------------------------------------------------------------- /files/ruby/profiling/beginner/benchmark_ips.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/profiling/beginner/benchmark_ips.md -------------------------------------------------------------------------------- /files/ruby/profiling/middle/benchmark_bm_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/profiling/middle/benchmark_bm_usage.md -------------------------------------------------------------------------------- /files/ruby/profiling/middle/ruby_prof_cpu.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/profiling/middle/ruby_prof_cpu.md -------------------------------------------------------------------------------- /files/ruby/profiling/middle/stackprof_sampling.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/profiling/middle/stackprof_sampling.md -------------------------------------------------------------------------------- /files/ruby/ranges/advanced/range_step_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/ranges/advanced/range_step_usage.md -------------------------------------------------------------------------------- /files/ruby/ranges/middle/range_case_when.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/ranges/middle/range_case_when.md -------------------------------------------------------------------------------- /files/ruby/ranges/middle/range_cover_include.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/ranges/middle/range_cover_include.md -------------------------------------------------------------------------------- /files/ruby/ranges/middle/range_step_iteration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/ranges/middle/range_step_iteration.md -------------------------------------------------------------------------------- /files/ruby/ranges/middle/range_to_a_and_size.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/ranges/middle/range_to_a_and_size.md -------------------------------------------------------------------------------- /files/ruby/reflection/beginner/use_respond_to.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/reflection/beginner/use_respond_to.md -------------------------------------------------------------------------------- /files/ruby/reflection/expert/ast_manipulation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/reflection/expert/ast_manipulation.md -------------------------------------------------------------------------------- /files/ruby/regex/advanced/atomic_grouping.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/advanced/atomic_grouping.md -------------------------------------------------------------------------------- /files/ruby/regex/advanced/dynamic_union.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/advanced/dynamic_union.md -------------------------------------------------------------------------------- /files/ruby/regex/advanced/g_anchor_scanning.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/advanced/g_anchor_scanning.md -------------------------------------------------------------------------------- /files/ruby/regex/advanced/gsub_with_block.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/advanced/gsub_with_block.md -------------------------------------------------------------------------------- /files/ruby/regex/advanced/recursive_patterns.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/advanced/recursive_patterns.md -------------------------------------------------------------------------------- /files/ruby/regex/advanced/unicode_properties.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/advanced/unicode_properties.md -------------------------------------------------------------------------------- /files/ruby/regex/beginner/anchors.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/beginner/anchors.md -------------------------------------------------------------------------------- /files/ruby/regex/beginner/basic_match_operator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/beginner/basic_match_operator.md -------------------------------------------------------------------------------- /files/ruby/regex/beginner/capturing_groups.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/beginner/capturing_groups.md -------------------------------------------------------------------------------- /files/ruby/regex/beginner/character_classes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/beginner/character_classes.md -------------------------------------------------------------------------------- /files/ruby/regex/beginner/gsub_replacement.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/beginner/gsub_replacement.md -------------------------------------------------------------------------------- /files/ruby/regex/beginner/named_captures.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/beginner/named_captures.md -------------------------------------------------------------------------------- /files/ruby/regex/beginner/quantifiers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/beginner/quantifiers.md -------------------------------------------------------------------------------- /files/ruby/regex/beginner/regex_options.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/beginner/regex_options.md -------------------------------------------------------------------------------- /files/ruby/regex/beginner/string_match_method.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/beginner/string_match_method.md -------------------------------------------------------------------------------- /files/ruby/regex/expert/branch_reset_grouping.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/expert/branch_reset_grouping.md -------------------------------------------------------------------------------- /files/ruby/regex/middle/anchor_validations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/middle/anchor_validations.md -------------------------------------------------------------------------------- /files/ruby/regex/middle/character_classes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/middle/character_classes.md -------------------------------------------------------------------------------- /files/ruby/regex/middle/gsub_with_block.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/middle/gsub_with_block.md -------------------------------------------------------------------------------- /files/ruby/regex/middle/inline_modifiers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/middle/inline_modifiers.md -------------------------------------------------------------------------------- /files/ruby/regex/middle/lookahead_lookbehind.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/middle/lookahead_lookbehind.md -------------------------------------------------------------------------------- /files/ruby/regex/middle/match_data_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/middle/match_data_usage.md -------------------------------------------------------------------------------- /files/ruby/regex/middle/named_capture_groups.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/middle/named_capture_groups.md -------------------------------------------------------------------------------- /files/ruby/regex/middle/non_capturing_groups.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/middle/non_capturing_groups.md -------------------------------------------------------------------------------- /files/ruby/regex/middle/regexp_union.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/middle/regexp_union.md -------------------------------------------------------------------------------- /files/ruby/regex/middle/split_with_regex.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/regex/middle/split_with_regex.md -------------------------------------------------------------------------------- /files/ruby/rspec/beginner/first_spec_example.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/rspec/beginner/first_spec_example.md -------------------------------------------------------------------------------- /files/ruby/rspec/beginner/setup_rspec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/rspec/beginner/setup_rspec.md -------------------------------------------------------------------------------- /files/ruby/rspec/beginner/using_expectations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/rspec/beginner/using_expectations.md -------------------------------------------------------------------------------- /files/ruby/rspec/expert/flaky_spec_auto_retry.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/rspec/expert/flaky_spec_auto_retry.md -------------------------------------------------------------------------------- /files/ruby/set/advanced/set_key_extractor.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/set/advanced/set_key_extractor.md -------------------------------------------------------------------------------- /files/ruby/set/advanced/set_thread_safe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/set/advanced/set_thread_safe.md -------------------------------------------------------------------------------- /files/ruby/set/advanced/set_transitive_closure.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/set/advanced/set_transitive_closure.md -------------------------------------------------------------------------------- /files/ruby/set/beginner/basic_set_operations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/set/beginner/basic_set_operations.md -------------------------------------------------------------------------------- /files/ruby/set/beginner/initialize_set.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/set/beginner/initialize_set.md -------------------------------------------------------------------------------- /files/ruby/set/beginner/manage_set_elements.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/set/beginner/manage_set_elements.md -------------------------------------------------------------------------------- /files/ruby/set/expert/custom_hash_eql.md.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/set/expert/custom_hash_eql.md.md -------------------------------------------------------------------------------- /files/ruby/set/expert/lazy_unique_filter.md.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/set/expert/lazy_unique_filter.md.md -------------------------------------------------------------------------------- /files/ruby/set/expert/thread_safe_set.md.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/set/expert/thread_safe_set.md.md -------------------------------------------------------------------------------- /files/ruby/set/middle/custom_object_set.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/set/middle/custom_object_set.md -------------------------------------------------------------------------------- /files/ruby/set/middle/set_algebra_operations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/set/middle/set_algebra_operations.md -------------------------------------------------------------------------------- /files/ruby/sockets/beginner/tcp_client_basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/sockets/beginner/tcp_client_basics.md -------------------------------------------------------------------------------- /files/ruby/sockets/beginner/tcp_server_basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/sockets/beginner/tcp_server_basics.md -------------------------------------------------------------------------------- /files/ruby/sockets/beginner/udp_socket_basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/sockets/beginner/udp_socket_basics.md -------------------------------------------------------------------------------- /files/ruby/sockets/expert/custom_tls_alpn_ocsp.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/sockets/expert/custom_tls_alpn_ocsp.md -------------------------------------------------------------------------------- /files/ruby/sockets/expert/zero_copy_sendfile.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/sockets/expert/zero_copy_sendfile.md -------------------------------------------------------------------------------- /files/ruby/sockets/middle/tcp_client_basic.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/sockets/middle/tcp_client_basic.md -------------------------------------------------------------------------------- /files/ruby/sockets/middle/tcp_server_basic.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/sockets/middle/tcp_server_basic.md -------------------------------------------------------------------------------- /files/ruby/strings/beginner/heredoc_string.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/strings/beginner/heredoc_string.md -------------------------------------------------------------------------------- /files/ruby/strings/beginner/length_and_empty.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/strings/beginner/length_and_empty.md -------------------------------------------------------------------------------- /files/ruby/strings/beginner/shovel_operator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/strings/beginner/shovel_operator.md -------------------------------------------------------------------------------- /files/ruby/strings/beginner/string_duplication.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/strings/beginner/string_duplication.md -------------------------------------------------------------------------------- /files/ruby/strings/beginner/string_indexing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/strings/beginner/string_indexing.md -------------------------------------------------------------------------------- /files/ruby/strings/beginner/string_slicing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/strings/beginner/string_slicing.md -------------------------------------------------------------------------------- /files/ruby/strings/middle/dynamic_gsub_blocks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/strings/middle/dynamic_gsub_blocks.md -------------------------------------------------------------------------------- /files/ruby/strings/middle/heredoc_squiggly.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/strings/middle/heredoc_squiggly.md -------------------------------------------------------------------------------- /files/ruby/strings/middle/nested_interpolation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/strings/middle/nested_interpolation.md -------------------------------------------------------------------------------- /files/ruby/strings/middle/regex_named_captures.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/strings/middle/regex_named_captures.md -------------------------------------------------------------------------------- /files/ruby/strings/middle/scrub_invalid_bytes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/strings/middle/scrub_invalid_bytes.md -------------------------------------------------------------------------------- /files/ruby/symbols/advanced/symbol_to_proc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/symbols/advanced/symbol_to_proc.md -------------------------------------------------------------------------------- /files/ruby/symbols/beginner/symbol_vs_string.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/symbols/beginner/symbol_vs_string.md -------------------------------------------------------------------------------- /files/ruby/syntax/advanced/flip_flop_operator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/advanced/flip_flop_operator.md -------------------------------------------------------------------------------- /files/ruby/syntax/advanced/refinement_scoping.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/advanced/refinement_scoping.md -------------------------------------------------------------------------------- /files/ruby/syntax/advanced/to_proc_shorthand.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/advanced/to_proc_shorthand.md -------------------------------------------------------------------------------- /files/ruby/syntax/beginner/adding_comments.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/beginner/adding_comments.md -------------------------------------------------------------------------------- /files/ruby/syntax/beginner/array_basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/beginner/array_basics.md -------------------------------------------------------------------------------- /files/ruby/syntax/beginner/defining_methods.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/beginner/defining_methods.md -------------------------------------------------------------------------------- /files/ruby/syntax/beginner/hash_basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/beginner/hash_basics.md -------------------------------------------------------------------------------- /files/ruby/syntax/beginner/iterating_with_each.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/beginner/iterating_with_each.md -------------------------------------------------------------------------------- /files/ruby/syntax/beginner/simple_conditionals.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/beginner/simple_conditionals.md -------------------------------------------------------------------------------- /files/ruby/syntax/beginner/symbols_vs_strings.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/beginner/symbols_vs_strings.md -------------------------------------------------------------------------------- /files/ruby/syntax/beginner/using_variables.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/beginner/using_variables.md -------------------------------------------------------------------------------- /files/ruby/syntax/expert/dynamic_define_method.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/expert/dynamic_define_method.md -------------------------------------------------------------------------------- /files/ruby/syntax/expert/eigenclass_dsl.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/expert/eigenclass_dsl.md -------------------------------------------------------------------------------- /files/ruby/syntax/expert/infinite_enumerator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/expert/infinite_enumerator.md -------------------------------------------------------------------------------- /files/ruby/syntax/expert/nested_hash_pattern.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/expert/nested_hash_pattern.md -------------------------------------------------------------------------------- /files/ruby/syntax/expert/numbered_parameters.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/expert/numbered_parameters.md -------------------------------------------------------------------------------- /files/ruby/syntax/expert/scoped_refinements.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/expert/scoped_refinements.md -------------------------------------------------------------------------------- /files/ruby/syntax/expert/yield_self_then.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/expert/yield_self_then.md -------------------------------------------------------------------------------- /files/ruby/syntax/middle/array_tally.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/middle/array_tally.md -------------------------------------------------------------------------------- /files/ruby/syntax/middle/dig_method.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/middle/dig_method.md -------------------------------------------------------------------------------- /files/ruby/syntax/middle/frozen_string_literal.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/middle/frozen_string_literal.md -------------------------------------------------------------------------------- /files/ruby/syntax/middle/symbol_to_proc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/middle/symbol_to_proc.md -------------------------------------------------------------------------------- /files/ruby/syntax/middle/tap_debugging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/syntax/middle/tap_debugging.md -------------------------------------------------------------------------------- /files/ruby/tempfiles/expert/otmpfile_anonymous.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/tempfiles/expert/otmpfile_anonymous.md -------------------------------------------------------------------------------- /files/ruby/threads/beginner/thread_joining.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/threads/beginner/thread_joining.md -------------------------------------------------------------------------------- /files/ruby/threads/beginner/thread_mutex_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/threads/beginner/thread_mutex_usage.md -------------------------------------------------------------------------------- /files/ruby/uri/advanced/custom_uri_scheme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/uri/advanced/custom_uri_scheme.md -------------------------------------------------------------------------------- /files/ruby/uri/advanced/idn_support_punycode.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/uri/advanced/idn_support_punycode.md -------------------------------------------------------------------------------- /files/ruby/uri/advanced/query_param_merging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/uri/advanced/query_param_merging.md -------------------------------------------------------------------------------- /files/ruby/uri/beginner/build_url_with_query.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/uri/beginner/build_url_with_query.md -------------------------------------------------------------------------------- /files/ruby/uri/beginner/encode_decode_query.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/uri/beginner/encode_decode_query.md -------------------------------------------------------------------------------- /files/ruby/uri/beginner/parse_url.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/uri/beginner/parse_url.md -------------------------------------------------------------------------------- /files/ruby/uri/expert/advanced_uri_merging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/uri/expert/advanced_uri_merging.md -------------------------------------------------------------------------------- /files/ruby/uri/expert/custom_percent_encoding.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/uri/expert/custom_percent_encoding.md -------------------------------------------------------------------------------- /files/ruby/uri/expert/custom_uri_scheme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/uri/expert/custom_uri_scheme.md -------------------------------------------------------------------------------- /files/ruby/xml/advanced/high_performance_ox.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/xml/advanced/high_performance_ox.md -------------------------------------------------------------------------------- /files/ruby/xml/advanced/xpath_with_namespaces.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/xml/advanced/xpath_with_namespaces.md -------------------------------------------------------------------------------- /files/ruby/xml/middle/build_xml_with_builder.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/xml/middle/build_xml_with_builder.md -------------------------------------------------------------------------------- /files/ruby/yaml/advanced/secure_yaml_safe_load.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/yaml/advanced/secure_yaml_safe_load.md -------------------------------------------------------------------------------- /files/ruby/yaml/beginner/dump_to_yaml.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/yaml/beginner/dump_to_yaml.md -------------------------------------------------------------------------------- /files/ruby/yaml/beginner/load_yaml_file.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/yaml/beginner/load_yaml_file.md -------------------------------------------------------------------------------- /files/ruby/yaml/expert/secure_yaml_safe_load.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/yaml/expert/secure_yaml_safe_load.md -------------------------------------------------------------------------------- /files/ruby/yaml/expert/streaming_yaml_parser.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/yaml/expert/streaming_yaml_parser.md -------------------------------------------------------------------------------- /files/ruby/yaml/middle/safe_load_yaml.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/yaml/middle/safe_load_yaml.md -------------------------------------------------------------------------------- /files/ruby/yaml/middle/yaml_aliases_anchors.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/ruby/yaml/middle/yaml_aliases_anchors.md -------------------------------------------------------------------------------- /files/sql/general/beginner/basic_inner_join.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/beginner/basic_inner_join.md -------------------------------------------------------------------------------- /files/sql/general/beginner/count_rows.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/beginner/count_rows.md -------------------------------------------------------------------------------- /files/sql/general/beginner/filter_with_where.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/beginner/filter_with_where.md -------------------------------------------------------------------------------- /files/sql/general/beginner/group_by_clause.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/beginner/group_by_clause.md -------------------------------------------------------------------------------- /files/sql/general/beginner/insert_into_table.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/beginner/insert_into_table.md -------------------------------------------------------------------------------- /files/sql/general/beginner/limit_results.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/beginner/limit_results.md -------------------------------------------------------------------------------- /files/sql/general/beginner/use_column_aliases.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/beginner/use_column_aliases.md -------------------------------------------------------------------------------- /files/sql/general/expert/jsonb_indexing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/expert/jsonb_indexing.md -------------------------------------------------------------------------------- /files/sql/general/expert/lateral_joins.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/expert/lateral_joins.md -------------------------------------------------------------------------------- /files/sql/general/expert/partition_pruning.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/expert/partition_pruning.md -------------------------------------------------------------------------------- /files/sql/general/expert/pivot_unpivot.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/expert/pivot_unpivot.md -------------------------------------------------------------------------------- /files/sql/general/expert/row_level_security.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/expert/row_level_security.md -------------------------------------------------------------------------------- /files/sql/general/expert/upsert_on_conflict.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/expert/upsert_on_conflict.md -------------------------------------------------------------------------------- /files/sql/general/middle/batch_inserts_updates.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/middle/batch_inserts_updates.md -------------------------------------------------------------------------------- /files/sql/general/middle/full_text_search.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/middle/full_text_search.md -------------------------------------------------------------------------------- /files/sql/general/middle/join_performance_tips.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/middle/join_performance_tips.md -------------------------------------------------------------------------------- /files/sql/general/middle/jsonb_querying.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/middle/jsonb_querying.md -------------------------------------------------------------------------------- /files/sql/general/middle/query_plan_analysis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/general/middle/query_plan_analysis.md -------------------------------------------------------------------------------- /files/sql/mysql/advanced/cte_recursive.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/advanced/cte_recursive.md -------------------------------------------------------------------------------- /files/sql/mysql/advanced/explain_analyze.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/advanced/explain_analyze.md -------------------------------------------------------------------------------- /files/sql/mysql/advanced/generated_columns.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/advanced/generated_columns.md -------------------------------------------------------------------------------- /files/sql/mysql/advanced/json_functions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/advanced/json_functions.md -------------------------------------------------------------------------------- /files/sql/mysql/advanced/partitioning_range.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/advanced/partitioning_range.md -------------------------------------------------------------------------------- /files/sql/mysql/advanced/performance_schema.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/advanced/performance_schema.md -------------------------------------------------------------------------------- /files/sql/mysql/advanced/spatial_index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/advanced/spatial_index.md -------------------------------------------------------------------------------- /files/sql/mysql/advanced/transaction_isolation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/advanced/transaction_isolation.md -------------------------------------------------------------------------------- /files/sql/mysql/advanced/window_running_total.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/advanced/window_running_total.md -------------------------------------------------------------------------------- /files/sql/mysql/beginner/count_aggregate.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/beginner/count_aggregate.md -------------------------------------------------------------------------------- /files/sql/mysql/beginner/delete_records.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/beginner/delete_records.md -------------------------------------------------------------------------------- /files/sql/mysql/beginner/filter_with_where.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/beginner/filter_with_where.md -------------------------------------------------------------------------------- /files/sql/mysql/beginner/group_by_results.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/beginner/group_by_results.md -------------------------------------------------------------------------------- /files/sql/mysql/beginner/inner_join.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/beginner/inner_join.md -------------------------------------------------------------------------------- /files/sql/mysql/beginner/insert_data.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/beginner/insert_data.md -------------------------------------------------------------------------------- /files/sql/mysql/beginner/limit_results.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/beginner/limit_results.md -------------------------------------------------------------------------------- /files/sql/mysql/beginner/order_by_clause.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/beginner/order_by_clause.md -------------------------------------------------------------------------------- /files/sql/mysql/beginner/select_all_columns.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/beginner/select_all_columns.md -------------------------------------------------------------------------------- /files/sql/mysql/beginner/update_records.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/beginner/update_records.md -------------------------------------------------------------------------------- /files/sql/mysql/middle/explain_query.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/middle/explain_query.md -------------------------------------------------------------------------------- /files/sql/mysql/middle/fulltext_search.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/middle/fulltext_search.md -------------------------------------------------------------------------------- /files/sql/mysql/middle/group_concat_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/middle/group_concat_usage.md -------------------------------------------------------------------------------- /files/sql/mysql/middle/index_usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/middle/index_usage.md -------------------------------------------------------------------------------- /files/sql/mysql/middle/json_functions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/middle/json_functions.md -------------------------------------------------------------------------------- /files/sql/mysql/middle/regex_search.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/middle/regex_search.md -------------------------------------------------------------------------------- /files/sql/mysql/middle/user_variables.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/middle/user_variables.md -------------------------------------------------------------------------------- /files/sql/mysql/middle/window_functions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/mysql/middle/window_functions.md -------------------------------------------------------------------------------- /files/sql/postgresql/advanced/jsonb_path_query.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/advanced/jsonb_path_query.md -------------------------------------------------------------------------------- /files/sql/postgresql/advanced/lateral_joins.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/advanced/lateral_joins.md -------------------------------------------------------------------------------- /files/sql/postgresql/beginner/basic_join.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/beginner/basic_join.md -------------------------------------------------------------------------------- /files/sql/postgresql/beginner/connect_to_db.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/beginner/connect_to_db.md -------------------------------------------------------------------------------- /files/sql/postgresql/beginner/create_table.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/beginner/create_table.md -------------------------------------------------------------------------------- /files/sql/postgresql/beginner/delete_data.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/beginner/delete_data.md -------------------------------------------------------------------------------- /files/sql/postgresql/beginner/insert_data.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/beginner/insert_data.md -------------------------------------------------------------------------------- /files/sql/postgresql/beginner/order_by_limit.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/beginner/order_by_limit.md -------------------------------------------------------------------------------- /files/sql/postgresql/beginner/select_basic.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/beginner/select_basic.md -------------------------------------------------------------------------------- /files/sql/postgresql/beginner/update_data.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/beginner/update_data.md -------------------------------------------------------------------------------- /files/sql/postgresql/beginner/where_clause.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/beginner/where_clause.md -------------------------------------------------------------------------------- /files/sql/postgresql/middle/full_text_search.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/middle/full_text_search.md -------------------------------------------------------------------------------- /files/sql/postgresql/middle/materialized_views.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/middle/materialized_views.md -------------------------------------------------------------------------------- /files/sql/postgresql/middle/partial_indexes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/middle/partial_indexes.md -------------------------------------------------------------------------------- /files/sql/postgresql/middle/upsert_on_conflict.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/postgresql/middle/upsert_on_conflict.md -------------------------------------------------------------------------------- /files/sql/sqlite/advanced/json1_extension.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/advanced/json1_extension.md -------------------------------------------------------------------------------- /files/sql/sqlite/advanced/partial_indexes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/advanced/partial_indexes.md -------------------------------------------------------------------------------- /files/sql/sqlite/advanced/recursive_ctes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/advanced/recursive_ctes.md -------------------------------------------------------------------------------- /files/sql/sqlite/advanced/upsert_on_conflict.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/advanced/upsert_on_conflict.md -------------------------------------------------------------------------------- /files/sql/sqlite/advanced/wal_journal_mode.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/advanced/wal_journal_mode.md -------------------------------------------------------------------------------- /files/sql/sqlite/advanced/window_functions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/advanced/window_functions.md -------------------------------------------------------------------------------- /files/sql/sqlite/beginner/aggregate_functions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/beginner/aggregate_functions.md -------------------------------------------------------------------------------- /files/sql/sqlite/beginner/creating_a_database.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/beginner/creating_a_database.md -------------------------------------------------------------------------------- /files/sql/sqlite/beginner/creating_indexes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/beginner/creating_indexes.md -------------------------------------------------------------------------------- /files/sql/sqlite/beginner/limiting_results.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/beginner/limiting_results.md -------------------------------------------------------------------------------- /files/sql/sqlite/beginner/ordering_results.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/beginner/ordering_results.md -------------------------------------------------------------------------------- /files/sql/sqlite/beginner/sqlite_installation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/beginner/sqlite_installation.md -------------------------------------------------------------------------------- /files/sql/sqlite/beginner/using_transactions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/beginner/using_transactions.md -------------------------------------------------------------------------------- /files/sql/sqlite/beginner/using_where_clause.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/beginner/using_where_clause.md -------------------------------------------------------------------------------- /files/sql/sqlite/expert/custom_sql_functions_c.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/expert/custom_sql_functions_c.md -------------------------------------------------------------------------------- /files/sql/sqlite/expert/fts5_custom_tokenizer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/expert/fts5_custom_tokenizer.md -------------------------------------------------------------------------------- /files/sql/sqlite/expert/json1_complex_queries.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/expert/json1_complex_queries.md -------------------------------------------------------------------------------- /files/sql/sqlite/expert/wal_checkpoint_tuning.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/expert/wal_checkpoint_tuning.md -------------------------------------------------------------------------------- /files/sql/sqlite/middle/fts5_full_text_search.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/middle/fts5_full_text_search.md -------------------------------------------------------------------------------- /files/sql/sqlite/middle/json_functions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/middle/json_functions.md -------------------------------------------------------------------------------- /files/sql/sqlite/middle/partial_indexes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/middle/partial_indexes.md -------------------------------------------------------------------------------- /files/sql/sqlite/middle/timestamp_triggers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/middle/timestamp_triggers.md -------------------------------------------------------------------------------- /files/sql/sqlite/middle/transaction_batching.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/middle/transaction_batching.md -------------------------------------------------------------------------------- /files/sql/sqlite/middle/upsert_on_conflict.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/files/sql/sqlite/middle/upsert_on_conflict.md -------------------------------------------------------------------------------- /get-smart.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/get-smart.gemspec -------------------------------------------------------------------------------- /lib/generators/get/smart/install_generator.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/generators/get/smart/install_generator.rb -------------------------------------------------------------------------------- /lib/generators/get/smart/templates/get_smart.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/generators/get/smart/templates/get_smart.rb -------------------------------------------------------------------------------- /lib/get/smart.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/get/smart.rb -------------------------------------------------------------------------------- /lib/get/smart/ai/generator.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/get/smart/ai/generator.rb -------------------------------------------------------------------------------- /lib/get/smart/ai/verifier.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/get/smart/ai/verifier.rb -------------------------------------------------------------------------------- /lib/get/smart/app_context.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/get/smart/app_context.rb -------------------------------------------------------------------------------- /lib/get/smart/collection.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/get/smart/collection.rb -------------------------------------------------------------------------------- /lib/get/smart/learning_path.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/get/smart/learning_path.rb -------------------------------------------------------------------------------- /lib/get/smart/logic.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/get/smart/logic.rb -------------------------------------------------------------------------------- /lib/get/smart/memory.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/get/smart/memory.rb -------------------------------------------------------------------------------- /lib/get/smart/railtie.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/get/smart/railtie.rb -------------------------------------------------------------------------------- /lib/get/smart/tip.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/get/smart/tip.rb -------------------------------------------------------------------------------- /lib/get/smart/topic.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/get/smart/topic.rb -------------------------------------------------------------------------------- /lib/get/smart/topics.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/get/smart/topics.rb -------------------------------------------------------------------------------- /lib/get/smart/version.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/get/smart/version.rb -------------------------------------------------------------------------------- /lib/tasks/get/smart_tasks.rake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/lib/tasks/get/smart_tasks.rake -------------------------------------------------------------------------------- /list.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/list.txt -------------------------------------------------------------------------------- /spec/dummy/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/.dockerignore -------------------------------------------------------------------------------- /spec/dummy/.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/.gitattributes -------------------------------------------------------------------------------- /spec/dummy/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/.gitignore -------------------------------------------------------------------------------- /spec/dummy/.rubocop.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/.rubocop.yml -------------------------------------------------------------------------------- /spec/dummy/.ruby-version: -------------------------------------------------------------------------------- 1 | ruby-3.4.1 2 | -------------------------------------------------------------------------------- /spec/dummy/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/Dockerfile -------------------------------------------------------------------------------- /spec/dummy/Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/Gemfile -------------------------------------------------------------------------------- /spec/dummy/Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/Gemfile.lock -------------------------------------------------------------------------------- /spec/dummy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/README.md -------------------------------------------------------------------------------- /spec/dummy/Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/Rakefile -------------------------------------------------------------------------------- /spec/dummy/app/assets/images/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/dummy/app/assets/stylesheets/application.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/app/assets/stylesheets/application.css -------------------------------------------------------------------------------- /spec/dummy/app/controllers/concerns/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/dummy/app/helpers/application_helper.rb: -------------------------------------------------------------------------------- 1 | module ApplicationHelper 2 | end 3 | -------------------------------------------------------------------------------- /spec/dummy/app/models/concerns/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/dummy/app/views/layouts/application.html.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/app/views/layouts/application.html.erb -------------------------------------------------------------------------------- /spec/dummy/app/views/pwa/manifest.json.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/app/views/pwa/manifest.json.erb -------------------------------------------------------------------------------- /spec/dummy/app/views/pwa/service-worker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/app/views/pwa/service-worker.js -------------------------------------------------------------------------------- /spec/dummy/bin/brakeman: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/bin/brakeman -------------------------------------------------------------------------------- /spec/dummy/bin/bundle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/bin/bundle -------------------------------------------------------------------------------- /spec/dummy/bin/dev: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/bin/dev -------------------------------------------------------------------------------- /spec/dummy/bin/docker-entrypoint: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/bin/docker-entrypoint -------------------------------------------------------------------------------- /spec/dummy/bin/kamal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/bin/kamal -------------------------------------------------------------------------------- /spec/dummy/bin/rails: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/bin/rails -------------------------------------------------------------------------------- /spec/dummy/bin/rake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/bin/rake -------------------------------------------------------------------------------- /spec/dummy/bin/rubocop: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/bin/rubocop -------------------------------------------------------------------------------- /spec/dummy/bin/setup: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/bin/setup -------------------------------------------------------------------------------- /spec/dummy/bin/thrust: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/bin/thrust -------------------------------------------------------------------------------- /spec/dummy/config.ru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config.ru -------------------------------------------------------------------------------- /spec/dummy/config/application.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config/application.rb -------------------------------------------------------------------------------- /spec/dummy/config/boot.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config/boot.rb -------------------------------------------------------------------------------- /spec/dummy/config/credentials.yml.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config/credentials.yml.enc -------------------------------------------------------------------------------- /spec/dummy/config/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config/deploy.yml -------------------------------------------------------------------------------- /spec/dummy/config/environment.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config/environment.rb -------------------------------------------------------------------------------- /spec/dummy/config/environments/development.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config/environments/development.rb -------------------------------------------------------------------------------- /spec/dummy/config/environments/production.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config/environments/production.rb -------------------------------------------------------------------------------- /spec/dummy/config/environments/test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config/environments/test.rb -------------------------------------------------------------------------------- /spec/dummy/config/initializers/assets.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config/initializers/assets.rb -------------------------------------------------------------------------------- /spec/dummy/config/initializers/get_smart.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config/initializers/get_smart.rb -------------------------------------------------------------------------------- /spec/dummy/config/initializers/inflections.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config/initializers/inflections.rb -------------------------------------------------------------------------------- /spec/dummy/config/locales/en.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config/locales/en.yml -------------------------------------------------------------------------------- /spec/dummy/config/puma.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config/puma.rb -------------------------------------------------------------------------------- /spec/dummy/config/routes.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/config/routes.rb -------------------------------------------------------------------------------- /spec/dummy/lib/tasks/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/dummy/log/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/dummy/public/400.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/public/400.html -------------------------------------------------------------------------------- /spec/dummy/public/404.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/public/404.html -------------------------------------------------------------------------------- /spec/dummy/public/406-unsupported-browser.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/public/406-unsupported-browser.html -------------------------------------------------------------------------------- /spec/dummy/public/422.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/public/422.html -------------------------------------------------------------------------------- /spec/dummy/public/500.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/public/500.html -------------------------------------------------------------------------------- /spec/dummy/public/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/public/icon.png -------------------------------------------------------------------------------- /spec/dummy/public/icon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/public/icon.svg -------------------------------------------------------------------------------- /spec/dummy/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/dummy/public/robots.txt -------------------------------------------------------------------------------- /spec/dummy/script/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/dummy/vendor/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/files/js/jquery/beginner/js1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/files/js/jquery/beginner/js1.md -------------------------------------------------------------------------------- /spec/files/other/skills/middle/file1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/files/other/skills/middle/file1.md -------------------------------------------------------------------------------- /spec/files/other/skills/middle/file2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/files/other/skills/middle/file2.md -------------------------------------------------------------------------------- /spec/files/other/skills/middle/file3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/files/other/skills/middle/file3.md -------------------------------------------------------------------------------- /spec/files/sql/basics/beginner/file1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/files/sql/basics/beginner/file1.md -------------------------------------------------------------------------------- /spec/happy_path_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/happy_path_spec.rb -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorkasyanchuk/get-smart/HEAD/spec/spec_helper.rb --------------------------------------------------------------------------------