Welcome Arild Shirazi!

He beat us to the punch, but we'd like to give Arild a warm welcome to CustomInk.

Read More

Managing Your Local Project Repos

Git is great for managing a project. And Github is a great way to share your git managed project with your teammates and the world. But, how do you manage all of those projects locally? I'm not claiming this is the only way or even the best way. It's just my way of managing the repos I need to have locally. So let's get down to it.

Read More

Open Sourcing a Gem: Part 2

Considerations when Open Sourcing When open sourcing a gem (or any project, this post can be generalized to not just focus on gems), there are a number of things to consider. The first check is to ensure that the use case is general enough that it is likely to be helpful to other parties. Though the project might never gain many external users, it is a good sanity check before taking on the work to open source the project. Following...

Read More

Better Hash Injection using each_with_object

A common Ruby pattern for injecting values from an Array into to a Hash is to use the Enumerable#inject method and pass the hash as the memo. If you had an enumeration of User objects, you might convert them to a hash with something like this: # build a hash of { name => email } users = User.all users.inject({}) do |memo, user| memo[user.name] = user.email memo # you must return the memo each time! end While this will reduce...

Read More

Understanding and Using Sass Load Paths

One of the biggest hurdles in effectively using Sass is correctly setting the load path when using Sass libraries. Surprisingly not all libraries set up the load paths correctly. Some libraries add themselves to the Sass.load_paths or the SASS_PATH environment variable, but stomp on paths that were already loaded, which introduces problems like requirements for the order dependencies are loaded. It is clear that the current state of things could use improvement.

Read More

Taking a peek at Active Record Proxies

If you've worked in a Rails project before, you've undoubtedly set up associations beteween your models. Active Record provides a clean and simple way in setting up these associations, while hiding a lot of the complexity behind the scenes.

Read More

Unit Testing Sass Frameworks

Building the living style guide for CustomInk's new mobile/responsive sites required that we stand on the shoulders of other great frameworks. All of them well authored and hence well tested. But as we built more tools on top of these giants, we felt the need to test our own framework's code and thus began the search for Sass/CSS testing methods. After surveying the current state of testing, I found myself let down. To be fair, there are some really clever...

Read More