Permalink
Commits on Jan 27, 2017
  1. Expand "security" to physical + vulnerabilities

    Based on similar sections seen in compliance questionnaires,
    re-title existing sections and add new sections:
    
    * Secure Employee Access and Communication
    * Application Security: Transmitting Information
    * Application Security: Storing Information
    * Physical Security
    * Handling Vulnerabilities: Reporting
    * Handling Vulnerabilities: Reviewing, Logging and Following Up
    
    Extract the new sections from internal handbook.
    croaky committed Jan 27, 2017
Commits on Jan 23, 2017
  1. Disable Style/AlignParameters in Rubocop

    This has Rubocop match the change made in
    1c8edf0.
    mike-burns committed Jan 23, 2017
Commits on Jan 12, 2017
  1. Change DeprecatedHashMethods to PreferredHashMethods

    This change was officially made in June, and raises a warning when
    running rubocop.
    
    "Warning: unrecognized cop Style/DeprecatedHashMethods"
    
    bbatsov/rubocop#3224
    yakschuss committed with geoffharcourt Oct 30, 2016
Commits on Jan 4, 2017
  1. Add ESLint Hound configuration

    Before, Hound had its own default ESLint configuration. We are moving
    these configurations into specific organisations. Added a
    thoughtbot-specific Hound configuration for ES6 files.
    
    https://trello.com/c/HY2hoTdq
    purinkle committed Jan 4, 2017
  2. Add Haml Hound configuration

    Before, Hound had its own default Haml configuration. We are moving
    these configurations into specific organisations. Added a
    thoughtbot-specific Hound configuration for Haml files.
    
    https://trello.com/c/HY2hoTdq
    purinkle committed Jan 4, 2017
Commits on Dec 21, 2016
  1. Remove weird comment about attractiveness

    This is out of place and borderline inappropriate. There's really no
    need to reference physical appearance here, so how about we just don't.
    gfontenot committed Dec 21, 2016
Commits on Dec 16, 2016
  1. Convert jscsrc config to eslint

    The JSCSRC project was absorbed into ESLint. I ran our configuration of
    JSCSRC through polyjuice and to convert it.
    derekprior committed Dec 16, 2016
Commits on Oct 27, 2016
  1. Update thoughtbot.com link in README

    The `/community` link now redirects to `/tools`.
    The thoughtbot.com home page may be more relevant to guides readers.
    toomey8 committed with croaky Oct 27, 2016
Commits on Sep 30, 2016
Commits on Sep 14, 2016
  1. [Rubocop] Disable FrozenStringLiteralComment

    RuboCop, somewhat recently, added the
    [Style/FrozenStringLiteralComment][1] cop, which enforces the presence
    of the `# frozen_string_literal: true` pragma at the top of every file,
    when running in Ruby 2.3 mode. Hound recently [configured][2] RuboCop to
    run in Ruby 2.3 mode by default. This means Hound will now comment on
    any Ruby file touched in a PR that doesn't have the pragma, with:
    
    > Missing frozen string literal comment.
    
    This is intended to prepare code bases for Ruby 3.0, where strings will
    be frozen by default. In practice, I find Hound making these comments to
    be quite annoying, and I have disabled it on my current project.
    
    It seems we can disable the cop, or start putting the pragma at the top
    of all our files. The former seems easier so it's my pick.
    
    [1]: bbatsov/rubocop#2542
    [2]: houndci/linters#65
    thorncp committed Sep 8, 2016
