'URL to SQL'  full stack web developer


šŸ‘‹ Senior Software Developer of Ruby on Rails and VueJS applications. What I enjoy most about web development is that it boils down to effective communication. I work best on small and medium size remote teams who employ tools like Slack and Jira to ship software. I try to roll my R's when I say SCRUM. Feel free to contact me if my profile matches your needs. And, thanks for stopping by!


  • Ruby
  • Rails
  • Postgres
  • Devise
  • RSpec
  • Minites
  • Cucumber
  • Chrome DevTools
  • Capybara
  • Pundit
  • Stripe
  • Active Model Serializers
  • JavaScript
  • Vue JS
  • Vuex
  • Express JS
  • Node
  • MongoDB
  • Mongoose
  • Webpack
  • Axios
  • Mocha
  • Sinon
  • Jest
  • React
  • Redux
  • GraphQL
  • JSX
  • HTML5
  • CSS 3
  • SQL
  • Git
  • LoDash
  • JQuery
  • Backbone
  • Karma
  • Cypress
  • Middleman
  • Nanoc
  • Heroku
  • HTTP'
  • OOP
  • TDD
  • Unix


Moving files under a namespace in Rails

Iā€™m working on a Rails App that was initially designed as an internal tool. The company began receiving customer requests for reports the application produced. The decision was made to create a User Interface (UI). The process included adding creating user roles, adding authorization (with Pundit), and moving files into namespaces. There were about 10 endpoints that needed to be moved. After moving a few endpoints I detected a pattern that converted into a checklist.

The first step was to verify or add a simple test to confirm 200 before making any changes. Here is an example:

  describe 'GET Index' do
    it '200' do
      get reports_path
      expect(response).to have_http_status(200)

There was a corresponding spec for the relevant resources (index, show, new, edit, delete)

The next step was to move the resource under the namespace like so:


  # routes.rb
  resources :reports


namespace :admin do
  resources :reports

Running the test highlighted each of the files that needed updating. The list included:


Controllers must be moved and wrapped in a module.


The directory structure:


The controller without a namespace:

class FilesController < ApplicationController


The directory structure:


The controller with a namespace:

module Admin
  class FilesController < ApplicationController


The directory structure:





Pathname helpers

Namespacing routes changes the path helpers. It is helpful to review rake routes | grep [resource_name] to see how they change.


Partials also must be updated. For example if reports were to be namespaced under admin a partial path would start like so: <%= render 'reports', %> then need to add admin to the path:
<%= render 'admin/reports', %>


Rails forms have a few different syntaxes. The one used follows this pattern:

form_with(model: [:report, @report]

Once there was a namespace (such as admin) then the namespace (:admin) became the initial argument in the form like so:

form_with(model: [:admin, :report, @report]