background preloader

Rails Automate Workflow

Facebook Twitter

Csscss by zmoazeni. What is it?

csscss by zmoazeni

Csscss will parse any CSS files you give it and let you know which rulesets have duplicated declarations. What is it for? One of the best strategies for me to maintain CSS is to reduce duplication as much as possible. Application Server Showdown: Passenger vs. Unicorn. Tl;dr Use Unicorn unless you need to run multiple applications on the same host, such as testing environments or shared CMS instances.

Application Server Showdown: Passenger vs. Unicorn

Unicorn and Passenger fundamentally differ in how they operate. There are a few similarities, however. Useful Rewrites for Nginx. I enjoy working in Rails but also believe in using the right tool for the job.

Useful Rewrites for Nginx

Many developers will add redirects to a Rails app, which is great on the development box but can end up hurting when the production traffic starts coming. We use the Nginx web server as a front end reverse proxy and it's easy to move some common redirects up into Nginx freeing Rails to do what it does best. In the initial focus group, people tell you the name is hard to remember, the SEO gurus say the domain should include www in it, and your usability guy says you should catch the most common misspellings. Chef vs Puppet: Why Puppet Should Manage Your Infrastructure. These days when looking to automate the setup and maintenance of even the simplest infrastructure you will typically end up with a decision between two popular configuration management tools, Puppet and Chef.

Chef vs Puppet: Why Puppet Should Manage Your Infrastructure

There are other tools, some of which have been around much longer. However, recently the pace at which both Puppet and Chef's development has increased indicates they're both rapidly growing. Everything You Need to Know About Unicorn. Unicorn's been a topic I've been interested in learning about for a while now; numerous Engine Yard customers and developer friends use it, love it, and recommend it.

Everything You Need to Know About Unicorn

Thankfully, the opportunity to do so recently presented itself. I spent some time poking around free resources looking for answers to my questions, and it wasn't as easy as I'd hoped... so I decided to go straight to the source. Application Server Showdown: Passenger vs. Unicorn. JsDelivr - Free CDN for javascript libraries, jQuery plugins, CSS frameworks, Fonts and more. Plugins. Plugins. Code Metrics. Cloudfoundry-community (Cloud Foundry Community) Code Quality Tools. "Fighting Code Smells", Ruby Code Analysis Tools at Frozen Rails 2012. 041 RR Code Metrics with Bryan Helmkamp. Podcast: Play in new window | Download (Duration: 1:08:59 — 94.7MB) Panel Discussion Code MetricsMeasuring CodeCode CoverageStatic AnalysisWhy should you be looking at metrics?

041 RR Code Metrics with Bryan Helmkamp

Challenge the way you think about code.Start conversations within the team.flayparse treesCode ClimateJames’ example from Code Climatechafe (too DRY)premature optimizationDavid Chelimsky’s RubyConf talkduplication in controllersrails’ scaffoldingcode complexityflogABC metric (Assignments, Branches, Conditions)saikurocyclomatic complexityroodi“Metrics Driven Development”composed method pattern“Is all the code in the method at the same level of abstraction?”

Codeclimate/ruby-test-reporter. Code Climate. Hosted static analysis for Ruby source code. Docs. Gitorious. Achiu/terminitor. Terminitor: Automate your terminal workflow on OSX. As developers, we live in the terminal, often in several tabs per project for tasks like application consoles, database interfaces, or monitoring test output.

terminitor: Automate your terminal workflow on OSX

If you’re on OSX, Arthur Chiu from the Padrino team wants to make your life a bit easier. Terminitor lets you define workspaces and workflows for projects, allowing you to script the setup of Terminal.app tabs that automagically unfold when you sit down to work on a project. Terminitor is installed via RubyGems $ gem install terminitor You can then set up your environment and set up your .terminitor folder in your $HOME folder. Rails Best Practices Service. Bbatsov/rails-style-guide. Bbatsov/ruby-style-guide. An experimental Ruby code analyzer. Bbatsov/rubocop. Railsbp/rails_best_practices. JoshCheek/seeing_is_believing. Jezdez/textmate-missingdrawer. Fredwu/api_taster. Api taster by fredwu. Codegram/rack-webconsole @ GitHub.

Rack-based interactive console (à la Rails console) in your web application's front-end Resources Install.

codegram/rack-webconsole @ GitHub

TextMate Project Drawer Enhanced. Missing Drawer is a better sidebar for Textmate project.

TextMate Project Drawer Enhanced