Commits on Sep 12, 2016
  1. Fix links in the README.md file (#447)

    * Fix links in the README.md file
    joseVFernandez committed with iwz Sep 12, 2016
Commits on Aug 30, 2016
Commits on Aug 23, 2016
  1. Add coffeescript config file + update hound config

    Now that this repo is the owner configuration repo for all thoughtbot
    repositories in Hound it needs to explicitly define a set of
    coffeescript styles.
    
    Changes:
    
     - Copy over `coffeelint.json` from Hound repo
     - Configure coffeescript in `.hound.yml` to be enabled and to point at
       `coffeelint.json`
    jcmorrow committed Jul 22, 2016
Commits on Jul 28, 2016
  1. Disable UrlFormat linter

    This linter is a bit too generalized to have enabled by default.
    
    For example, on the thoughtbot blog we use a CDN for images, so having
    an external domain with protocol makes sense, but this linter will throw
    a warning.
    
    Reference: https://github.com/brigade/scss-lint/blob/master/lib/scss_lint/linter/README.md#urlformat
    tysongach committed Jul 28, 2016
Commits on Jul 27, 2016
Commits on Jul 22, 2016
  1. Trailing comma in Sass maps

    This makes for cleaner diffs when adding to or
    removing from the map.
    
    This also aligns with our JavaScript guideline.
    tysongach committed Jul 19, 2016
Commits on Jul 19, 2016
Commits on Jun 24, 2016
  1. Update rubocop config to match hound settings

    From now on hound will use this repository's configuration for all
    thoughbot repos. There were a few settings that differed between the
    two, so I'm adding the missing configs to make this look just like
    hound's default thoughtbot configuration.
    jcmorrow committed Jun 24, 2016
Commits on Jun 6, 2016
Commits on May 27, 2016
  1. Add Swift guideline recommending weak references are evaluated once

    If a weak reference is evaluated multiple times within the same scope,
    it's technically possible for the reference to change between `nil` and
    non-`nil` between references. In order to ensure that valid references
    remain valid for the entire scope, recommend that weak references are
    evaluated only once.
    sharplet committed Mar 4, 2016
  2. Prefer protocol conformance to object inheritance

    Protocol conformance in Swift 2+ is a much more powerful form of
    polymorphism than object inheritance and so should be the preferred
    method. Among other things, using protocols means that you don't need to
    care about the kind of object (struct, enum, or class), which puts way
    fewer restrictions on your larger project architecture decisions.
    Conversely, since object inheritance can only be achieved with classes,
    they force you to make certain decisions about your application
    architecture that might have adverse side effects.
    gfontenot committed Feb 12, 2016
  3. Put remote devs on equal footing for code review

    Instead of promoting in-person communication, we can promote synchronous
    communication. This matches the intent without ignoring the increasing
    chance that a developer is remote.
    robwierzbowski committed with mike-burns May 9, 2016
Commits on Apr 29, 2016
  1. Prefer private for non-public accessors

    We added a preference for `protected` over `private` for non-public
    accessors in [#190]. The primary motivation was because Ruby emitted
    warnings when declaring private attributes.
    
    In Ruby versions 2.3.0 and greater, Ruby no longer warns about private
    attributes, so there's no longer a need to use `protected` for them.
    
      [#190]: #190
    bernerdschaefer committed Mar 23, 2016
Commits on Apr 21, 2016
  1. Start a quick "how to ..." section

    This section is to address the growing amount of internal tools we have
    built over time; it is an attempt at making them more discoverable in a
    problem/solution format instead of a long list, plus a quick-start
    guide.
    
    This is in RST format so that we can make use of the table of contents
    feature.
    mike-burns committed Apr 7, 2016
Commits on Apr 18, 2016
  1. Fix obsolete Rubocop configuration

    The DefaultScope cop was removed:
    
    bbatsov/rubocop#1895
    
    The TrailingComma cop was split into two:
    
    bbatsov/rubocop@a0719f9
    jferris committed Apr 18, 2016
Commits on Mar 29, 2016
Commits on Mar 14, 2016
  1. Trailing comma for object literals and arrays

    Why:
    
    * We'd like to explicitly encourage the use of a trailing comma when
      defining multi line JavaScript object literals or arrays.
    
    This PR:
    
    * Adds a guideline for using trailing commas and an example.
    MattMSumner committed Jan 8, 2016
Commits on Mar 3, 2016
Commits on Mar 2, 2016
  1. Use a leading underscore for memoization

    When using an instance variable prefix the variable with an underscore
    to discourage direct use of the ivar over the method.
    BlakeWilliams committed Nov 16, 2015
Commits on Feb 26, 2016
  1. Recommend against `toggleProperty`

    Using `toggleProperty` makes tracking down interactions a lot harder. Using explicit actions for what you expect to happens make code easier to maintain and debug.
    drapergeek committed Jan 26, 2016
Commits on Feb 12, 2016
  1. Specify when to use () and Void in func signatures

    We want to avoid ambiguity, especially with our return types. Functions
    that return `()` can become hard to read when passed as an argument to a
    higher order function. For example:
    
    ```swift
    func f(g: () -> ()) { }
    ```
    
    The parens for the return value end up getting lost in the closing
    parens for the higher order function. Conversely, by using `Void`:
    
    ```swift
    func f(g: () -> Void) { }
    ```
    
    `Void` stands out as a specific type on its own, and doesn't get lost in
    a mess of parens.
    
    At the same time, `()` is a nice brief indication that a function takes
    no arguments, and mimics the look of an empty tuple. So if you declare
    these two functions:
    
    ```swift
    func fa(g: () -> Void) { }
    func fb(g: (a: T) -> Void) { }
    ```
    
    There is a visual similarity between the two functions.
    
    This is also how Apple prefers to style functions taking or returning
    `Void`.
    gfontenot committed Jan 20, 2016