Development: Local Development - marian13/convenient_service GitHub Wiki

Prerequisites

Setup

  • Clone the repo.

    git clone [email protected]:marian13/convenient_service.git
    
  • Navigate to it.

    cd convenient_service
    
  • Install dependencies.

    task deps:install
    

Playground

  • irb with without any external dependencies.

    task playground
    

    or

    task playground:standard
    
  • irb with all external dependencies.

    task playground:all
    
  • irb with Rails 5.2.

    task playground:rails_5.2
    
  • irb with Rails 6.0.

    task playground:rails_6.0
    
  • irb with Rails 6.1.

    task playground:rails_6.1
    
  • irb with Rails 7.0.

    task playground:rails_7.0
    
  • irb with Dry.

    task playground:dry
    

NOTE: Do not use cmd + c (ctrl + c) to exit from irb. Prefer exit, quit or cmd + d (ctrl + d). Check the following picture:

Linters

  • Lint all files by Rubocop.

    task rubocop
    
    alias tl="task lint"
    
    tl
    
  • Lint a single file by Rubocop.

    task rubocop -- lib/convenient_service/configs/standard.rb
    

Tests

  • Run all tests and specs.

    task test
    
  • Run all specs (RSpec).

    task rspec
    
    alias tr="task rspec"
    
    tr
    
  • Run Standard specs.

    task rspec:standard
    
  • Run Rails 5.2 specs.

    task rspec:rails_5.2
    
  • Run Rails 6.0 specs.

    task rspec:rails_6.0
    
  • Run Rails 6.1 specs.

    task rspec:rails_6.1
    
  • Run Rails 7.0 specs.

    task rspec:rails_7.0
    
  • Run Dry specs.

    task rspec:dry
    
  • Run a single spec file.

    task rspec -- spec/lib/convenient_service/configs/standard_spec.rb
    
    task rspec:rails_5.2 -- spec/lib/convenient_service/configs/standard_spec.rb
    
  • Run a single spec.

    task rspec -- spec/lib/convenient_service/configs/standard_spec.rb:91
    
  • Run a single spec with logs.

    CONVENIENT_SERVICE_LOGGER_LEVEL=debug CONVENIENT_SERVICE_LOGGER_ENABLE_COLORS=true task rspec -- spec/lib/convenient_service/examples/standard/request_params/services/prepare_spec.rb:130
    
  • Run minitests.

    task minitest
    
  • Run a single minitest file.

    task minitest -- test/lib/convenient_service/support/gems/rspec_test.rb
    

Coverage

Docs

  • Generate docs with SDoc.

    task docs:generate
    
  • Open docs.

    task docs:open
    

Release

Docker

Check Docker Development wiki.

More tasks

Check Taskfile.yml for the full list of possible tasks.