Module: ConvenientService::Dependencies::Queries
- Extended by:
- Queries
- Included in:
- ConvenientService::Dependencies, Queries
- Defined in:
- lib/convenient_service/dependencies/queries.rb,
lib/convenient_service/dependencies/queries/ruby.rb,
lib/convenient_service/dependencies/queries/version.rb,
lib/convenient_service/dependencies/queries/gems/paint.rb,
lib/convenient_service/dependencies/queries/gems/rspec.rb,
lib/convenient_service/dependencies/queries/gems/logger.rb,
lib/convenient_service/dependencies/queries/gems/minitest.rb,
lib/convenient_service/dependencies/queries/gems/active_model.rb,
lib/convenient_service/dependencies/queries/version/null_version.rb
Defined Under Namespace
Modules: Gems Classes: Ruby, Version
Instance Method Summary collapse
- #active_model ⇒ Class<ConvenientService::Dependencies::Queries::Gems::ActiveModel> private
- #appraisal_name ⇒ String private
- #appraisal_name_for_coverage ⇒ String private
-
#benchmark? ⇒ Boolean
private
Returns
truewhen Convenient Service is in benchmark mode. -
#ci? ⇒ Boolean
private
Returns
truewhen Convenient Service is in CI mode. -
#debug? ⇒ Boolean
Returns
truewhen Convenient Service is in debug mode. - #logger ⇒ Class<ConvenientService::Dependencies::Queries::Gems::Logger> private
- #minitest ⇒ Class<ConvenientService::Dependencies::Queries::Gems::Minitest> private
- #paint ⇒ Class<ConvenientService::Dependencies::Queries::Gems::Paint> private
- #require_active_model_validations_standard_config_option ⇒ Boolean private
- #require_alias ⇒ Boolean private
- #require_amazing_print_inspect_standard_config_option ⇒ Boolean private
- #require_assigns_attributes_in_constructor_using_active_model_attribute_assignment_plugin ⇒ Boolean private
- #require_assigns_attributes_in_constructor_using_dry_initializer_plugin ⇒ Boolean private
-
#require_awesome_print_inspect_standard_config_option ⇒ Boolean
private
Loads a config that patches services to use Awesome Print to generate colored
inspectstrings. - #require_development_tools(amazing_print: false, awesome_print: true) ⇒ Boolean private
-
#require_dry_examples(version: "") ⇒ Boolean
private
Loads dry config examples.
- #require_dry_initializer_standard_config_option ⇒ Boolean private
- #require_has_attributes_using_active_model_attributes_plugin ⇒ Boolean private
- #require_has_j_send_result_params_validations_using_active_model_validations_plugin ⇒ Boolean private
- #require_has_j_send_result_params_validations_using_dry_validation_plugin ⇒ Boolean private
- #require_has_memoization_using_memo_wise_plugin ⇒ Boolean private
- #require_memo_wise_standard_config_option ⇒ Boolean private
-
#require_rails_examples(version: "") ⇒ Boolean
private
Loads rails config examples.
-
#require_rspec_extensions ⇒ Boolean
private
Loads RSpec extensions like
be_successmatcher,stub_servicehelper, etc. -
#require_standard_examples(version: "") ⇒ Boolean
private
Loads standard config examples.
- #require_test_tools ⇒ Boolean private
- #require_wraps_result_in_db_transaction_using_active_record_base_transaction_plugin ⇒ Boolean private
- #rspec ⇒ Class<ConvenientService::Dependencies::Queries::Gems::RSpec> private
- #ruby ⇒ Class<ConvenientService::Dependencies::Queries::Ruby> private
- #support_byebug? ⇒ Boolean private
- #support_has_j_send_result_params_validations_using_active_model_validations_plugin? ⇒ Boolean private
- #support_logger_non_integer_levels? ⇒ Boolean private
Instance Method Details
#active_model ⇒ Class<ConvenientService::Dependencies::Queries::Gems::ActiveModel>
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
651 652 653 |
# File 'lib/convenient_service/dependencies/queries.rb', line 651 def active_model Gems::ActiveModel end |
#appraisal_name ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
696 697 698 |
# File 'lib/convenient_service/dependencies/queries.rb', line 696 def appraisal_name ::ENV["APPRAISAL_NAME"].to_s end |
#appraisal_name_for_coverage ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
708 709 710 |
# File 'lib/convenient_service/dependencies/queries.rb', line 708 def appraisal_name_for_coverage appraisal_name.empty? ? "without_appraisal" : appraisal_name end |
#benchmark? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns true when Convenient Service is in benchmark mode. In other words $CONVENIENT_SERVICE_BENCHMARK env variable is set to true.
45 46 47 |
# File 'lib/convenient_service/dependencies/queries.rb', line 45 def benchmark? ::ENV["CONVENIENT_SERVICE_BENCHMARK"] == "true" end |
#ci? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns true when Convenient Service is in CI mode. In other words $CONVENIENT_SERVICE_CI env variable is set to true.
56 57 58 |
# File 'lib/convenient_service/dependencies/queries.rb', line 56 def ci? ::ENV["CONVENIENT_SERVICE_CI"] == "true" end |
#debug? ⇒ Boolean
Returns true when Convenient Service is in debug mode. In other words $CONVENIENT_SERVICE_DEBUG env variable is set to true.
34 35 36 |
# File 'lib/convenient_service/dependencies/queries.rb', line 34 def debug? ::ENV["CONVENIENT_SERVICE_DEBUG"] == "true" end |
#logger ⇒ Class<ConvenientService::Dependencies::Queries::Gems::Logger>
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
660 661 662 |
# File 'lib/convenient_service/dependencies/queries.rb', line 660 def logger Gems::Logger end |
#minitest ⇒ Class<ConvenientService::Dependencies::Queries::Gems::Minitest>
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
633 634 635 |
# File 'lib/convenient_service/dependencies/queries.rb', line 633 def minitest Gems::Minitest end |
#paint ⇒ Class<ConvenientService::Dependencies::Queries::Gems::Paint>
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
669 670 671 |
# File 'lib/convenient_service/dependencies/queries.rb', line 669 def paint Gems::Paint end |
#require_active_model_validations_standard_config_option ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
305 306 307 |
# File 'lib/convenient_service/dependencies/queries.rb', line 305 def require_active_model_validations_standard_config_option require_has_j_send_result_params_validations_using_active_model_validations_plugin end |
#require_alias ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
112 113 114 |
# File 'lib/convenient_service/dependencies/queries.rb', line 112 def require_alias ::Object.const_set(:CS, ::ConvenientService) end |
#require_amazing_print_inspect_standard_config_option ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
# File 'lib/convenient_service/dependencies/queries.rb', line 168 def require_amazing_print_inspect_standard_config_option ## # - https://github.com/amazing-print/amazing_print # require "amazing_print" require "convenient_service/service/plugins/has_amazing_print_inspect" require "convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_amazing_print_inspect" require "convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data/plugins/has_amazing_print_inspect" require "convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/message/plugins/has_amazing_print_inspect" require "convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/plugins/has_amazing_print_inspect" require "convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/code/plugins/has_amazing_print_inspect" require "convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_amazing_print_inspect" require "convenient_service/feature/plugins/has_amazing_print_inspect" end |
#require_assigns_attributes_in_constructor_using_active_model_attribute_assignment_plugin ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
121 122 123 124 125 126 127 128 129 130 |
# File 'lib/convenient_service/dependencies/queries.rb', line 121 def require_assigns_attributes_in_constructor_using_active_model_attribute_assignment_plugin ## # - https://edgeguides.rubyonrails.org/active_model_basics.html # - https://api.rubyonrails.org/classes/ActiveModel.html # - https://github.com/rails/rails/tree/main/activemodel # require "active_model" require "convenient_service/common/plugins/assigns_attributes_in_constructor/using_active_model_attribute_assignment" end |
#require_assigns_attributes_in_constructor_using_dry_initializer_plugin ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
137 138 139 140 141 142 143 144 145 |
# File 'lib/convenient_service/dependencies/queries.rb', line 137 def require_assigns_attributes_in_constructor_using_dry_initializer_plugin ## # - https://dry-rb.org/gems/dry-initializer/main # - https://github.com/dry-rb/dry-initializer # require "dry-initializer" require "convenient_service/common/plugins/assigns_attributes_in_constructor/using_dry_initializer" end |
#require_awesome_print_inspect_standard_config_option ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Loads a config that patches services to use Awesome Print to generate colored inspect strings.
Useful for debugging.
Works as expected for byebug and pry.
Has issues with escaping colors for binding.break and irb.
There is a workaround in the examples, but its possible negative outcome has not been investigated yet. Use it at your own risk.
275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 |
# File 'lib/convenient_service/dependencies/queries.rb', line 275 def require_awesome_print_inspect_standard_config_option ## # - https://github.com/awesome-print/awesome_print # require "awesome_print" require "convenient_service/service/plugins/has_awesome_print_inspect" require "convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_awesome_print_inspect" require "convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data/plugins/has_awesome_print_inspect" require "convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/message/plugins/has_awesome_print_inspect" require "convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/plugins/has_awesome_print_inspect" require "convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/code/plugins/has_awesome_print_inspect" require "convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_awesome_print_inspect" require "convenient_service/feature/plugins/has_awesome_print_inspect" end |
#require_development_tools(amazing_print: false, awesome_print: true) ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Expected to be called from irb, pry, spec_helper.rb, etc.
392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 |
# File 'lib/convenient_service/dependencies/queries.rb', line 392 def require_development_tools(amazing_print: false, awesome_print: true) return if ci? ## # - https://github.com/awesome-print/awesome_print # require "awesome_print" if awesome_print ## # - https://github.com/amazing-print/amazing_print # require "amazing_print" if amazing_print ## # - https://github.com/gsamokovarov/break # require "break" ## # - https://github.com/deivid-rodriguez/byebug # require "byebug" if support_byebug? ## # - https://github.com/ruby/debug # require "debug" if ruby.mri? ## # - https://ruby-doc.org/stdlib-2.7.0/libdoc/ostruct/rdoc/OpenStruct.html # - https://github.com/ruby/ostruct # require "ostruct" ## # - https://github.com/janlelis/paint # require "paint" ## # - https://github.com/ruby/pp # require "pp" ## # - https://github.com/rouge-ruby/rouge # require "rouge" if support_byebug? ## # - https://ruby-doc.org/stdlib-2.7.0/libdoc/tempfile/rdoc/Tempfile.html # - https://github.com/ruby/tempfile # require "tempfile" require "convenient_service/debug/convenient_service" require "convenient_service/debug/b" if support_byebug? require "convenient_service/debug/byebug_syntax_highlighting" if support_byebug? require "convenient_service/debug/bb" if ruby.mri? require "convenient_service/debug/ce" require "convenient_service/debug/ds" require "convenient_service/debug/thread_backtraces" require "convenient_service/debug/break" require "convenient_service/debug/timeout" end |
#require_dry_examples(version: "") ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Loads dry config examples.
598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 |
# File 'lib/convenient_service/dependencies/queries.rb', line 598 def require_dry_examples(version: "") ## # - https://ruby-doc.org/stdlib-2.7.0/libdoc/json/rdoc/JSON.html # - https://github.com/flori/json # require "json" ## # - https://github.com/jfelchner/ruby-progressbar # require "progressbar" ## # - https://ruby-doc.org/stdlib-2.7.0/libdoc/webrick/rdoc/WEBrick.html # - https://github.com/ruby/webrick # require "webrick" require ::File.join("convenient_service", "examples", "dry", version, "gemfile") end |
#require_dry_initializer_standard_config_option ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
296 297 298 |
# File 'lib/convenient_service/dependencies/queries.rb', line 296 def require_dry_initializer_standard_config_option require_assigns_attributes_in_constructor_using_dry_initializer_plugin end |
#require_has_attributes_using_active_model_attributes_plugin ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
152 153 154 155 156 157 158 159 160 161 |
# File 'lib/convenient_service/dependencies/queries.rb', line 152 def require_has_attributes_using_active_model_attributes_plugin ## # - https://edgeguides.rubyonrails.org/active_model_basics.html # - https://api.rubyonrails.org/classes/ActiveModel.html # - https://github.com/rails/rails/tree/main/activemodel # require "active_model" require "convenient_service/common/plugins/has_attributes/using_active_model_attributes" end |
#require_has_j_send_result_params_validations_using_active_model_validations_plugin ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
325 326 327 328 329 330 331 332 333 334 |
# File 'lib/convenient_service/dependencies/queries.rb', line 325 def require_has_j_send_result_params_validations_using_active_model_validations_plugin ## # - https://edgeguides.rubyonrails.org/active_model_basics.html # - https://api.rubyonrails.org/classes/ActiveModel.html # - https://github.com/rails/rails/tree/main/activemodel # require "active_model" require "convenient_service/service/plugins/has_j_send_result_params_validations/using_active_model_validations" end |
#require_has_j_send_result_params_validations_using_dry_validation_plugin ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
341 342 343 344 345 346 347 348 349 |
# File 'lib/convenient_service/dependencies/queries.rb', line 341 def require_has_j_send_result_params_validations_using_dry_validation_plugin ## # - https://dry-rb.org/gems/dry-validation/main/ # - https://github.com/dry-rb/dry-validation # require "dry-validation" require "convenient_service/service/plugins/has_j_send_result_params_validations/using_dry_validation" end |
#require_has_memoization_using_memo_wise_plugin ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
356 357 358 359 360 361 362 363 |
# File 'lib/convenient_service/dependencies/queries.rb', line 356 def require_has_memoization_using_memo_wise_plugin ## # - https://github.com/panorama-ed/memo_wise # require "memo_wise" require "convenient_service/common/plugins/has_memoization/using_memo_wise" end |
#require_memo_wise_standard_config_option ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
314 315 316 |
# File 'lib/convenient_service/dependencies/queries.rb', line 314 def require_memo_wise_standard_config_option require_has_memoization_using_memo_wise_plugin end |
#require_rails_examples(version: "") ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Loads rails config examples.
569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 |
# File 'lib/convenient_service/dependencies/queries.rb', line 569 def require_rails_examples(version: "") ## # - https://ruby-doc.org/stdlib-2.7.0/libdoc/json/rdoc/JSON.html # - https://github.com/flori/json # require "json" ## # - https://github.com/jfelchner/ruby-progressbar # require "progressbar" ## # - https://ruby-doc.org/stdlib-2.7.0/libdoc/webrick/rdoc/WEBrick.html # - https://github.com/ruby/webrick # require "webrick" require ::File.join("convenient_service", "examples", "rails", version, "gemfile") end |
#require_rspec_extensions ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Expected to be called from spec_helper.rb.
Loads RSpec extensions like be_success matcher, stub_service helper, etc.
504 505 506 507 508 509 510 511 512 513 |
# File 'lib/convenient_service/dependencies/queries.rb', line 504 def require_rspec_extensions require "rspec/expectations" require "rspec/matchers" require "rspec/mocks" require "convenient_service/service/plugins/can_have_rspec_stubbed_results" require "convenient_service/feature/plugins/can_have_rspec_stubbed_entries" require "convenient_service/rspec" end |
#require_standard_examples(version: "") ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Loads standard config examples.
523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 |
# File 'lib/convenient_service/dependencies/queries.rb', line 523 def require_standard_examples(version: "") ## # - https://ruby-doc.org/stdlib-2.7.0/libdoc/date/rdoc/Date.html # - https://ruby-doc.org/stdlib-2.7.0/libdoc/date/rdoc/DateTime.html # - https://github.com/ruby/date # require "date" ## # - https://ruby-doc.org/stdlib-2.7.0/libdoc/json/rdoc/JSON.html # - https://github.com/flori/json # require "json" ## # - https://github.com/jfelchner/ruby-progressbar # require "progressbar" ## # - https://ruby-doc.org/stdlib-2.7.0/libdoc/webrick/rdoc/WEBrick.html # - https://github.com/ruby/webrick # require "webrick" ## # - https://ruby-doc.org/stdlib-2.7.0/libdoc/uri/rdoc/URI.html # - https://github.com/ruby/uri # require "uri" require ::File.join("convenient_service", "examples", "standard", version, "cowsay") require ::File.join("convenient_service", "examples", "standard", version, "date_time") require ::File.join("convenient_service", "examples", "standard", version, "factorial") require ::File.join("convenient_service", "examples", "standard", version, "gemfile") require ::File.join("convenient_service", "examples", "standard", version, "request_params") end |
#require_test_tools ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Expected to be called from spec_helper.rb.
466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 |
# File 'lib/convenient_service/dependencies/queries.rb', line 466 def require_test_tools ## # - https://github.com/janlelis/paint # require "paint" ## # - https://github.com/faker-ruby/faker # require "faker" ## # - https://ruby-doc.org/stdlib-2.7.0/libdoc/ostruct/rdoc/OpenStruct.html # - https://github.com/ruby/ostruct # require "ostruct" ## # - https://ruby-doc.org/stdlib-2.7.0/libdoc/strscan/rdoc/StringScanner.html # - https://github.com/ruby/strscan # require "strscan" ## # - https://ruby-doc.org/stdlib-2.7.0/libdoc/tempfile/rdoc/Tempfile.html # - https://github.com/ruby/tempfile # require "tempfile" end |
#require_wraps_result_in_db_transaction_using_active_record_base_transaction_plugin ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
370 371 372 373 374 375 376 377 378 379 |
# File 'lib/convenient_service/dependencies/queries.rb', line 370 def require_wraps_result_in_db_transaction_using_active_record_base_transaction_plugin ## # - https://edgeguides.rubyonrails.org/active_record_basics.html # - https://api.rubyonrails.org/classes/ActiveRecord.html # - https://github.com/rails/rails/tree/main/activerecord # require "active_record" require "convenient_service/service/plugins/wraps_result_in_db_transaction/using_active_record_base_transaction" end |
#rspec ⇒ Class<ConvenientService::Dependencies::Queries::Gems::RSpec>
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
642 643 644 |
# File 'lib/convenient_service/dependencies/queries.rb', line 642 def rspec Gems::RSpec end |
#ruby ⇒ Class<ConvenientService::Dependencies::Queries::Ruby>
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
624 625 626 |
# File 'lib/convenient_service/dependencies/queries.rb', line 624 def ruby Ruby end |
#support_byebug? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
79 80 81 |
# File 'lib/convenient_service/dependencies/queries.rb', line 79 def support_byebug? ruby.mri? && ruby.version < 4.0 end |
#support_has_j_send_result_params_validations_using_active_model_validations_plugin? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
89 90 91 92 93 94 |
# File 'lib/convenient_service/dependencies/queries.rb', line 89 def support_has_j_send_result_params_validations_using_active_model_validations_plugin? return false unless active_model.loaded? return false if ruby.version >= 3.0 && active_model.version < 6.0 true end |
#support_logger_non_integer_levels? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
103 104 105 |
# File 'lib/convenient_service/dependencies/queries.rb', line 103 def support_logger_non_integer_levels? logger.version >= "1.3.0" end |