How You Can Enforce Coding Guidelines With CircleCI & Rubocop

Siva talks about how to enforce coding guidelines using CircleCI and Rubocop

Siva Gollapalli's avatarrails learning

Being a rubyist we don’t just write code, we write beautiful code. But sometimes, in a hurry to complete the requirement some developers, especially new comer, might not follow the coding guidelines which would become headache later. Rubocop is here to rescue us from this scenario.

Let’s see how to integrate rubocop:

1. Add rubocop and generate config file:

Here is the file where you can find list of cops that rubocop uses.

2. Run rubocop or through CircleCI:

where -R option make rubocop to run rails cops as well.

This would run rubocop upon every commit on CircleCI. Though your test cases have been passed but if rubocop fails then your build fails.

Now let’s see how rubocop enforces you write to better & clean code:

Scenario-1: Using else with unless:

As a matter of fact, using else with if would make more sense than using with unless

View original post 75 more words

How To Cross The 1000-Character SMTP Barrier With Quoted-printable

Sent a long email with a text attachment that got messed up? Did you know that SMTP has a 1000 character limit – it’s well documented but then again, who reads the manual?

Here’s a nice post from Shifa that explains the problem and how to solve it.

none's avatarNoob Snippets

While sending some lengthy text files as email attachments, I discovered that some of my sentences were broken mid-word into new lines. Turns out, SMTP protocol allows only 1000 characters per line. Each line is to be wrapped at 998 characters by a CRLF (rn). Now, most email platforms such as Mandrill and SendGrid follow this rule, but Gmail seems to bypass it somehow. This prompted me to further look into workarounds to keep the attachment formatting as is.

Action Mailer Rails Guides tell you that the Mail gem automatically guesses the attachment content type, encoding and creates the attachment. The default content-type is ‘plain/text’. So I tried playing around with different content-types/ mime-types, for example text/tab-separated-values (Since I had a tab separated format) hoping they would be treated differently from plain text. But that didn’t do the trick.

After reading up some more about the SMTP line limits

View original post 291 more words