Getting started with Trailblazer and Ruby on Rails

Last week I gave my review of Trailblazer, a book on the “high-level architecture” framework (Trailblazer) for Ruby web applications. I find it inevitable that you will need to introduce abstraction into a web application at a certain stage of the application’s life. This means you can either create your own abstractions, or stand on […]

Continue reading...

Understanding Function Arity in Elixir

A couple of weeks ago we looked at defining functions and modules in Elixir (Working with Functions and Modules in Elixir). An important concept that we didn’t look at in that tutorial was function arity. Unless you come from a Computer Science background, you have probably never come across the term “function arity”. It basically […]

Continue reading...

Trailblazer – A New Architecture For Rails [Review]

I really love the foundational philosophy of Ruby on Rails. The framework provides a wealth of amazing tools to help you build better applications, quicker, all whilst making the process incredibly fun and rewarding. When you create a new Rails project, you can have a fully functional Minimal Viable Product in a very short amount […]

Continue reading...

Using the Pipe Operator in Elixir

In last week’s tutorial we looked at defining functions and modules. Elixir is a functional programming language and so defining small and concise functions is a big part of the philosophy of the language. A function should have a single concern, and so testing functions becomes really easy. In functional languages, you will often want […]

Continue reading...

Working with CSVs in Ruby

When it comes to transferring data around between applications, there are basically two methods that you come across again and again. If the application has an API you might be able to work with JSON or XML. This usually makes working with data from other applications fairly easy. However, often the only way to get […]

Continue reading...

Working with Functions and Modules in Elixir

Elixir is a functional language and so as you would expect, Functions play an important role when developing Elixir applications! Typically in applications written in a functional language you will see lots of little functions that act on data. In today’s exploration of Elixir, we’re going to be looking at defining Functions and how we […]

Continue reading...

Working with Keyword Lists and Maps in Elixir

So far in this introduction to Elixir we’ve looked at Strings, Tuples, and Lists. Another common type that you will find in many different programming languages is the associative data structure. Associative data structures go by a couple of different names depending on the language. You might also know them as associative arrays, hashes or […]

Continue reading...

Creating a Sign Up Form flow in Ruby on Rails Part 3

Over the last couple of weeks we’ve been putting the various components together to creating a registration flow in Ruby on Rails. In Part 1 we looked at building out the Model layer, which included the models for users, roles and assignments. In Part 2 we added the register Form Object for encapsulating the process […]

Continue reading...

Understanding Lists in Elixir

Last week we looked at using Tuples in Elixir. Tuples are a special type that hold many related values as a single whole. This is in contrast to the List type that holds individual items as a list of separate values. Whilst on the surface these two types can seem very similar, they are actually […]

Continue reading...

Creating a Sign Up Form flow in Ruby on Rails Part 2

In last week’s tutorial we set up the Model layer of this registration flow, which included the User, Role, and Assignment models, as well as Unit Tests to assert that the correct business logic was being enforced correctly. Registration is a unique aspect of building an application that involves processes and rules that only apply […]

Continue reading...