Skip to main content

Posts

Showing posts from 2015

Don't over concern your rails project

Rails Concern is a good feature, don't make it evil .  John McDowall has written an excellent article  about how we are misusing rails concern.  Rails concern are not meant to make your fat model skinny, its meant for making your life easy when you want to include, extend  and use included callback ( all the same time) in a  module . `Skinny Controller and Fat Model` is not enough for writing quality code. Fat Model is pain for maintenance and enhancement. Its nightmare for new developer on the project. We use Code climate to keep a check on code smell. Code climate complains when your model start becoming fat and simple option to shut code climate is to pull out some methods related to same logic and dump in a module or concern and code climate gives you green signal. Even though code climate says your code quality improved but in reality you have just deteriorated your code quality. According to code climate team `Pulling out methods from model to some module is not r

Resolve OpenSSL::SSL::SSLError on Yosemite

If you are using rvm installed ruby on Yosemite  OSX  and getting error : OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed then reinstalling ruby with ` --disable-binary` may fix this Issue. rvm reinstall 2.1.2 --disable-binary  Reason: Ruby installed with packaged binary in rvm has OpenSSL path: /etc/openssl  Path of installed openssl is :  /usr/local/etc/openssl To check openssl directory: > irb > require 'openssl' > "SSL_CERT_DIR: %s" % OpenSSL::X509::DEFAULT_CERT_DIR

Deploying Ember Cli App

Now deploying ember-cli is no more a challenge,  ember-cli-deploy  Addon is good solution for deploying ember-cli apps but why settle for good solution when you have awesome solution out there . Yes, you read it right. Thanks  tedconf  for building front_end_builds  and  ember-cli-front-end-builds  . Front_end_builds : Rails engine to manage front end builds and deployments Benefits: JS app can be deployed without redeploying your Rails app Easily smoke test SHAs, branches and releases in your production environment with query params:  http://your-app.com/my-ember-app?branch=new-feature Admin interface lets you easily view, rollback and activate different app versions Admin UI look like this : Ember-cli-front-end-builds:  Easily deploy your Ember CLI app to a  front_end_builds  Rails backend. The deploy process involves: Creating a build of your ember-cli app Uploading your assets to S3 Notifying your Rails backend with info about the new

Add handlebar helpers in ember cli project

Updated for ember-cli 1.13.8 To add handlebar helper, create file under 'app/helpers/' directory If your helper name is 'if-first' than your file will be like 'app/helpers/if-first.js' Remember to use dash in helper name so that it will be loaded automatically, for more info read  http://www.ember-cli.com/#resolving-handlebars-helpers . Example: Check for first element in each loop. 'app/helpers/if-first.js' import Ember from "ember" export default Ember.Helper.helper(function(options)  {  if(options[0] === 0){     return options[1];   }else{     return options[2];   } };     then use it in your handlebars template {{#each items as |item index|}}   <div class={{if-first index "active item" "item"}}>            </div> {{/each}}   You can also pass  parameter to helpers like:  {{#format-date date}}  and collect parameter:  export default Ember.Helper.helper(functi

Letter To Ruby Conf India Organisers

Disclaimer : This article consist of my brutally honest review about Ruby Conf India 2015, If you are prone to depression, heart attack while reading criticism, please STOP reading this letter now  and move on. I know organizers worked hard to organize this event and I thank you for that but this does not mean I am happy with the way it was organised. I have complaints, so do lots of people I know. Someone has to raise voice, for now I am taking this responsibility. 1. Why Discriminate ? I was given accommodation in Justa-panjim while most of the conf attendees were in Cidade-goa, those two hotel are incomparable. Justa-panjim didn't have enough water for bathing, forget about swimming pool, beach. I didn't had complained if everyone was given accommodation in Justa-panjim, Yes I am being jealous here..!!! I paid conf fees(lite tickets.. yes thats how early I booked my ticket.) and I deserve to be treated equally , why discriminate ? 2. Where's Ruby ? In some o

Ember data load model using findQuery

Loading Ember model in route is as simple as: App.PostsRoute = Ember.Route.extend({   model : function (params) {      return this .store.find( ' post ', params.post_id );   } }); But when loading model using findQuery then App.PostsRoute = Ember.Route.extend({   model :  function (params) {      return   this .store.find( ' person , {name: params.username} ).then(function(result){         return result.get('firstObject')      });   } }); findQuery return Array therefore select firstObject from Array, Remember to return Array from api for '/persons?name=test_name' url.