First thing to notice, is when you hiding project drawer it automatically resizes text window, so you can enjoy full screen without more actions. Also it adds “Open Terminal Here” button. VimGenius. Rails Tip #1: Use Pry Instead of irb for the Rails Console. The Resque Way. Note: This guest post hails from Bogdan Gusiev.

The Resque Way

Bogdan is a software developer at RailsWare. RailsWare builds quality Ruby on Rails web applications for startups and established businesses since early 2006. RailsWare helps companies succeed by using the best technologies available. Introduction. Front-End Live editing (HTML/CSS) Automating Your Front-End Workflow With Yeoman 1.0. Managing Software Teams with Joe Pantuso. Btford/ngmin. How We Work: A Badass Git Workflow — Project Idealism. About six months ago, our team was using Beanstalk to manage all of our Git repositories. We can't say enough good things about Beanstalk (they offer Subversion and Mecurial, too) and what they provided us, but we finally made the switch to GitHub. GitHub just had more features that would greatly improve our day to day workflow and let's face it, most developers have a GitHub account. Like I said, GitHub gave us a bunch of great new features that Beanstalk just wasn't providing us.

Not because Beanstalk is bad or anything, that's just the truth. ++You can have a kickass Git workflow without GitHub, but we feel like GitHub adds a great deal of improvement to it. Inspired by the GitHub team themselves, on a day to day basis, this is what we do: Pick a feature, bugfix, or tweak from Basecamp. That's our typical workflow when we work on Tula Software, our own product. Start using GruntJS. Last weekend I finally found few time to give a try to GruntJS. I was surprised by how it’s easy get started to work with GruntJS, and I’m curious to experiment the benefits which its usage can bring in a real world app.

After some really trivial test, my first serious attempt to create something useful with GruntJS has been to create an automatic process to minify and then concatenate different javascript files; this post will collect a few notes about what I learned on GruntJS while I was trying to set up this process. Note: the documentation about GruntJS is really the better resource from where to start your journey in the world of GruntJS. I’m writing this post to have a fast and more focused reference in the future. Single Page Application Ecosystem. Single Page Application aka SPA are the norms of the day for building HTML5 Web or Mobile Applications. They have been around for a while and lot of development is happening in various aspects of SPA. In order to begin understanding the SPA Ecosystem, we need to first understand how SPA can be broken down into various categories. The following diagram depicts that SPA Ecosystem Categories The next step is to go through each block of the above diagram, explain each aspect and what Libraries exist today to support them.

Build Tool, Dependency Management & Scaffolding Every Software stack needs set of Build Tools. Test driven development - the easy way! Using AngularJS with a Rails backend - Emmanuel Oga's Software and Stuff. I created a sample AngularJSapp which uses rails as a backend. While it is possible to include AngularJS as part of the rails assets, I think it is better to setup the angular code base on a standalone folder, leaving the rails app as a (more or less) isolated backend. There are several advantages to this setup: Ability to manage the frontend app using Yeoman (including generators!). No more questions about file layout: use rails layout for rails stuff, angular-generator layout for angular stuff.Easily install external assets via bower (e.g. angularjs, jquery, twitter bootstrap, underscore, etc.).Write client side unit tests and run them with karma.Promotes unit-testing the js codebase and removes the temptation of integration-testing everything: testing with karma is a lot faster than using capybara or a similar solution.LiveReload support for free with yeoman's angular generator!

(uses websockets, no need to install a browser plugin). Mutually Human Software. Yeoman Testing With Coffeescript Matthew Seeley and I have been building an AngularJS app using Yeoman. So far it's been great! Yeoman gives you Grunt tasks, AngularJS generators, and Bower package management right out of the box. In addition, it gives you a base configuration for running Angular tests with Karma. Generator-angularjs. Guard is Your Best Friend. Building Apps With the Yeoman Workflow. Trick question. It's not a thing. Say Yo to Yeoman. Testing Javascript with Jasmine. Karma - Spectacular Test Runner for Javascript. PhantomJS: Headless WebKit with JavaScript API. PhantomJS: Headless WebKit with JavaScript API. Automate the mundane. Simpler UI Testing with CasperJS. This post comes from Matthew Setter, a professional technical writer and passionate web application developer. He’s also the founder of Malt Blue , the community for PHP web application development professionals and PHP Cloud Development Casts – learn Cloud Development through the lens of PHP.

You can connect with him on Twitter , Facebook , LinkedIn or Google+ anytime. Summary Whether you develop small applications or large ones, it’s safe to say that user testing is an important aspect of the development process.