We’re going to get a Ruby on Rails application running on a staging environment on AWS Elastic Beanstalk. The Rails app will be connected to a MySQL database instance.
Using Continuous Integration, you can perform tasks and run your tests automatically whenever you commit your code. Travis CI offers free Continuous Integration for open source projects.
Slow tests can slow down your development process. Using parallel_tests, you can speed up your test suite by multiple threads and running the tests in groups.
Factory Bot is a fixtures replacement which can generate the needed records directly in the tests. Faker can be used to create fake data for these records.
Create Acceptance Tests or Feature Tests to extend your automated tests with browser testing. It can help tests some areas that cannot be reached with other types of tests.
Using RSpec, learn how to create tests for your application and view your coverage.
Using the Rails 5.1.X defaults, we have a look at what is configured and explore the different types of tests; using the provided MiniTest and Capybara.
Gems are a packaged library of functions that can extend your application or provide other features to your system. Learn to create and publish a ruby gem.
Advancing from Single Table Inheritance, learn how Polymorphic Associations differ and tricks to simplify their usage.
Learn to use single table inheritance to allow multiple classes to be stored in the same database table.
Using the paper_trail gem, track changes to model records for auditing purposes and rollback changes when required.
This episode covers different tips and tricks around database migration files.
Create recurring events and interact with them on FullCalendar.
ice_cube is a ruby library for easily handling repeated events and schedules.
Learn to lock down your application or parts of your application by IP Addresses.
Learn to use custom error pages to provide a similar look to your application. Get notified on Slack as errors occur to act on them before they're reported.
In a recent blog post, we looked into the content_for view helper to render breadcrumbs. Once we got the feature working, it's time to refactor the feature to lower technical debt.
Simplify your workflow by using custom generators to streamline the creation of files and templates that you use often.
Continuing from Episode #87, we take a deeper dive into virtual columns in Rails 5.1 and use them to parse JSON Data Types with adding indexes to the virtual column.
In Ruby on Rails 5.1.0, generated virtual column support was added for MySQL and MariaDB. Using generated and stored columns can leverage heavy calculations to the SQL side.
Learn to create a multi-tenant application where access to tenants are determined by the subdomain.
Using the Geocoder gem and Google APIs, learn how to add some geolocation functionality to your application.
Working with an autocomplete can be very simple. However, things get complicated when you try to use HTML markup in the displayed results. Learn how to use HTML markup within your autocomplete results!
Using Bootstrap in your application has become much more simple. Also learn to create some helper methods to make working with Bootstrap much easier.
The routes file can grow to be unmaintainable and messy. Learn to keep things organized by extracting out blocks of routes into their own files.
Mountable Engines are a great way to extract code into its own namespace and allow the code to be reused in other applications. Other popular gems that are mountable engines are Devise and Doorkeeper.
When displaying a count of records, this will generate extra SQL Queries. Learn how to reduce the number of SQL queries called with counter caching the number of associated records.
Extend your image upload functionality with JCrop. Learn to redirect the user to a crop page once they have uploaded their image and save versions of the cropped images.