- Distros Debian based
sudo apt install libssl-dev
- Distros RedHat based
yum install openssl-devel
rails new ecommerce-api --api -d mysql -T
gem install mailcatcher
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { address: 'localhost', port: 1025 }
- pre visualize your email page
mkdir -p test/mailers/previews/devise
cat << EOF >> test/mailers/previews/devise/mailer_preview.rb
class Devise::MailerPreview < ActionMailer::Preview
def reset_password_instructions
Devise::Mailer.reset_password_instructions(User.first, {})
end
end
EOF
http://localhost:3000/rails/mailers/devise/mailer/reset_password_instructions
class Devise::MailerPreview < ActionMailer::Preview
def reset_password_instructions
Devise::Mailer.reset_password_instructions(User.first, {})
end
end
ActionMailer::Base.mail(to: '[email protected]', from: '[email protected]', subject: 'Apenas Testando', body: 'xD').deliver_now!
rails g devise:install
rails g devise_token_auth:install User auth/v1/user
rails db:migrate
rails g devise:views -v mailer
rails g controller admin/v1/api
rails g controller storefront/v1/api
# I18n config
config.i18n.load_path += Dir[Rails.root.join('config/locales/**/*.{rb,yml}')]
config.i18n.default_locale = :'pt-BR'
mkdir -p config/locales/pt-BR
touch config/locales/pt-BR/{active_record,devise}.yml
- add to gemfile
group :development, :test do
gem 'factory_bot_rails'
gem 'faker'
gem 'rspec-rails', '~> 4.0.1'
gem 'shoulda-matchers', '~> 4.0'
end
bundle install && rails g rspec:install
- configure factory_bot and shoulda_matchers
mkdir -p spec/support
cat << EOF >> spec/support/factory_bot.rb
RSpec.configure do |config|
config.include FactoryBot::Syntax::Methods
end
EOF
cat << EOF >> spec/support/shoulda_matchers.rb
Shoulda::Matchers.configure do |config|
config.integrate do |with|
with.test_framework :rspec
with.library :rails
end
end
EOF
require 'rspec/rails'
Dir[Rails.root.join('spec', 'support', '**', '*.rb')].each { |f| require f }
rails active_storage:install
rails db:migrate
-
will generate a configuration file - config/storage.yml
-
setup your active storage service to local config/environments/development.rb
config.active_storage.service = :local