Skip to content

Instantly share code, notes, and snippets.

@brossetti1
Last active August 17, 2017 17:24
Show Gist options
  • Save brossetti1/bc17822ace079bd2184af26ef27f1547 to your computer and use it in GitHub Desktop.
Save brossetti1/bc17822ace079bd2184af26ef27f1547 to your computer and use it in GitHub Desktop.

from https://github.com/shakacode/style-guide-ruby#fileclass-level-comments

# Automatic conversion of one locale to another where it is possible, like
# American to British English.
module Translation
  # Class for converting between text between similar locales.
  # Right now only conversion between American English -> British, Canadian,
  # Australian, New Zealand variations is provided.
  class PrimAndProper
    def initialize
      @converters = { :en => { :"en-AU" => AmericanToAustralian.new,
                               :"en-CA" => AmericanToCanadian.new,
                               :"en-GB" => AmericanToBritish.new,
                               :"en-NZ" => AmericanToKiwi.new,
                             } }
    end

  ...

  # Applies transforms to American English that are common to
  # variants of all other English colonies.
  class AmericanToColonial
    ...
  end

  # Converts American to British English.
  # In addition to general Colonial English variations, changes "apartment"
  # to "flat".
  class AmericanToBritish < AmericanToColonial
    ...
  end

All files, including data and config files, should have file-level comments. From translation/config/colonial_spelling_variants.yml:

# List of American-to-British spelling variants.
#
# This list is made with
# lib/tasks/list_american_to_british_spelling_variants.rake.
#
# It contains words with general spelling variation patterns:
#   [trave]led/lled, [real]ize/ise, [flav]or/our, [cent]er/re, plus
# and these extras:
#   learned/learnt, practices/practises, airplane/aeroplane, ...

sectarianizes: sectarianises
neutralization: neutralisation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment