One way to do this is to use bundler to scaffold our gem:
bundler gem my_gem
I prefer to put tasks meant to manage the gem itself in lib/tasks, and tasks the gem is meant to provide to gem users in lib/my_gem/tasks.
| describe 'test something', driver: :playwright do | |
| let(:user) { create(:user) } | |
| before do | |
| login_as user | |
| end | |
| it 'goes to a page and checks to see that it contains some content when not authorized' do | |
| page.goto(restricted_path) |
One way to do this is to use bundler to scaffold our gem:
bundler gem my_gem
I prefer to put tasks meant to manage the gem itself in lib/tasks, and tasks the gem is meant to provide to gem users in lib/my_gem/tasks.
| #! /usr/bin/env bash | |
| set -e | |
| eval "$(rbenv init -)" | |
| for version in `rbenv whence gem`; do | |
| rbenv shell "$version" | |
| echo "Updating rubygems for $version" | |
| gem update --system --no-document --quiet |
| def logDirectory = "${thb.settings.thbHome}/logs" | |
| log4j = { | |
| appenders { | |
| file name: "file", threshold: Level.ERROR, file: "${logDirectory}/${appName}-error.log".toString() | |
| file name: "infoFile", threshold: Level.INFO, file: "${logDirectory}/${appName}-info.log".toString() | |
| console name: "stdout", threshold: Level.DEBUG | |
| } | |
| root { | |
| error 'file' |
| log.debug('Esto es un mensaje de depuración') | |
| log.info('Esto es un mensaje de información') | |
| log.error('Esto es un mensaje de error') |
| // Put me in grails-app/conf/DebugFilters.groovy | |
| class DebugFilters { | |
| def filters = { | |
| all(controller:'*', action:'*') { | |
| before = { | |
| log.error "${request.method}: $request.forwardURI $request.params" | |
| } | |
| after = { Map model -> |
gem install ruby-debug-idecode .Notes: Please note, when you stop debug server, webpack-dev-server remain running in terminal (because it's background job).