Skip to content

Instantly share code, notes, and snippets.

@pboling
Last active March 1, 2022 10:18

Revisions

  1. pboling revised this gist Aug 29, 2013. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion Gemfile
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,3 @@
    ##### See Gemfile.md for detailed notes on specific gems #####
    source 'https://rubygems.org'
    # Follows the bundler group pattern described here:
    # http://iain.nl/getting-the-most-out-of-bundler-groups
  2. pboling revised this gist Apr 16, 2013. 3 changed files with 147 additions and 69 deletions.
    200 changes: 132 additions & 68 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -27,7 +27,7 @@ group :assets do
    # Implant jQuery directly into the Asset Pipeline ========>
    gem 'jquery-rails', '~> 2.2.0' # updates to jQuery 1.9, which is not yet compatible with foundation, see:
    gem 'compass-rails', '>= 1.0.3' # github: 'ai/compass-rails', branch: 'rails4' #
    gem 'compass-h5bp', '~> 0.1.0'
    gem 'compass-h5bp', '~> 0.1.1', require: false
    gem 'sprockets-rails', '~> 0.0.1'
    gem 'sass-rails', '~> 3.2.5'
    gem 'coffee-rails', '~> 3.2.2'
    @@ -39,24 +39,24 @@ group :assets do
    # Assets stored on AWS S3
    # Goal is to send compiled assets to AWS when FOGGY is not set, and when it is set to 'true'
    gem 'asset_sync', '~> 0.5.4', {}.merge(!ENV['FOGGY'].nil? && ENV['FOGGY'] != 'true' ? {require: false} : {})
    gem 'uglifier', '>= 1.3.0'
    gem 'uglifier', '~> 2.0.1', require: false
    gem 'zurb-foundation', '>= 4.1.1' # github: 'zurb/foundation'
    gem 'foundation-icons-sass-rails', '>= 2.0.0'
    end
    #################### /Rails 3.2 ####################

    group :web_server do
    # The Webserver
    gem 'puma', '~> 2.0.0.b7' # 1.6.3 has issues with NewRelic
    gem 'puma', '~> 2.0.0.b7', require: false
    # Allows rack to rewrite requests, no need for Apache mod_rewrite
    #gem 'rack-rewrite', '~> 1.3.3'
    end

    group :data_store do
    # The Database
    gem 'pg', '~> 0.15.0'
    gem 'pg', '~> 0.15.1'
    # More power to the Database
    gem 'pg_power', '~> 1.3.0' #, github: 'acquaintable/pg_power', branch: 'rails4'
    gem 'pg_power', '~> 1.3.1' #, github: 'acquaintable/pg_power', branch: 'rails4'
    # Allows PostgreSQLto use the new HSTORE datatype supported in Rails 4
    gem 'activerecord-postgres-hstore', '~> 0.7.5'
    # Allows PostgreSQL to use the new ARRAY datatype supported in Rails 4
    @@ -75,10 +75,8 @@ group :data_store do
    gem 'thumbs_up', github: 'bouchard/thumbs_up' #'~> 0.6.2'
    # Map any methods on any Ruby objects to a CSV export, and vice verse.
    gem 'csv_pirate', '~> 5.0.7'
    # Allows database truncation. See lib/db.rake
    gem 'database_cleaner', '>= 0.9.1'
    # adds slugs to records
    gem "friendly_id", '~> 4.0.9'
    gem 'friendly_id', '~> 4.0.9'
    end

    group :location do
    @@ -90,37 +88,37 @@ end

    group :async_jobs do
    # The Cache - Redis can back Object Caches, I18n, Session, HTTP Cache
    gem 'redis', '~> 3.0.2'
    gem 'redis-namespace', '~> 1.2.1'
    gem 'redis-rails', '~> 3.2.3'
    gem 'redis-store', '~> 1.1.3'
    gem 'redis', '~> 3.0.3', require: false
    gem 'redis-namespace', '~> 1.2.1', require: false
    gem 'redis-rails', '~> 3.2.3', require: false
    gem 'redis-store', '~> 1.1.3', require: false

    # Our Queue
    gem 'sidekiq', github: 'mperham/sidekiq' #'~> 2.9.0'
    # Add failure tracking and failure tab to sidekiq UI
    gem 'sidekiq-failures', '~> 0.1.0'
    gem 'sidekiq-failures', '~> 0.1.0', require: false
    # Worker Manager (Hires and Fires workers)
    gem 'autoscaler', '~> 0.2.1'
    gem 'autoscaler', '~> 0.2.1', require: false
    # Alternate Worker manager (Hires and Fires workers)
    gem 'hirefire-resource', '~> 0.0.2'
    # track your jobs enabling reporting of progress per job
    gem 'sidekiq-status', '~> 0.3.0'
    gem 'sidekiq-status', '~> 0.3.0', require: false
    end

    group :templates do
    # a template engine
    gem 'tilt', '1.3.6' # => Heroku all of a sudden can't find 1.3.5
    gem 'tilt', '~> 1.3.6', require: false # => Heroku all of a sudden can't find 1.3.5
    # View Template Language
    gem 'haml', '>= 4.0.0'
    gem 'haml-rails', '~> 0.4'
    #gem 'haml-rails', '~> 0.4'
    # View Template Language
    gem 'slim', '~> 1.3.5'
    # Not using slim-rails, so default generator will still be haml. Views can be written in haml or slim.
    #gem 'slim-rails', '~> 1.1.1'
    gem 'slim', '~> 1.3.7'
    # the default generator would is now slim. Views can be written in haml or slim.
    gem 'slim-rails', '~> 1.1.1'
    # Views can be and should be 100% DRY
    gem 'dry_views', '~> 0.0.2'
    # Markdown Parser (for copy)
    gem 'redcarpet', '~> 2.2.2'
    gem 'redcarpet', '~> 2.2.2', require: false
    # To avoid indecent exposure of instance variables in the view
    #gem 'decent_exposure', '~> 2.0.1'
    #gem 'cells', '~> 3.8.6' #, :path => '/Users/pboling/Documents/src/other/cells' #:git => 'git://github.com/acquaintable/cells.git'
    @@ -129,9 +127,9 @@ end
    # TODO: Determine which of these can be moved into :assets group
    group :javascript do
    # Base for JSON
    gem 'json', '~> 1.7.7'
    gem 'json', '~> 1.7.7', require: false
    # Fast JSON Object parsing and marshalling
    gem 'oj', '~> 2.0.3'
    gem 'oj', '~> 2.0.10', require: false
    # https://github.com/zurb/foundation/pull/1432
    # Enable the AMD design pattern for Javascript modules and integrate into the Asset Pipeline ========>
    gem 'requirejs-rails', github: 'acquaintable/requirejs-rails'
    @@ -142,14 +140,14 @@ end
    group :users do
    # Registration, Authentication, Invitation, Confirmation
    gem 'devise', '~> 2.2.3'
    gem 'devise_invitable', github: 'sunny36/devise_invitable', ref: '5af50a925e0a41cc648b124ffe7de0f8f081481e'
    gem 'devise_invitable', github: 'scambra/devise_invitable'
    gem 'devise-async', '~> 0.7.0'
    # Facebook Oauth
    gem 'koala', '~> 1.6.0'
    gem 'omniauth', '~> 1.1.1'
    gem 'omniauth', '~> 1.1.4', require: false
    gem 'omniauth-facebook', '~> 1.4.1'
    # Authorization
    gem 'cancan', '>= 1.6.8'
    gem 'cancan', '~> 1.6.9'
    gem 'rolify', '>= 3.2.0'
    # Stateful Behavior
    gem 'state_machine', '~> 1.2.0'
    @@ -163,7 +161,7 @@ group :metrics do
    # Report missing i18n translations
    gem 'i18n-airbrake', github: 'acquaintable/i18n-airbrake', branch: 'configuration_options'
    # Code Metrics
    gem 'newrelic_rpm', '>= 3.6.0.78'
    gem 'newrelic_rpm', '>= 3.6.0.83'
    # The rails app administration tool
    gem 'rails_admin', github: 'sferik/rails_admin' #'~> 0.4.3'
    # Debugging toolbar, heir of rack-bug
    @@ -181,7 +179,7 @@ end

    group :email do
    # Third Party Email Service
    gem 'sendgrid', '>= 1.0.1'
    gem 'sendgrid', '~> 1.1.0', require: false
    # Redirect all email in non-Production environments to alternate, safe, addresses
    gem 'sanitize_email', '~> 1.0.5'
    end
    @@ -191,22 +189,20 @@ group :enhancers do
    gem 'turbolinks', '~> 1.1.1'
    # Mini Controllers & tiny mounted Rack apps inside Rails for widgety things
    # XML Parsing
    gem 'nokogiri', '~> 1.5.6'
    gem 'nokogiri', '~> 1.5.9', require: false
    # Yet another framework
    # The sidekiq admin panel is a sinatra app
    gem 'sinatra', '~> 1.3.6', :require => nil
    # HTML5 Boilerplate
    gem 'html5-rails', '~> 0.0.6'
    gem 'sinatra', '~> 1.3.6', require: nil
    # Possessive form of a string
    gem 'possessive', '~> 1.0.1'
    gem 'possessive', '~> 1.0.1', require: false
    # Convert numbers to words 1 => 'one'
    gem 'numbers_and_words', '~> 0.6.0'
    gem 'numbers_and_words', '~> 0.6.0', require: false
    # memoize methods - Extracted from Rails' ActiveSupport::Memoizable in June 2011
    gem 'memoist', '~> 0.9.0'
    # Queryable arrays, for first: pages[name: 'About'], for all: pages[[published: true]]
    gem 'queryable_array', '~> 0.0.1'
    gem 'queryable_array', '~> 0.0.1', require: false
    # For advanced transformation of queues / lists
    gem 'qfill', '~> 0.0.3'
    gem 'qfill', '~> 0.0.3', require: false
    # faker allows the demo to seem realistic
    gem 'faker', '~> 1.1.2'
    # chronic is a natural language time parser
    @@ -221,82 +217,150 @@ end

    group :security_analysis do
    # Check for Security Holes
    gem 'brakeman', github: 'presidentbeef/brakeman' #'~> 1.8.2'
    gem 'brakeman', '~> 1.9.5', require: false #,github: 'presidentbeef/brakeman' #'~> 1.8.2'
    end

    group :development do
    # Local dev webserver, mimics Heroku deployed environment
    gem 'foreman', '~> 0.61.0'
    gem 'localtunnel', '~> 0.3'
    gem 'foreman', '~> 0.61.0', require: false
    gem 'localtunnel', '~> 0.3', require: false
    # Find bad queries, TODO: evaluate: uniform_notifier for use with bullet
    gem 'bullet', '~> 4.5.0'
    gem 'quiet_assets', '~> 1.0.2'
    # Improve the development error experience
    gem 'better_errors', '>= 0.3.2'
    gem 'binding_of_caller', '~> 0.7.1'
    gem 'binding_of_caller', '~> 0.7.1', require: false
    # Annotate models, fixtures, and model specs
    gem 'annotate', '>=2.5.0'
    gem 'mailcatcher', github: 'teeparham/mailcatcher' #'~> 0.5.10'
    gem 'annotate', '>= 2.5.0', require: false
    gem 'mailcatcher', require: false, github: 'teeparham/mailcatcher' #'~> 0.5.10'
    # Allows us to magically convert directories of haml templates to slim templates
    #gem 'haml2slim'#, '>= 0.4.6'
    end

    group :development, :test do
    #gem 'powder', '~> 0.2.0'
    # How will we debug all the things?
    gem 'debugger', '~> 1.5.0'
    gem 'rails_best_practices', '~> 1.13.2'
    gem 'debugger', '~> 1.5.0', require: false
    gem 'rails_best_practices', '~> 1.13.4', require: false
    #gem 'ruby-prof', '~> 0.11.3', require: false
    gem 'rspec-rails', '>= 2.12'
    gem 'fabrication', '>= 2.5.2'
    gem 'fabrication', '~> 2.6.4', require: false
    gem 'parallel_tests', '~> 0.10.4'
    gem 'teabag', github: 'acquaintable/teabag'
    gem 'pry', '~> 0.9.10'
    gem 'pry-rails', '~> 0.2.2'
    gem 'pry-doc', '~> 0.4.4'
    gem 'pry-doc', '~> 0.4.5', require: false
    gem 'pry-remote', '~> 0.1.7', :require => 'pry-remote'

    # Guard allows for local continuous integration as changes are made to files.
    gem 'guard', '~> 1.7.0'
    gem 'guard-spork', '~> 1.4.2'
    gem 'guard-rspec', '~> 2.5.2'
    gem 'rb-inotify', '~> 0.9.0', :require => false
    gem 'rb-fsevent', '~> 0.9.3', :require => false
    gem 'wdm', :platforms => [:mswin, :mingw], :require => false
    gem 'guard', '~> 1.7.0', require: false
    gem 'guard-spork', '~> 1.4.3', require: false
    gem 'guard-rspec', '~> 2.5.2', require: false
    gem 'rb-inotify', '~> 0.9.0', require: false
    gem 'rb-fsevent', '~> 0.9.3', require: false
    gem 'wdm', :platforms => [:mswin, :mingw], require: false
    # Mac OS X Notification center
    gem 'terminal-notifier-guard', '~> 1.5.3'
    gem 'terminal-notifier-guard', '~> 1.5.3', require: false
    # Spork
    gem 'spork-rails', '~> 3.2.1'
    # Ensures that .env will be loaded into the environment even when outside foreman (e.g. rake, rails console)
    gem 'dotenv-rails', '~> 0.6.0'
    gem 'dotenv-rails', '~> 0.6.0', require: false
    end

    group :test do
    # Simplifies testing with helpful macros and matchers
    #gem 'remarkable_activerecord', '>=4.0.0.alpha2'
    gem 'cane', '~> 2.5.0'
    gem 'test-unit', '~> 2.5.3'
    gem 'cane', '~> 2.5.2', require: false
    gem 'test-unit', '~> 2.5.4', require: false
    gem 'mocha', '~> 0.13.2', require: false
    #gem 'rspec-apotomo', :git => 'git://github.com/kristianmandrup/rspec-apotomo.git', :ref => '03a2ac2f526fa668ee3a4bdb09cbc41693931ca3'
    gem 'rspec-cells', github: 'acquaintable/rspec-cells'
    gem 'shoulda-matchers', github: 'acquaintable/shoulda-matchers'
    gem 'bourne', github: 'thoughtbot/bourne'
    gem 'capybara', '>= 2.0.2'
    gem 'capybara-email', '>= 2.0.2'
    gem 'poltergeist', github: 'brutuscat/poltergeist'
    gem 'vcr', '~> 2.3.0'
    gem 'fakeweb', '~> 1.3.0'
    gem 'shoulda-matchers', '~> 2.0.0', require: false
    gem 'bourne', '~> 1.4.0', require: false
    gem 'capybara', '~> 2.1.0', require: false
    gem 'capybara-email', require: false, github: 'aaronchi/capybara-email', branch: 'patch-1'
    gem 'poltergeist', require: false, github: 'brutuscat/poltergeist'
    gem 'vcr', '~> 2.3.0', require: false
    gem 'fakeweb', '~> 1.3.0', require: false
    #gem 'autotest', '4.4.6'
    #gem 'autotest-rails', '4.1.2'
    gem 'simplecov', '~> 0.7.1', require: false
    gem 'email_spec', '>= 1.4.0'
    gem 'email_spec', '~> 1.4.0', require: false
    end

    # These gems are only loaded when rails is loaded in console mode, see condition near top of config/application.rb
    group :console do
    # Allows database truncation. Simple::Aplication.wipe from the console
    gem 'database_cleaner', '~> 0.9.1', require: false
    # Evaluates gems to see if they should be required by bundler at app boot
    gem 'gem_bench', :require => false
    gem 'irbtools', :require => false, github: 'acquaintable/irbtools'
    gem 'irbtools-more', '~> 1.4.0', :require => false
    gem 'terminal-notifier', '~> 1.4.2'
    gem 'gem_bench', '~> 0.0.4', require: false
    gem 'irbtools', require: false, github: 'acquaintable/irbtools'
    gem 'irbtools-more', '~> 1.4.0', require: false
    gem 'terminal-notifier', '~> 1.4.2', require: false
    end

    #################### Gems Under Evaluation ####################
    # This group is never loaded by default in any environment
    # We are in process of evaluating them, and this ensures they are bundle-able,
    # for at least a nominal level of integration awareness
    group :evaluation do
    # HTML5 Boilerplate
    #gem 'html5-rails', '~> 0.1.0'

    # One of the gems we use includes a yanked version of net-scp,
    # this forces the use of an existing version
    #gem "net-scp", "1.0.4"
    #
    ## If/When we start versioning our API we should use version cake!
    ##gem 'versioncake'
    #
    ## Abstraction Layer over the WebSocket protocol
    #gem 'websocket', '~> 1.0.6'
    ##gem 'airbrake-statsd', '~> 0.2.1'
    ## App, Service & Environment Config
    #gem 'figaro', github: 'acquaintable/figaro', branch: 'rails4'
    ## User Metrics
    #gem 'analytical', '~> 3.0.12'
    ## But User Metrics from the client-side!
    #gem 'event_tracker', github: 'acquaintable/event_tracker'
    ## AJAX file upload
    #gem 'remotipart', '~> 1.0.5'
    ## Automated Sitemap and SEO
    #gem 'sitemap_generator', '~> 3.4'
    ## A/B Testing
    #gem 'split', '~> 0.6.0'
    ## Mobile Response
    #gem 'mobylette', '~> 3.3.2'
    ## Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
    #gem 'jbuilder', '~> 1.2.0'

    # To use dummy images built on-demand for rapid prototyping
    # Depends on an install of imagemagick and the rmagick gem
    # TODO:Verify Setup instructions for ImageMagick before uncommenting rmagick
    #gem 'rmagick'
    #gem 'dummy_image', :git => 'git://github.com/davelyon/dummy_image.git'

    # We might switch back to Unicorn at some point...
    # TODO: evaluate puma vs. unicorn
    #gem 'unicorn', '~> 4.6.0'
    end
    ####################/ Gems Under Evaluation ####################

    #################### Rails 4.0 ####################
    #group :rails4 do
    # gem 'rails', github: 'rails/rails'
    # gem 'journey', github: 'rails/journey'
    # gem 'arel', github: 'rails/arel'
    # gem 'simple_form', github: 'plataformatec/simple_form', branch: 'rails_4'
    # gem 'activerecord-session_store', github: 'rails/activerecord-session_store'
    # TODO: These are deprecated functionality of Rails 3 removed from Rails4
    # We will use this to transition, but ultimately change our code to not rely on it
    # gem 'activerecord-deprecated_finders', github: 'rails/activerecord-deprecated_finders'
    # gem 'protected_attributes', github: 'rails/protected_attributes'
    #end
    #group :assets do
    # gem 'sprockets-rails', github: 'rails/sprockets-rails'
    # gem 'sass-rails', github: 'rails/sass-rails'
    # gem 'coffee-rails', github: 'rails/coffee-rails'
    #end
    #################### /Rails 4.0 ####################
    5 changes: 4 additions & 1 deletion application.bundler.rb
    Original file line number Diff line number Diff line change
    @@ -9,6 +9,9 @@
    Irbtools.add_package :more # adds this extension package
    # here you can edit which libraries get loaded. See the irbtools README for details.
    Irbtools.start

    require 'ext/hacks/console'
    Rails::ConsoleMethods.send :include, Hacks::Console
    end
    end
    groups = {
    @@ -18,7 +21,7 @@
    security_analysis: %w(development test),
    }
    # List the groups that are always loaded, followed by the ones that are selectively loaded based on environment
    Bundler.require(:default, :rails3, :web_server, :data_store, :async_jobs, :templates, :javascript, :users, :metrics, :messaging, :email, :enhancers, :mobile, Rails.env, *Rails.groups(groups))
    Bundler.require(:default, :rails3, :web_server, :data_store, :location, :async_jobs, :templates, :javascript, :users, :metrics, :messaging, :email, :enhancers, :mobile, Rails.env, *Rails.groups(groups))
    #Bundler.require(*Rails.groups(:assets => %w(development test)))
    # If you want your assets lazily compiled in production, use this line
    # Bundler.require(:default, :assets, Rails.env)
    11 changes: 11 additions & 0 deletions boot.rb
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,17 @@
    require 'rubygems'

    #require 'benchmark'

    #def require(file)
    # result = nil
    # puts Benchmark.measure("") {
    # result = super
    # }.format("%t require #{file}")
    # result
    #end

    # Set up gems listed in the Gemfile.
    ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)

    require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])

  3. pboling revised this gist Apr 6, 2013. 1 changed file with 77 additions and 115 deletions.
    192 changes: 77 additions & 115 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -15,32 +15,46 @@ ruby '1.9.3'
    # and there will fewer issues with upgrading to Rails 4 when the time comes.
    # Where we need actual different gems (e.g. rails proper) we have a rails4 group (see EOF)
    group :rails3 do
    gem 'rails', '~> 3.2.12'
    gem 'rails', '~> 3.2.13'
    # Not compatible with Rails4, see :rails4 group for alternative
    gem 'simple_form', '~> 2.0.4'
    # Backports default Rails4 functionality to Rails3
    gem 'dismissible_helpers', '~> 0.1.5'
    end
    # Gems used only for assets and not required
    # in production environments by default.
    group :assets do
    # Implant jQuery directly into the Asset Pipeline ========>
    gem 'jquery-rails', '~> 2.2.0' # updates to jQuery 1.9, which is not yet compatible with foundation, see:
    gem 'compass-rails', '>= 1.0.3' # github: 'ai/compass-rails', branch: 'rails4' #
    gem 'compass-h5bp', '~> 0.1.0'
    gem 'sprockets-rails', '~> 0.0.1'
    gem 'sass-rails', '~> 3.2.5'
    gem 'coffee-rails', '~> 3.2.2'
    gem 'turbo-sprockets-rails3', '~> 0.3.6'
    # AWS RUBY APIs
    # NOTE: This gem is almost threadsafe
    # See: https://github.com/mperham/sidekiq/wiki/Problems-and-Troubleshooting
    gem 'aws-sdk', '~> 1.8.5'
    # Assets stored on AWS S3
    # Goal is to send compiled assets to AWS when FOGGY is not set, and when it is set to 'true'
    gem 'asset_sync', '~> 0.5.4', {}.merge(!ENV['FOGGY'].nil? && ENV['FOGGY'] != 'true' ? {require: false} : {})
    gem 'uglifier', '>= 1.3.0'
    gem 'zurb-foundation', '>= 4.1.1' # github: 'zurb/foundation'
    gem 'foundation-icons-sass-rails', '>= 2.0.0'
    end
    #################### /Rails 3.2 ####################

    group :web_server do
    # The Webserver
    gem 'puma', '~> 2.0.0.b6' # 1.6.3 has issues with NewRelic
    #gem 'unicorn', '~> 4.6.0'
    gem 'puma', '~> 2.0.0.b7' # 1.6.3 has issues with NewRelic
    # Allows rack to rewrite requests, no need for Apache mod_rewrite
    gem 'rack-rewrite', '~> 1.3.3'
    gem 'foreman', '~> 0.61.0'
    #gem 'rack-rewrite', '~> 1.3.3'
    end

    group :data_store do
    # The Database
    gem 'pg', '~> 0.14.1'
    gem 'pg', '~> 0.15.0'
    # More power to the Database
    gem 'pg_power', '~> 1.3.0' #, github: 'acquaintable/pg_power', branch: 'rails4'
    # Allows PostgreSQLto use the new HSTORE datatype supported in Rails 4
    @@ -50,7 +64,7 @@ group :data_store do
    # Bit fields for Active Record - Follows conventions of standard boolean columns.
    gem 'flag_shih_tzu', '~> 0.3.2'
    # Neo4j REST API
    gem 'neography', '~> 1.0.5'
    gem 'neography', github: 'maxdemarzi/neography' #, '~> 1.0.5'
    # Replicates wholly, or partially, ActiveRecord (PG) models into Neo4j for faster querying
    # Manages synchronization of updates to records across both data stores
    gem 'neoid', '~> 0.1.2' #, path: '/Users/pboling/Documents/src/acq/neoid'
    @@ -65,14 +79,13 @@ group :data_store do
    gem 'database_cleaner', '>= 0.9.1'
    # adds slugs to records
    gem "friendly_id", '~> 4.0.9'
    # Adds messaging between models
    gem 'acts-as-messageable', '~> 0.4.8'
    end

    group :location do
    # Geolocations
    gem 'geokit', '~> 1.6.5'
    gem 'geokit-rails3', github: 'acquaintable/geokit-rails3'
    gem 'geocoder', '~> 1.1.6'
    end

    group :async_jobs do
    @@ -83,28 +96,34 @@ group :async_jobs do
    gem 'redis-store', '~> 1.1.3'

    # Our Queue
    gem 'sidekiq', '~> 2.7.0'
    gem 'sidekiq', github: 'mperham/sidekiq' #'~> 2.9.0'
    # Add failure tracking and failure tab to sidekiq UI
    gem 'sidekiq-failures', '~> 0.1.0'
    # Queue Manager (Hires and Fires workers)
    gem 'autoscaler', '~> 0.2.0'
    # Worker Manager (Hires and Fires workers)
    gem 'autoscaler', '~> 0.2.1'
    # Alternate Worker manager (Hires and Fires workers)
    gem 'hirefire-resource', '~> 0.0.2'
    # track your jobs enabling reporting of progress per job
    gem 'sidekiq-status', '~> 0.3.0'
    end

    group :templates do
    # a template engine
    gem 'tilt', '1.3.6' # => Heroku all of a sudden can't find 1.3.5
    # View Template Language
    gem 'haml', '>= 4.0.0'
    gem 'haml-rails', '~> 0.4'
    # View Template Language
    gem 'slim', '~> 1.3.5'
    # Not using slim-rails, so default generator will still be haml. Views can be written in haml or slim.
    #gem 'slim-rails', '~> 1.1.0'
    #gem 'slim-rails', '~> 1.1.1'
    # Views can be and should be 100% DRY
    gem 'dry_views', '~> 0.0.2'
    # Markdown Parser (for copy)
    gem 'redcarpet', '~> 2.2.2'
    # To avoid indecent exposure of instance variables in the view
    gem 'decent_exposure', '~> 2.0.1'
    gem 'cells', '~> 3.8.6'#, :path => '/Users/pboling/Documents/src/other/cells' #:git => 'git://github.com/acquaintable/cells.git'
    #gem 'decent_exposure', '~> 2.0.1'
    #gem 'cells', '~> 3.8.6' #, :path => '/Users/pboling/Documents/src/other/cells' #:git => 'git://github.com/acquaintable/cells.git'
    end

    # TODO: Determine which of these can be moved into :assets group
    @@ -113,18 +132,18 @@ group :javascript do
    gem 'json', '~> 1.7.7'
    # Fast JSON Object parsing and marshalling
    gem 'oj', '~> 2.0.3'
    # Implant jQuery directly into the Asset Pipeline ========>
    gem 'jquery-rails', '~> 2.1.4' # '~> 2.2.0' updates to jQuery 1.9, which is not yet compatible with foundation, see:
    # https://github.com/zurb/foundation/pull/1432
    # Enable the AMD design pattern for Javascript modules and integrate into the Asset Pipeline ========>
    gem 'requirejs-rails', github: 'acquaintable/requirejs-rails'
    # moved out of assets group due to config/initializers/handlebars_assets.rb
    gem 'handlebars_assets', github: 'acquaintable/handlebars_assets' # '~> 0.12.0' # path: '/Users/pboling/Documents/src/acq/handlebars_assets'
    end

    group :users do
    # Registration, Authentication, Invitation, Confirmation
    gem 'devise', github: 'idl3/devise', branch: 'rails4'
    gem 'devise', '~> 2.2.3'
    gem 'devise_invitable', github: 'sunny36/devise_invitable', ref: '5af50a925e0a41cc648b124ffe7de0f8f081481e'
    gem 'devise-async', '~> 0.5.1'
    gem 'devise-async', '~> 0.7.0'
    # Facebook Oauth
    gem 'koala', '~> 1.6.0'
    gem 'omniauth', '~> 1.1.1'
    @@ -133,7 +152,7 @@ group :users do
    gem 'cancan', '>= 1.6.8'
    gem 'rolify', '>= 3.2.0'
    # Stateful Behavior
    gem 'state_machine', '~> 1.1.2'
    gem 'state_machine', '~> 1.2.0'
    end

    group :metrics do
    @@ -144,18 +163,20 @@ group :metrics do
    # Report missing i18n translations
    gem 'i18n-airbrake', github: 'acquaintable/i18n-airbrake', branch: 'configuration_options'
    # Code Metrics
    gem 'newrelic_rpm', '~> 3.5.5.540.dev'
    gem 'newrelic_rpm', '>= 3.6.0.78'
    # The rails app administration tool
    gem 'rails_admin', github: 'sferik/rails_admin' #'~> 0.4.3'
    # Debugging toolbar, heir of rack-bug
    #gem 'rack-insight'
    end

    group :messaging do
    # User in-app messaging
    gem 'acts-as-messageable', '~> 0.4.8'
    # Add messages to your flash messaging stack whenever you need to, array-style
    gem 'stackable_flash', '~> 0.0.7'
    # Use the cookie for transporting the flash messages and javascript to render them into the view
    gem 'cacheable_flash', '~> 0.3.2'
    #gem 'cacheable_flash', '~> 0.3.2'
    end

    group :email do
    @@ -167,57 +188,49 @@ end

    group :enhancers do
    # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
    gem 'turbolinks', '~> 0.6.1'
    gem 'turbolinks', '~> 1.1.1'
    # Mini Controllers & tiny mounted Rack apps inside Rails for widgety things
    # XML Parsing
    gem 'nokogiri', '~> 1.5.6'
    # Yet another framework
    # TODO: Document why this is here. What relies on this?
    gem 'sinatra', :require => nil
    # The sidekiq admin panel is a sinatra app
    gem 'sinatra', '~> 1.3.6', :require => nil
    # HTML5 Boilerplate
    gem 'html5-rails', '~> 0.0.6'
    # Possessive form of a string
    gem 'possessive', '~> 1.0.1'
    # Convert numbers to words 1 => 'one'
    gem 'numbers_and_words', '~> 0.5.0'
    gem 'numbers_and_words', '~> 0.6.0'
    # memoize methods - Extracted from Rails' ActiveSupport::Memoizable in June 2011
    gem 'memoist', '~> 0.2.0'
    gem 'memoist', '~> 0.9.0'
    # Queryable arrays, for first: pages[name: 'About'], for all: pages[[published: true]]
    gem 'queryable_array', '~> 0.0.1'
    # For advanced transformation of queues / lists
    gem 'qfill', '~> 0.0.3'
    # faker allows the demo to seem realistic
    gem 'faker', '~> 1.1.2'
    # chronic is a natural language time parser
    gem 'chronic', '~> 0.9.1'
    end

    # TODO: Enable mobile push
    group :mobile do
    # Mobile Push
    gem 'urbanairship', '~> 2.2.0'
    # # Mobile Push
    # gem 'urbanairship', '~> 2.3.1'
    end

    group :security_analysis do
    # Check for Security Holes
    gem 'brakeman', github: 'presidentbeef/brakeman' #'~> 1.8.2'
    end

    # Gems used only for assets and not required
    # in production environments by default.
    group :assets do
    # AWS RUBY APIs
    # NOTE: This gem is almost threadsafe
    # See: https://github.com/mperham/sidekiq/wiki/Problems-and-Troubleshooting
    gem 'aws-sdk', '~> 1.8.0'
    # Assets stored on AWS S3
    # Goal is to send compiled assets to AWS when FOGGY is not set, and when it is set to 'true'
    gem 'asset_sync', '~> 0.5.4', {}.merge(!ENV['FOGGY'].nil? && ENV['FOGGY'] != 'true' ? {require: false} : {})
    gem 'uglifier', '>= 1.3.0'
    gem 'handlebars_assets', '~> 0.8.1'
    gem 'compass-rails', '>= 1.0.3' # github: 'ai/compass-rails', branch: 'rails4' #
    gem 'compass-h5bp', '~> 0.1.0'
    gem 'zurb-foundation', '>= 3.2.3'
    gem 'foundation-icons-sass-rails', '~> 2.0.0'
    end

    group :development do
    # Local dev webserver, mimics Heroku deployed environment
    gem 'foreman', '~> 0.61.0'
    gem 'localtunnel', '~> 0.3'
    # Find bad queries, TODO: evaluate: uniform_notifier for use with bullet
    gem 'bullet', '~> 4.3.0'
    gem 'quiet_assets', github: 'evrone/quiet_assets'
    gem 'bullet', '~> 4.5.0'
    gem 'quiet_assets', '~> 1.0.2'
    # Improve the development error experience
    gem 'better_errors', '>= 0.3.2'
    gem 'binding_of_caller', '~> 0.7.1'
    @@ -229,35 +242,38 @@ group :development do
    end

    group :development, :test do
    gem 'powder', '~> 0.1.8'
    #gem 'powder', '~> 0.2.0'
    # How will we debug all the things?
    gem 'debugger', '~> 1.5.0'
    gem 'rails_best_practices', '~> 1.13.2'
    #gem 'ruby-prof', '~> 0.11.3', require: false
    gem 'rspec-rails', '>= 2.12'
    gem 'fabrication', '>= 2.5.2'
    gem 'parallel_tests', '~> 0.9.2'
    gem 'parallel_tests', '~> 0.10.4'
    gem 'teabag', github: 'acquaintable/teabag'
    gem 'pry', '~> 0.9.10'
    gem 'pry-rails', '~> 0.2.2'
    gem 'pry-doc', '~> 0.4.4'
    gem 'pry-remote', :require => 'pry-remote'
    gem 'pry-remote', '~> 0.1.7', :require => 'pry-remote'

    # Guard allows for local continuous integration as changes are made to files.
    gem 'guard', '~> 1.6.2'
    gem 'guard', '~> 1.7.0'
    gem 'guard-spork', '~> 1.4.2'
    gem 'guard-rspec', '~> 2.3.3'
    gem 'rb-inotify', :require => false
    gem 'rb-fsevent', :require => false
    gem 'guard-rspec', '~> 2.5.2'
    gem 'rb-inotify', '~> 0.9.0', :require => false
    gem 'rb-fsevent', '~> 0.9.3', :require => false
    gem 'wdm', :platforms => [:mswin, :mingw], :require => false
    # Mac OS X Notification center
    gem 'terminal-notifier-guard', '~> 1.5.3'
    # Spork
    gem 'spork-rails', '~> 3.2.1'
    # Ensures that .env will be loaded into the environment even when outside foreman (e.g. rake, rails console)
    gem 'dotenv', '~> 0.5.0'
    gem 'dotenv-rails', '~> 0.6.0'
    end

    group :test do
    gem 'remarkable_activerecord', '>=4.0.0.alpha2'
    # Simplifies testing with helpful macros and matchers
    #gem 'remarkable_activerecord', '>=4.0.0.alpha2'
    gem 'cane', '~> 2.5.0'
    gem 'test-unit', '~> 2.5.3'
    gem 'mocha', '~> 0.13.2', require: false
    @@ -266,7 +282,7 @@ group :test do
    gem 'shoulda-matchers', github: 'acquaintable/shoulda-matchers'
    gem 'bourne', github: 'thoughtbot/bourne'
    gem 'capybara', '>= 2.0.2'
    gem 'capybara-email'
    gem 'capybara-email', '>= 2.0.2'
    gem 'poltergeist', github: 'brutuscat/poltergeist'
    gem 'vcr', '~> 2.3.0'
    gem 'fakeweb', '~> 1.3.0'
    @@ -278,63 +294,9 @@ end

    # These gems are only loaded when rails is loaded in console mode, see condition near top of config/application.rb
    group :console do
    # Evaluates gems to see if they should be required by bundler at app boot
    gem 'gem_bench', :require => false
    gem 'irbtools', :require => false, github: 'acquaintable/irbtools'
    gem 'irbtools-more', '~> 1.4.0', :require => false
    gem 'terminal-notifier', '~> 1.4.2'
    end

    #################### Gems Under Evaluation ####################
    # This group is never loaded by default in any environment
    # We are in process of evaluating them, and this ensures they are bundle-able,
    # for at least a nominal level of integration awareness
    group :evaluation do

    # One of the gems we use includes a yanked version of net-scp,
    # this focrces the use of an existing version
    gem "net-scp", "1.0.4"

    # Abstraction Layer over the WebSocket protocol
    gem 'websocket', '~> 1.0.6'
    #gem 'airbrake-statsd', '~> 0.2.1'
    # App, Service & Environment Config
    gem 'figaro', github: 'acquaintable/figaro', branch: 'rails4'
    # User Metrics
    gem 'analytical', '~> 3.0.12'
    # But User Metrics from the client-side!
    gem 'event_tracker', github: 'acquaintable/event_tracker'
    # AJAX file upload
    gem 'remotipart', '~> 1.0.5'
    # Automated Sitemap and SEO
    gem 'sitemap_generator', '~> 3.4'
    # A/B Testing
    gem 'split', '~> 0.4.6'
    # Mobile Response
    gem 'mobylette', '~> 3.3.2'
    # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
    gem 'jbuilder', '~> 0.9.1'
    # To use dummy images built on-demand for rapid prototyping
    # Depends on an install of imagemagick and the rmagick gem
    # TODO:Verify Setup instructions for ImageMagick before uncommenting rmagick
    #gem 'rmagick'
    #gem 'dummy_image', :git => 'git://github.com/davelyon/dummy_image.git'
    end
    ####################/ Gems Under Evaluation ####################

    #################### Rails 4.0 ####################
    #group :rails4 do
    # gem 'rails', github: 'rails/rails'
    # gem 'journey', github: 'rails/journey'
    # gem 'arel', github: 'rails/arel'
    # gem 'simple_form', github: 'plataformatec/simple_form', branch: 'rails_4'
    # gem 'activerecord-session_store', github: 'rails/activerecord-session_store'
    # TODO: These are deprecated functionality of Rails 3 removed from Rails4
    # We will use this to transition, but ultimately change our code to not rely on it
    # gem 'activerecord-deprecated_finders', github: 'rails/activerecord-deprecated_finders'
    # gem 'protected_attributes', github: 'rails/protected_attributes'
    #end
    #group :assets do
    # gem 'sprockets-rails', github: 'rails/sprockets-rails'
    # gem 'sass-rails', github: 'rails/sass-rails'
    # gem 'coffee-rails', github: 'rails/coffee-rails'
    #end
    #################### /Rails 4.0 ####################
  4. pboling revised this gist Feb 27, 2013. 1 changed file with 9 additions and 5 deletions.
    14 changes: 9 additions & 5 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -31,7 +31,7 @@ end

    group :web_server do
    # The Webserver
    gem 'puma', '~> 2.0.0.b4' # 1.6.3 has issues with NewRelic
    gem 'puma', '~> 2.0.0.b6' # 1.6.3 has issues with NewRelic
    #gem 'unicorn', '~> 4.6.0'
    # Allows rack to rewrite requests, no need for Apache mod_rewrite
    gem 'rack-rewrite', '~> 1.3.3'
    @@ -64,7 +64,9 @@ group :data_store do
    # Allows database truncation. See lib/db.rake
    gem 'database_cleaner', '>= 0.9.1'
    # adds slugs to records
    gem "friendly_id"
    gem "friendly_id", '~> 4.0.9'
    # Adds messaging between models
    gem 'acts-as-messageable', '~> 0.4.8'
    end

    group :location do
    @@ -89,9 +91,13 @@ group :async_jobs do
    end

    group :templates do
    # View Template Language
    gem 'haml', '>= 4.0.0'
    gem 'haml-rails', '~> 0.4'
    # View Template Language
    gem 'slim', '~> 1.3.5'
    gem 'slim-rails', '~> 1.1.0'
    # Not using slim-rails, so default generator will still be haml. Views can be written in haml or slim.
    #gem 'slim-rails', '~> 1.1.0'
    # Views can be and should be 100% DRY
    gem 'dry_views', '~> 0.0.2'
    # Markdown Parser (for copy)
    @@ -220,8 +226,6 @@ group :development do
    gem 'mailcatcher', github: 'teeparham/mailcatcher' #'~> 0.5.10'
    # Allows us to magically convert directories of haml templates to slim templates
    #gem 'haml2slim'#, '>= 0.4.6'
    gem 'haml', '>= 4.0.0'
    #gem 'haml-rails'#, '>= 0.3.5'
    end

    group :development, :test do
  5. pboling revised this gist Feb 25, 2013. 2 changed files with 32 additions and 30 deletions.
    61 changes: 32 additions & 29 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -35,6 +35,7 @@ group :web_server do
    #gem 'unicorn', '~> 4.6.0'
    # Allows rack to rewrite requests, no need for Apache mod_rewrite
    gem 'rack-rewrite', '~> 1.3.3'
    gem 'foreman', '~> 0.61.0'
    end

    group :data_store do
    @@ -139,16 +140,16 @@ group :metrics do
    # Code Metrics
    gem 'newrelic_rpm', '~> 3.5.5.540.dev'
    # The rails app administration tool
    gem 'rails_admin', '~> 0.4.3'
    gem 'rails_admin', github: 'sferik/rails_admin' #'~> 0.4.3'
    # Debugging toolbar, heir of rack-bug
    #gem 'rack-insight'
    end

    group :messaging do
    # Add messages to your flash messaging stack whenever you need to, array-style
    gem 'stackable_flash'
    gem 'stackable_flash', '~> 0.0.7'
    # Use the cookie for transporting the flash messages and javascript to render them into the view
    gem 'cacheable_flash'
    gem 'cacheable_flash', '~> 0.3.2'
    end

    group :email do
    @@ -168,17 +169,15 @@ group :enhancers do
    # TODO: Document why this is here. What relies on this?
    gem 'sinatra', :require => nil
    # HTML5 Boilerplate
    gem 'html5-rails'
    gem 'html5-rails', '~> 0.0.6'
    # Possessive form of a string
    gem 'possessive'
    gem 'possessive', '~> 1.0.1'
    # Convert numbers to words 1 => 'one'
    gem 'numbers_and_words'
    # up to 200x faster date parsing & customizable of format
    gem 'home_run', :require => false # required in boot.rb, so it loads before bundler
    gem 'numbers_and_words', '~> 0.5.0'
    # memoize methods - Extracted from Rails' ActiveSupport::Memoizable in June 2011
    gem 'memoist'
    gem 'memoist', '~> 0.2.0'
    # Queryable arrays, for first: pages[name: 'About'], for all: pages[[published: true]]
    gem 'queryable_array'
    gem 'queryable_array', '~> 0.0.1'
    end

    group :mobile do
    @@ -188,7 +187,7 @@ end

    group :security_analysis do
    # Check for Security Holes
    gem 'brakeman'
    gem 'brakeman', github: 'presidentbeef/brakeman' #'~> 1.8.2'
    end

    # Gems used only for assets and not required
    @@ -204,7 +203,7 @@ group :assets do
    gem 'uglifier', '>= 1.3.0'
    gem 'handlebars_assets', '~> 0.8.1'
    gem 'compass-rails', '>= 1.0.3' # github: 'ai/compass-rails', branch: 'rails4' #
    gem 'compass-h5bp'
    gem 'compass-h5bp', '~> 0.1.0'
    gem 'zurb-foundation', '>= 3.2.3'
    gem 'foundation-icons-sass-rails', '~> 2.0.0'
    end
    @@ -215,14 +214,14 @@ group :development do
    gem 'quiet_assets', github: 'evrone/quiet_assets'
    # Improve the development error experience
    gem 'better_errors', '>= 0.3.2'
    gem 'binding_of_caller'
    gem 'binding_of_caller', '~> 0.7.1'
    # Annotate models, fixtures, and model specs
    gem 'annotate', '>=2.5.0'
    gem 'mailcatcher', '~> 0.5.10'
    gem 'mailcatcher', github: 'teeparham/mailcatcher' #'~> 0.5.10'
    # Allows us to magically convert directories of haml templates to slim templates
    gem 'haml2slim', '>= 0.4.6'
    gem 'haml', '>= 3.1.7'
    gem 'haml-rails', '>= 0.3.5'
    #gem 'haml2slim'#, '>= 0.4.6'
    gem 'haml', '>= 4.0.0'
    #gem 'haml-rails'#, '>= 0.3.5'
    end

    group :development, :test do
    @@ -234,23 +233,23 @@ group :development, :test do
    gem 'parallel_tests', '~> 0.9.2'
    gem 'teabag', github: 'acquaintable/teabag'
    gem 'pry', '~> 0.9.10'
    gem 'pry-rails'
    gem 'pry-doc'
    gem 'pry-rails', '~> 0.2.2'
    gem 'pry-doc', '~> 0.4.4'
    gem 'pry-remote', :require => 'pry-remote'

    # Guard allows for local continuous integration as changes are made to files.
    gem 'guard'
    gem 'guard-spork'
    gem 'guard', '~> 1.6.2'
    gem 'guard-spork', '~> 1.4.2'
    gem 'guard-rspec', '~> 2.3.3'
    gem 'rb-inotify', :require => false
    gem 'rb-fsevent', :require => false
    gem 'wdm', :platforms => [:mswin, :mingw], :require => false
    # Mac OS X Notification center
    gem 'terminal-notifier-guard'
    gem 'terminal-notifier-guard', '~> 1.5.3'
    # Spork
    gem 'spork-rails'
    gem 'spork-rails', '~> 3.2.1'
    # Ensures that .env will be loaded into the environment even when outside foreman (e.g. rake, rails console)
    gem 'dotenv'
    gem 'dotenv', '~> 0.5.0'
    end

    group :test do
    @@ -276,16 +275,20 @@ end
    # These gems are only loaded when rails is loaded in console mode, see condition near top of config/application.rb
    group :console do
    gem 'irbtools', :require => false, github: 'acquaintable/irbtools'
    gem 'irbtools-more', :require => false
    gem 'terminal-notifier'
    gem 'irbtools-more', '~> 1.4.0', :require => false
    gem 'terminal-notifier', '~> 1.4.2'
    end

    #################### Gems Under Evaluation ####################
    # This group is never loaded by default in any environment
    # We are in process of evaluating them, and this ensures they are bundle-able,
    # for at least a nominal level of integration awareness
    group :evaluation do
    #gem 'psych', '~> 1.3.4'

    # One of the gems we use includes a yanked version of net-scp,
    # this focrces the use of an existing version
    gem "net-scp", "1.0.4"

    # Abstraction Layer over the WebSocket protocol
    gem 'websocket', '~> 1.0.6'
    #gem 'airbrake-statsd', '~> 0.2.1'
    @@ -296,9 +299,9 @@ group :evaluation do
    # But User Metrics from the client-side!
    gem 'event_tracker', github: 'acquaintable/event_tracker'
    # AJAX file upload
    gem 'remotipart'
    gem 'remotipart', '~> 1.0.5'
    # Automated Sitemap and SEO
    gem 'sitemap_generator'
    gem 'sitemap_generator', '~> 3.4'
    # A/B Testing
    gem 'split', '~> 0.4.6'
    # Mobile Response
    1 change: 0 additions & 1 deletion boot.rb
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,4 @@
    require 'rubygems'
    require 'home_run' # Customize the Date Parsing Library, so it will be in place when picked up by ActiveSupport

    # Set up gems listed in the Gemfile.
    ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
  6. pboling revised this gist Feb 22, 2013. 1 changed file with 20 additions and 9 deletions.
    29 changes: 20 additions & 9 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -32,6 +32,7 @@ end
    group :web_server do
    # The Webserver
    gem 'puma', '~> 2.0.0.b4' # 1.6.3 has issues with NewRelic
    #gem 'unicorn', '~> 4.6.0'
    # Allows rack to rewrite requests, no need for Apache mod_rewrite
    gem 'rack-rewrite', '~> 1.3.3'
    end
    @@ -41,23 +42,28 @@ group :data_store do
    gem 'pg', '~> 0.14.1'
    # More power to the Database
    gem 'pg_power', '~> 1.3.0' #, github: 'acquaintable/pg_power', branch: 'rails4'
    # Allows PostgreSQLto use the new HSTORE from Rails 4
    gem 'activerecord-postgres-hstore', '0.5.2'
    # Allows PostgreSQLto use the new HSTORE datatype supported in Rails 4
    gem 'activerecord-postgres-hstore', '~> 0.7.5'
    # Allows PostgreSQL to use the new ARRAY datatype supported in Rails 4
    gem 'activerecord-postgres-array', github: 'tlconnor/activerecord-postgres-array'
    # Bit fields for Active Record - Follows conventions of standard boolean columns.
    gem 'flag_shih_tzu', '~> 0.3.2'
    # Neo4j REST API
    gem 'neography', '~> 1.0.5'
    # Replicates wholly, or partially, ActiveRecord (PG) models into Neo4j for faster querying
    # Manages synchronization of updates to records across both data stores
    gem 'neoid', '~> 0.1.2'
    gem 'neoid', '~> 0.1.2' #, path: '/Users/pboling/Documents/src/acq/neoid'
    # Versioning Things and Soft-Deletes
    gem 'vestal_versions', github: 'justintanner/vestal_versions'
    # Voting On Things
    gem 'thumbs_up', '~> 0.6.2'
    # I can has Vote? Voting On Things is fun

    gem 'thumbs_up', github: 'bouchard/thumbs_up' #'~> 0.6.2'
    # Map any methods on any Ruby objects to a CSV export, and vice verse.
    gem 'csv_pirate', '~> 5.0.7'
    # Allows database truncation. See lib/db.rake
    gem 'database_cleaner', '>= 0.9.1'
    # adds slugs to records
    gem "friendly_id"
    end

    group :location do
    @@ -97,7 +103,7 @@ end
    # TODO: Determine which of these can be moved into :assets group
    group :javascript do
    # Base for JSON
    gem 'json', '~> 1.7.6'
    gem 'json', '~> 1.7.7'
    # Fast JSON Object parsing and marshalling
    gem 'oj', '~> 2.0.3'
    # Implant jQuery directly into the Asset Pipeline ========>
    @@ -110,7 +116,7 @@ end
    group :users do
    # Registration, Authentication, Invitation, Confirmation
    gem 'devise', github: 'idl3/devise', branch: 'rails4'
    gem 'devise_invitable', github: 'sunny36/devise_invitable', :ref => '5af50a925e0a41cc648b124ffe7de0f8f081481e'
    gem 'devise_invitable', github: 'sunny36/devise_invitable', ref: '5af50a925e0a41cc648b124ffe7de0f8f081481e'
    gem 'devise-async', '~> 0.5.1'
    # Facebook Oauth
    gem 'koala', '~> 1.6.0'
    @@ -171,6 +177,8 @@ group :enhancers do
    gem 'home_run', :require => false # required in boot.rb, so it loads before bundler
    # memoize methods - Extracted from Rails' ActiveSupport::Memoizable in June 2011
    gem 'memoist'
    # Queryable arrays, for first: pages[name: 'About'], for all: pages[[published: true]]
    gem 'queryable_array'
    end

    group :mobile do
    @@ -210,7 +218,7 @@ group :development do
    gem 'binding_of_caller'
    # Annotate models, fixtures, and model specs
    gem 'annotate', '>=2.5.0'

    gem 'mailcatcher', '~> 0.5.10'
    # Allows us to magically convert directories of haml templates to slim templates
    gem 'haml2slim', '>= 0.4.6'
    gem 'haml', '>= 3.1.7'
    @@ -241,13 +249,15 @@ group :development, :test do
    gem 'terminal-notifier-guard'
    # Spork
    gem 'spork-rails'
    # Ensures that .env will be loaded into the environment even when outside foreman (e.g. rake, rails console)
    gem 'dotenv'
    end

    group :test do
    gem 'remarkable_activerecord', '>=4.0.0.alpha2'
    gem 'cane', '~> 2.5.0'
    gem 'test-unit', '~> 2.5.3'
    gem 'mocha', '0.13.1', require: false
    gem 'mocha', '~> 0.13.2', require: false
    #gem 'rspec-apotomo', :git => 'git://github.com/kristianmandrup/rspec-apotomo.git', :ref => '03a2ac2f526fa668ee3a4bdb09cbc41693931ca3'
    gem 'rspec-cells', github: 'acquaintable/rspec-cells'
    gem 'shoulda-matchers', github: 'acquaintable/shoulda-matchers'
    @@ -275,6 +285,7 @@ end
    # We are in process of evaluating them, and this ensures they are bundle-able,
    # for at least a nominal level of integration awareness
    group :evaluation do
    #gem 'psych', '~> 1.3.4'
    # Abstraction Layer over the WebSocket protocol
    gem 'websocket', '~> 1.0.6'
    #gem 'airbrake-statsd', '~> 0.2.1'
  7. pboling revised this gist Feb 13, 2013. 1 changed file with 9 additions and 4 deletions.
    13 changes: 9 additions & 4 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -60,6 +60,12 @@ group :data_store do
    gem 'database_cleaner', '>= 0.9.1'
    end

    group :location do
    # Geolocations
    gem 'geokit', '~> 1.6.5'
    gem 'geokit-rails3', github: 'acquaintable/geokit-rails3'
    end

    group :async_jobs do
    # The Cache - Redis can back Object Caches, I18n, Session, HTTP Cache
    gem 'redis', '~> 3.0.2'
    @@ -163,6 +169,8 @@ group :enhancers do
    gem 'numbers_and_words'
    # up to 200x faster date parsing & customizable of format
    gem 'home_run', :require => false # required in boot.rb, so it loads before bundler
    # memoize methods - Extracted from Rails' ActiveSupport::Memoizable in June 2011
    gem 'memoist'
    end

    group :mobile do
    @@ -187,7 +195,7 @@ group :assets do
    gem 'asset_sync', '~> 0.5.4', {}.merge(!ENV['FOGGY'].nil? && ENV['FOGGY'] != 'true' ? {require: false} : {})
    gem 'uglifier', '>= 1.3.0'
    gem 'handlebars_assets', '~> 0.8.1'
    gem 'compass-rails', github: 'ai/compass-rails', branch: 'rails4' #'>= 1.0.3'
    gem 'compass-rails', '>= 1.0.3' # github: 'ai/compass-rails', branch: 'rails4' #
    gem 'compass-h5bp'
    gem 'zurb-foundation', '>= 3.2.3'
    gem 'foundation-icons-sass-rails', '~> 2.0.0'
    @@ -269,9 +277,6 @@ end
    group :evaluation do
    # Abstraction Layer over the WebSocket protocol
    gem 'websocket', '~> 1.0.6'
    # Geolocations
    gem 'geokit', '~> 1.6.5'
    gem 'geokit-rails3', github: 'acquaintable/geokit-rails3'
    #gem 'airbrake-statsd', '~> 0.2.1'
    # App, Service & Environment Config
    gem 'figaro', github: 'acquaintable/figaro', branch: 'rails4'
  8. pboling revised this gist Feb 12, 2013. 3 changed files with 19 additions and 8 deletions.
    16 changes: 10 additions & 6 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -15,7 +15,7 @@ ruby '1.9.3'
    # and there will fewer issues with upgrading to Rails 4 when the time comes.
    # Where we need actual different gems (e.g. rails proper) we have a rails4 group (see EOF)
    group :rails3 do
    gem 'rails', '~> 3.2.11'
    gem 'rails', '~> 3.2.12'
    # Not compatible with Rails4, see :rails4 group for alternative
    gem 'simple_form', '~> 2.0.4'
    # Backports default Rails4 functionality to Rails3
    @@ -56,6 +56,8 @@ group :data_store do
    gem 'thumbs_up', '~> 0.6.2'
    # Map any methods on any Ruby objects to a CSV export, and vice verse.
    gem 'csv_pirate', '~> 5.0.7'
    # Allows database truncation. See lib/db.rake
    gem 'database_cleaner', '>= 0.9.1'
    end

    group :async_jobs do
    @@ -96,7 +98,7 @@ group :javascript do
    gem 'jquery-rails', '~> 2.1.4' # '~> 2.2.0' updates to jQuery 1.9, which is not yet compatible with foundation, see:
    # https://github.com/zurb/foundation/pull/1432
    # Enable the AMD design pattern for Javascript modules and integrate into the Asset Pipeline ========>
    gem 'requirejs-rails', github: 'jwhitley/requirejs-rails'
    gem 'requirejs-rails', github: 'acquaintable/requirejs-rails'
    end

    group :users do
    @@ -159,6 +161,8 @@ group :enhancers do
    gem 'possessive'
    # Convert numbers to words 1 => 'one'
    gem 'numbers_and_words'
    # up to 200x faster date parsing & customizable of format
    gem 'home_run', :require => false # required in boot.rb, so it loads before bundler
    end

    group :mobile do
    @@ -216,8 +220,9 @@ group :development, :test do
    gem 'pry', '~> 0.9.10'
    gem 'pry-rails'
    gem 'pry-doc'
    gem 'pry-remote'
    # Guard
    gem 'pry-remote', :require => 'pry-remote'

    # Guard allows for local continuous integration as changes are made to files.
    gem 'guard'
    gem 'guard-spork'
    gem 'guard-rspec', '~> 2.3.3'
    @@ -247,7 +252,6 @@ group :test do
    #gem 'autotest', '4.4.6'
    #gem 'autotest-rails', '4.1.2'
    gem 'simplecov', '~> 0.7.1', require: false
    gem 'database_cleaner', '>= 0.9.1'
    gem 'email_spec', '>= 1.4.0'
    end

    @@ -275,7 +279,7 @@ group :evaluation do
    gem 'analytical', '~> 3.0.12'
    # But User Metrics from the client-side!
    gem 'event_tracker', github: 'acquaintable/event_tracker'
    # AJAX file upload
    # AJAX file upload
    gem 'remotipart'
    # Automated Sitemap and SEO
    gem 'sitemap_generator'
    4 changes: 2 additions & 2 deletions application.bundler.rb
    Original file line number Diff line number Diff line change
    @@ -7,7 +7,7 @@
    Bundler.require(:console)
    require 'irbtools/configure'
    Irbtools.add_package :more # adds this extension package
    # here you can edit which libraries get loaded. See the irbtools README for details.
    # here you can edit which libraries get loaded. See the irbtools README for details.
    Irbtools.start
    end
    end
    @@ -18,7 +18,7 @@
    security_analysis: %w(development test),
    }
    # List the groups that are always loaded, followed by the ones that are selectively loaded based on environment
    Bundler.require(:rails3, :web_server, :data_store, :async_jobs, :templates, :javascript, :users, :metrics, :messaging, :email, :enhancers, :mobile, *Rails.groups(groups))
    Bundler.require(:default, :rails3, :web_server, :data_store, :async_jobs, :templates, :javascript, :users, :metrics, :messaging, :email, :enhancers, :mobile, Rails.env, *Rails.groups(groups))
    #Bundler.require(*Rails.groups(:assets => %w(development test)))
    # If you want your assets lazily compiled in production, use this line
    # Bundler.require(:default, :assets, Rails.env)
    7 changes: 7 additions & 0 deletions boot.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    require 'rubygems'
    require 'home_run' # Customize the Date Parsing Library, so it will be in place when picked up by ActiveSupport

    # Set up gems listed in the Gemfile.
    ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)

    require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
  9. pboling revised this gist Feb 7, 2013. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions application.bundler.rb
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,6 @@
    # Load this file by replacing the if defined?(Bundler) block in config/application.rb with:
    # require File.expand_path('../application.bundler', __FILE__)

    if defined?(Bundler)
    Class.new Rails::Railtie do
    console do |app|
  10. pboling revised this gist Feb 7, 2013. 2 changed files with 24 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion Gemfile
    Original file line number Diff line number Diff line change
    @@ -86,6 +86,7 @@ group :templates do
    gem 'cells', '~> 3.8.6'#, :path => '/Users/pboling/Documents/src/other/cells' #:git => 'git://github.com/acquaintable/cells.git'
    end

    # TODO: Determine which of these can be moved into :assets group
    group :javascript do
    # Base for JSON
    gem 'json', '~> 1.7.6'
    @@ -165,7 +166,7 @@ group :mobile do
    gem 'urbanairship', '~> 2.2.0'
    end

    group :security do
    group :security_analysis do
    # Check for Security Holes
    gem 'brakeman'
    end
    22 changes: 22 additions & 0 deletions application.bundler.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,22 @@
    if defined?(Bundler)
    Class.new Rails::Railtie do
    console do |app|
    Bundler.require(:console)
    require 'irbtools/configure'
    Irbtools.add_package :more # adds this extension package
    # here you can edit which libraries get loaded. See the irbtools README for details.
    Irbtools.start
    end
    end
    groups = {
    # If you precompile assets before deploying to production, use this line
    assets: %w(development test),
    monitoring: %w(staging production),
    security_analysis: %w(development test),
    }
    # List the groups that are always loaded, followed by the ones that are selectively loaded based on environment
    Bundler.require(:rails3, :web_server, :data_store, :async_jobs, :templates, :javascript, :users, :metrics, :messaging, :email, :enhancers, :mobile, *Rails.groups(groups))
    #Bundler.require(*Rails.groups(:assets => %w(development test)))
    # If you want your assets lazily compiled in production, use this line
    # Bundler.require(:default, :assets, Rails.env)
    end
  11. pboling revised this gist Feb 7, 2013. 1 changed file with 224 additions and 147 deletions.
    371 changes: 224 additions & 147 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,7 @@
    ##### See Gemfile.md for detailed notes on specific gems #####
    source 'https://rubygems.org'
    # Follows the bundler group pattern described here:
    # http://iain.nl/getting-the-most-out-of-bundler-groups

    # Gemfile.mine in root dir allows locally custom gems.
    # NOTE: Doing this will change the Gemfile.lock - commit with care.
    @@ -11,162 +13,173 @@ ruby '1.9.3'
    # NOTE on branching: We are using the rails 4 track gems as much as possible,
    # because in most cases they retain support for Rails 3,
    # and there will fewer issues with upgrading to Rails 4 when the time comes.
    gem 'rails', '~> 3.2.11'
    gem 'simple_form', '~> 2.0.4'
    gem 'dismissible_helpers'
    # Where we need actual different gems (e.g. rails proper) we have a rails4 group (see EOF)
    group :rails3 do
    gem 'rails', '~> 3.2.11'
    # Not compatible with Rails4, see :rails4 group for alternative
    gem 'simple_form', '~> 2.0.4'
    # Backports default Rails4 functionality to Rails3
    gem 'dismissible_helpers', '~> 0.1.5'
    end
    group :assets do
    gem 'sprockets-rails', '~> 0.0.1'
    gem 'sass-rails', '~> 3.2.5'
    gem 'coffee-rails', '~> 3.2.2'
    gem 'turbo-sprockets-rails3', '~> 0.3.6'
    end
    #################### /Rails 3.2 ####################

    #################### Rails 4.0 ####################
    #gem 'rails', github: 'rails/rails'
    #gem 'journey', github: 'rails/journey'
    #gem 'arel', github: 'rails/arel'
    #gem 'activerecord-deprecated_finders', github: 'rails/activerecord-deprecated_finders'
    #gem 'activerecord-session_store', github: 'rails/activerecord-session_store'
    #group :assets do
    # gem 'sprockets-rails', github: 'rails/sprockets-rails'
    # gem 'sass-rails', github: 'rails/sass-rails'
    # gem 'coffee-rails', github: 'rails/coffee-rails'
    #end
    #gem 'simple_form', github: 'plataformatec/simple_form', branch: 'rails_4'
    group :web_server do
    # The Webserver
    gem 'puma', '~> 2.0.0.b4' # 1.6.3 has issues with NewRelic
    # Allows rack to rewrite requests, no need for Apache mod_rewrite
    gem 'rack-rewrite', '~> 1.3.3'
    end

    # TODO: These are deprecated functionality of Rails 3 removed from Rails4
    # We will use this to transition, but ultimately change our code to not rely on it
    #gem 'protected_attributes', github: 'rails/protected_attributes'
    #################### /Rails 4.0 ####################
    group :data_store do
    # The Database
    gem 'pg', '~> 0.14.1'
    # More power to the Database
    gem 'pg_power', '~> 1.3.0' #, github: 'acquaintable/pg_power', branch: 'rails4'
    # Allows PostgreSQLto use the new HSTORE from Rails 4
    gem 'activerecord-postgres-hstore', '0.5.2'
    # Bit fields for Active Record - Follows conventions of standard boolean columns.
    gem 'flag_shih_tzu', '~> 0.3.2'
    # Neo4j REST API
    gem 'neography', '~> 1.0.5'
    # Replicates wholly, or partially, ActiveRecord (PG) models into Neo4j for faster querying
    # Manages synchronization of updates to records across both data stores
    gem 'neoid', '~> 0.1.2'
    # Versioning Things and Soft-Deletes
    gem 'vestal_versions', github: 'justintanner/vestal_versions'
    # Voting On Things
    gem 'thumbs_up', '~> 0.6.2'
    # Map any methods on any Ruby objects to a CSV export, and vice verse.
    gem 'csv_pirate', '~> 5.0.7'
    end

    group :async_jobs do
    # The Cache - Redis can back Object Caches, I18n, Session, HTTP Cache
    gem 'redis', '~> 3.0.2'
    gem 'redis-namespace', '~> 1.2.1'
    gem 'redis-rails', '~> 3.2.3'
    gem 'redis-store', '~> 1.1.3'

    # Our Queue
    gem 'sidekiq', '~> 2.7.0'
    # Add failure tracking and failure tab to sidekiq UI
    gem 'sidekiq-failures', '~> 0.1.0'
    # Queue Manager (Hires and Fires workers)
    gem 'autoscaler', '~> 0.2.0'
    end

    group :templates do
    # View Template Language
    gem 'slim', '~> 1.3.5'
    gem 'slim-rails', '~> 1.1.0'
    # Views can be and should be 100% DRY
    gem 'dry_views', '~> 0.0.2'
    # Markdown Parser (for copy)
    gem 'redcarpet', '~> 2.2.2'
    # To avoid indecent exposure of instance variables in the view
    gem 'decent_exposure', '~> 2.0.1'
    gem 'cells', '~> 3.8.6'#, :path => '/Users/pboling/Documents/src/other/cells' #:git => 'git://github.com/acquaintable/cells.git'
    end

    group :javascript do
    # Base for JSON
    gem 'json', '~> 1.7.6'
    # Fast JSON Object parsing and marshalling
    gem 'oj', '~> 2.0.3'
    # Implant jQuery directly into the Asset Pipeline ========>
    gem 'jquery-rails', '~> 2.1.4' # '~> 2.2.0' updates to jQuery 1.9, which is not yet compatible with foundation, see:
    # https://github.com/zurb/foundation/pull/1432
    # Enable the AMD design pattern for Javascript modules and integrate into the Asset Pipeline ========>
    gem 'requirejs-rails', github: 'jwhitley/requirejs-rails'
    end

    group :users do
    # Registration, Authentication, Invitation, Confirmation
    gem 'devise', github: 'idl3/devise', branch: 'rails4'
    gem 'devise_invitable', github: 'sunny36/devise_invitable', :ref => '5af50a925e0a41cc648b124ffe7de0f8f081481e'
    gem 'devise-async', '~> 0.5.1'
    # Facebook Oauth
    gem 'koala', '~> 1.6.0'
    gem 'omniauth', '~> 1.1.1'
    gem 'omniauth-facebook', '~> 1.4.1'
    # Authorization
    gem 'cancan', '>= 1.6.8'
    gem 'rolify', '>= 3.2.0'
    # Stateful Behavior
    gem 'state_machine', '~> 1.1.2'
    end

    group :metrics do
    # User Metrics
    gem 'km', '~> 1.1.3'
    # Send errors to airbrake.io
    gem 'airbrake', '~> 3.1.7'
    # Report missing i18n translations
    gem 'i18n-airbrake', github: 'acquaintable/i18n-airbrake', branch: 'configuration_options'
    # Code Metrics
    gem 'newrelic_rpm', '~> 3.5.5.540.dev'
    # The rails app administration tool
    gem 'rails_admin', '~> 0.4.3'
    # Debugging toolbar, heir of rack-bug
    #gem 'rack-insight'
    end

    # The Webserver
    gem 'puma', '~> 2.0.0.b4' # 1.6.3 has issues with NewRelic
    # The Database
    gem 'pg'
    # More power to the Database
    gem 'pg_power', '~> 1.3.0' #, github: 'acquaintable/pg_power', branch: 'rails4'
    # Allows PostgreSQLto use the new HSTORE from Rails 4
    gem 'activerecord-postgres-hstore', '0.5.2'
    # The Cache - Redis can back Object Caches, I18n, Session, HTTP Cache
    gem 'redis', '~> 3.0.2'
    gem 'redis-namespace', '~> 1.2.1'
    gem 'redis-rails'
    gem 'redis-store'
    # View Template Language
    gem 'slim', '~> 1.3.5'
    gem 'slim-rails', '~> 1.1.0'
    # Assets stored on AWS S3
    gem 'aws-sdk', '~> 1.8.0'
    gem 'asset_sync', '~> 0.5.0'
    # Allows rack to rewrite requests, no need for Apache mod_rewrite
    gem 'rack-rewrite'
    # Neo4j REST API
    gem 'neography', github: 'pboling/neography'
    # Voting On Things
    gem 'thumbs_up', '~> 0.6.2'
    # Versioning Things and Soft-Deletes
    gem 'vestal_versions', github: 'laserlemon/vestal_versions'
    # To avoid indecent exposure of instance variables in the view
    gem 'decent_exposure'
    # Base for JSON
    gem 'json', '~> 1.7.6'
    # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
    gem 'jbuilder', '~> 0.9.1'
    # Fast JSON Object parsing and marshalling
    gem 'oj'
    # Implant jQuery directly into the Asset Pipeline ========>
    gem 'jquery-rails', '~> 2.1.4'
    # Markdown Parser (for copy)
    gem 'redcarpet'
    # Our Queue
    gem 'sidekiq'
    gem 'sidekiq-failures'
    # Queue Manager
    gem 'hirefire-resource', '~> 0.0.2'
    # Third Party Email Service
    gem 'sendgrid', '>= 1.0.1'
    # Registration, Authentication, Invitation, Confirmation
    gem 'devise', github: 'idl3/devise', branch: 'rails4'
    gem 'devise_invitable', github: 'sunny36/devise_invitable', :ref => '5af50a925e0a41cc648b124ffe7de0f8f081481e'
    gem 'devise-async'
    # Facebook Oauth
    gem 'koala', '~> 1.6.0'
    gem 'omniauth', '~> 1.1.1'
    gem 'omniauth-facebook', '~> 1.4.1'
    # Authorization
    gem 'cancan', '>= 1.6.8'
    gem 'rolify', '>= 3.2.0'
    # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
    gem 'turbolinks', '~> 0.6.1'
    # Errors
    gem 'exception_notification', '~> 3.0.0', require: 'exception_notifier'
    gem 'exceptional', '~> 2.0.33'
    # Code Metrics
    gem 'newrelic_rpm', '~> 3.5.5.540.dev'
    # User Metrics
    gem 'km', '~> 1.1.3'
    gem 'analytical'
    # But User Metrics from the client-side!
    gem 'event_tracker', github: 'acquaintable/event_tracker'
    # Geolocations
    gem 'geokit', '~> 1.6.5'
    gem 'geokit-rails3', github: 'acquaintable/geokit-rails3'
    # Mobile Response
    gem 'mobylette', '~> 3.3.2'
    # Mobile Push
    gem 'urbanairship', '~> 2.2.0'
    # App, Service & Environment Config
    gem 'figaro', github: 'acquaintable/figaro', branch: 'rails4'
    # Stateful Behavior
    gem 'state_machine', '~> 1.1.2'
    # Find bad queries
    gem 'bullet', '~> 4.3.0'
    # Mini Controllers & tiny mounted Rack apps inside Rails for widgety things
    gem 'cells', '~> 3.8.6'#, :path => '/Users/pboling/Documents/src/other/cells' #:git => 'git://github.com/acquaintable/cells.git'
    # A/B Testing
    gem 'split', '~> 0.4.6'
    # XML Parsing
    gem 'nokogiri', '~> 1.5.6'
    # Abstraction Layer over the WebSocket protocol
    gem 'websocket', '~> 1.0.6'
    # Yet another framework
    gem 'sinatra', :require => nil
    # The rails app administration tool
    gem 'rails_admin'
    # AJAX file upload
    gem 'remotipart'
    # Automated Sitemap and SEO
    gem 'sitemap_generator'
    # HTML5 Boilerplate
    gem 'html5-rails'
    # Possessive form of a string
    gem 'possessive'
    # To use dummy images built on-demand for rapid prototyping
    # Depends on an install of imagemagick and the rmagick gem
    # TODO:Verify Setup instructions for ImageMagick before uncommenting rmagick
    #gem 'rmagick'
    #gem 'dummy_image', :git => 'git://github.com/davelyon/dummy_image.git'

    #################### Peter Boling's gems ####################
    # Debugging toolbar, heir of rack-bug
    gem 'rack-insight'
    # Add messages to your flash messaging stack whenever you need to, array-style
    gem 'stackable_flash'
    # Use the cookie for transporting the flash messages and javascript to render them into the view
    gem 'cacheable_flash'
    # Map any methods on any Ruby objects to a CSV export, and vice verse.
    gem 'csv_pirate', '~> 5.0.7'
    # Redirect all email in non-Production environments to alternate, safe, addresses
    gem 'sanitize_email', '~> 1.0.5'
    # Bit fields for Active Record - Follows conventions of standard boolean columns.
    gem 'flag_shih_tzu', '~> 0.3.2'
    # Views can be and should be 100% DRY
    gem 'dry_views', '~> 0.0.2'
    #################### /Peter Boling's gems ####################
    group :messaging do
    # Add messages to your flash messaging stack whenever you need to, array-style
    gem 'stackable_flash'
    # Use the cookie for transporting the flash messages and javascript to render them into the view
    gem 'cacheable_flash'
    end

    group :email do
    # Third Party Email Service
    gem 'sendgrid', '>= 1.0.1'
    # Redirect all email in non-Production environments to alternate, safe, addresses
    gem 'sanitize_email', '~> 1.0.5'
    end

    group :enhancers do
    # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
    gem 'turbolinks', '~> 0.6.1'
    # Mini Controllers & tiny mounted Rack apps inside Rails for widgety things
    # XML Parsing
    gem 'nokogiri', '~> 1.5.6'
    # Yet another framework
    # TODO: Document why this is here. What relies on this?
    gem 'sinatra', :require => nil
    # HTML5 Boilerplate
    gem 'html5-rails'
    # Possessive form of a string
    gem 'possessive'
    # Convert numbers to words 1 => 'one'
    gem 'numbers_and_words'
    end

    group :mobile do
    # Mobile Push
    gem 'urbanairship', '~> 2.2.0'
    end

    group :security do
    # Check for Security Holes
    gem 'brakeman'
    end

    # Gems used only for assets and not required
    # in production environments by default.
    group :assets do
    # AWS RUBY APIs
    # NOTE: This gem is almost threadsafe
    # See: https://github.com/mperham/sidekiq/wiki/Problems-and-Troubleshooting
    gem 'aws-sdk', '~> 1.8.0'
    # Assets stored on AWS S3
    # Goal is to send compiled assets to AWS when FOGGY is not set, and when it is set to 'true'
    gem 'asset_sync', '~> 0.5.4', {}.merge(!ENV['FOGGY'].nil? && ENV['FOGGY'] != 'true' ? {require: false} : {})
    gem 'uglifier', '>= 1.3.0'
    gem 'handlebars_assets', '~> 0.8.1'
    gem 'compass-rails', github: 'ai/compass-rails', branch: 'rails4' #'>= 1.0.3'
    @@ -176,16 +189,19 @@ group :assets do
    end

    group :development do
    # Find bad queries, TODO: evaluate: uniform_notifier for use with bullet
    gem 'bullet', '~> 4.3.0'
    gem 'quiet_assets', github: 'evrone/quiet_assets'
    # Improve the development error experience
    gem 'better_errors', '>= 0.3.2'
    gem 'binding_of_caller'
    # Annotate models, fixtures, and model specs
    gem 'annotate', '>=2.5.0'

    # Allows us to magically convert directories of haml templates to slim templates
    gem 'haml2slim', '>= 0.4.6'
    gem 'haml', '>= 3.1.7'
    gem 'haml-rails', '>= 0.3.5'
    # Check for Security Holes
    gem 'brakeman'
    end

    group :development, :test do
    @@ -227,9 +243,70 @@ group :test do
    gem 'poltergeist', github: 'brutuscat/poltergeist'
    gem 'vcr', '~> 2.3.0'
    gem 'fakeweb', '~> 1.3.0'
    gem 'autotest', '4.4.6'
    gem 'autotest-rails', '4.1.2'
    #gem 'autotest', '4.4.6'
    #gem 'autotest-rails', '4.1.2'
    gem 'simplecov', '~> 0.7.1', require: false
    gem 'database_cleaner', '>= 0.9.1'
    gem 'email_spec', '>= 1.4.0'
    end

    # These gems are only loaded when rails is loaded in console mode, see condition near top of config/application.rb
    group :console do
    gem 'irbtools', :require => false, github: 'acquaintable/irbtools'
    gem 'irbtools-more', :require => false
    gem 'terminal-notifier'
    end

    #################### Gems Under Evaluation ####################
    # This group is never loaded by default in any environment
    # We are in process of evaluating them, and this ensures they are bundle-able,
    # for at least a nominal level of integration awareness
    group :evaluation do
    # Abstraction Layer over the WebSocket protocol
    gem 'websocket', '~> 1.0.6'
    # Geolocations
    gem 'geokit', '~> 1.6.5'
    gem 'geokit-rails3', github: 'acquaintable/geokit-rails3'
    #gem 'airbrake-statsd', '~> 0.2.1'
    # App, Service & Environment Config
    gem 'figaro', github: 'acquaintable/figaro', branch: 'rails4'
    # User Metrics
    gem 'analytical', '~> 3.0.12'
    # But User Metrics from the client-side!
    gem 'event_tracker', github: 'acquaintable/event_tracker'
    # AJAX file upload
    gem 'remotipart'
    # Automated Sitemap and SEO
    gem 'sitemap_generator'
    # A/B Testing
    gem 'split', '~> 0.4.6'
    # Mobile Response
    gem 'mobylette', '~> 3.3.2'
    # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
    gem 'jbuilder', '~> 0.9.1'
    # To use dummy images built on-demand for rapid prototyping
    # Depends on an install of imagemagick and the rmagick gem
    # TODO:Verify Setup instructions for ImageMagick before uncommenting rmagick
    #gem 'rmagick'
    #gem 'dummy_image', :git => 'git://github.com/davelyon/dummy_image.git'
    end
    ####################/ Gems Under Evaluation ####################

    #################### Rails 4.0 ####################
    #group :rails4 do
    # gem 'rails', github: 'rails/rails'
    # gem 'journey', github: 'rails/journey'
    # gem 'arel', github: 'rails/arel'
    # gem 'simple_form', github: 'plataformatec/simple_form', branch: 'rails_4'
    # gem 'activerecord-session_store', github: 'rails/activerecord-session_store'
    # TODO: These are deprecated functionality of Rails 3 removed from Rails4
    # We will use this to transition, but ultimately change our code to not rely on it
    # gem 'activerecord-deprecated_finders', github: 'rails/activerecord-deprecated_finders'
    # gem 'protected_attributes', github: 'rails/protected_attributes'
    #end
    #group :assets do
    # gem 'sprockets-rails', github: 'rails/sprockets-rails'
    # gem 'sass-rails', github: 'rails/sass-rails'
    # gem 'coffee-rails', github: 'rails/coffee-rails'
    #end
    #################### /Rails 4.0 ####################
  12. pboling revised this gist Jan 18, 2013. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -61,11 +61,11 @@ gem 'asset_sync', '~> 0.5.0'
    # Allows rack to rewrite requests, no need for Apache mod_rewrite
    gem 'rack-rewrite'
    # Neo4j REST API
    gem 'neography', '1.0.3'
    gem 'neography', github: 'pboling/neography'
    # Voting On Things
    gem 'thumbs_up', '~> 0.6.2'
    # Versioning Things and Soft-Deletes
    gem 'vestal_versions'
    gem 'vestal_versions', github: 'laserlemon/vestal_versions'
    # To avoid indecent exposure of instance variables in the view
    gem 'decent_exposure'
    # Base for JSON
  13. pboling revised this gist Jan 18, 2013. 1 changed file with 123 additions and 45 deletions.
    168 changes: 123 additions & 45 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -6,15 +6,6 @@ source 'https://rubygems.org'
    eval File.read(File.join(File.dirname(__FILE__), 'Gemfile.mine')) if File.exists? File.join(File.dirname(__FILE__), 'Gemfile.mine')

    ruby '1.9.3'
    gem 'puma', '~> 2.0.0.b4' # 1.6.3 has issues with NewRelic
    # This is our database adapter for postgres
    gem 'pg'
    # Allows PostgreSQLto use the new HSTORE from Rails 4
    gem 'activerecord-postgres-hstore', '0.5.2'
    # Neo4j REST API
    gem 'neography'
    # Voting On Things
    gem 'thumbs_up', '~> 0.6.2'

    #################### Rails 3.2 ####################
    # NOTE on branching: We are using the rails 4 track gems as much as possible,
    @@ -48,70 +39,141 @@ end
    #gem 'protected_attributes', github: 'rails/protected_attributes'
    #################### /Rails 4.0 ####################

    # Gems used only for assets and not required
    # in production environments by default.
    group :assets do
    gem 'uglifier', '>= 1.3.0'
    gem 'handlebars_assets', '~> 0.8.1'
    gem 'compass-rails', github: 'ai/compass-rails', branch: 'rails4' #'>= 1.0.3'
    gem 'zurb-foundation', '>= 3.2.3'
    gem 'foundation-icons-sass-rails', '~> 2.0.0'
    end

    gem 'jquery-rails', '~> 2.1.4'

    # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
    gem 'turbolinks', '~> 0.6.1'

    # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
    gem 'jbuilder', '~> 0.9.1'

    gem 'json', '~> 1.7.6'
    # The Webserver
    gem 'puma', '~> 2.0.0.b4' # 1.6.3 has issues with NewRelic
    # The Database
    gem 'pg'
    # More power to the Database
    gem 'pg_power', '~> 1.3.0' #, github: 'acquaintable/pg_power', branch: 'rails4'
    # Allows PostgreSQLto use the new HSTORE from Rails 4
    gem 'activerecord-postgres-hstore', '0.5.2'
    # The Cache - Redis can back Object Caches, I18n, Session, HTTP Cache
    gem 'redis', '~> 3.0.2'
    gem 'redis-namespace', '~> 1.2.1'
    gem 'redis-rails'
    gem 'redis-store'
    # View Template Language
    gem 'slim', '~> 1.3.5'
    gem 'slim-rails', '~> 1.1.0'
    gem 'exception_notification', '~> 3.0.0', require: 'exception_notifier'
    # Assets stored on AWS S3
    gem 'aws-sdk', '~> 1.8.0'
    gem 'asset_sync', '~> 0.5.0'
    # Allows rack to rewrite requests, no need for Apache mod_rewrite
    gem 'rack-rewrite'
    # Neo4j REST API
    gem 'neography', '1.0.3'
    # Voting On Things
    gem 'thumbs_up', '~> 0.6.2'
    # Versioning Things and Soft-Deletes
    gem 'vestal_versions'
    # To avoid indecent exposure of instance variables in the view
    gem 'decent_exposure'
    # Base for JSON
    gem 'json', '~> 1.7.6'
    # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
    gem 'jbuilder', '~> 0.9.1'
    # Fast JSON Object parsing and marshalling
    gem 'oj'
    # Implant jQuery directly into the Asset Pipeline ========>
    gem 'jquery-rails', '~> 2.1.4'
    # Markdown Parser (for copy)
    gem 'redcarpet'
    # Our Queue
    gem 'sidekiq'
    gem 'sidekiq-failures'
    # Queue Manager
    gem 'hirefire-resource', '~> 0.0.2'
    # Third Party Email Service
    gem 'sendgrid', '>= 1.0.1'
    # Registration, Authentication, Invitation, Confirmation
    gem 'devise', github: 'idl3/devise', branch: 'rails4'
    gem 'devise_invitable', github: 'sunny36/devise_invitable', :ref => '5af50a925e0a41cc648b124ffe7de0f8f081481e'
    gem 'cancan', '>= 1.6.8'
    gem 'rolify', '>= 3.2.0'
    gem 'figaro', github: 'acquaintable/figaro', branch: 'rails4'
    gem 'devise-async'
    # Facebook Oauth
    gem 'koala', '~> 1.6.0'
    gem 'omniauth', '~> 1.1.1'
    gem 'omniauth-facebook', '~> 1.4.1'
    gem 'sendgrid', '>= 1.0.1'
    # Authorization
    gem 'cancan', '>= 1.6.8'
    gem 'rolify', '>= 3.2.0'
    # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
    gem 'turbolinks', '~> 0.6.1'
    # Errors
    gem 'exception_notification', '~> 3.0.0', require: 'exception_notifier'
    gem 'exceptional', '~> 2.0.33'
    # Code Metrics
    gem 'newrelic_rpm', '~> 3.5.5.540.dev'
    gem 'aws-sdk', '~> 1.8.0'
    gem 'asset_sync', '~> 0.5.0'
    # User Metrics
    gem 'km', '~> 1.1.3'
    gem 'exceptional', '~> 2.0.33'
    gem 'analytical'
    # But User Metrics from the client-side!
    gem 'event_tracker', github: 'acquaintable/event_tracker'
    # Geolocations
    gem 'geokit', '~> 1.6.5'
    gem 'geokit-rails3', github: 'acquaintable/geokit-rails3'
    gem 'hirefire-resource', '~> 0.0.2'
    # Mobile Response
    gem 'mobylette', '~> 3.3.2'
    gem 'redis', '~> 3.0.2'
    gem 'redis-namespace', '~> 1.2.1'
    gem 'sourcify', '~> 0.5.0'
    # Mobile Push
    gem 'urbanairship', '~> 2.2.0'
    # App, Service & Environment Config
    gem 'figaro', github: 'acquaintable/figaro', branch: 'rails4'
    # Stateful Behavior
    gem 'state_machine', '~> 1.1.2'
    # Find bad queries
    gem 'bullet', '~> 4.3.0'
    # Mini Controllers & tiny mounted Rack apps inside Rails for widgety things
    gem 'cells', '~> 3.8.6'#, :path => '/Users/pboling/Documents/src/other/cells' #:git => 'git://github.com/acquaintable/cells.git'
    #gem 'apotomo', '~> 1.2.3'
    # A/B Testing
    gem 'split', '~> 0.4.6'
    # XML Parsing
    gem 'nokogiri', '~> 1.5.6'
    # Abstraction Layer over the WebSocket protocol
    gem 'websocket', '~> 1.0.6'
    gem 'event_tracker', github: 'acquaintable/event_tracker'
    gem 'pg_power', '~> 1.3.0' #, github: 'acquaintable/pg_power', branch: 'rails4'
    gem 'sidekiq'
    # Yet another framework
    gem 'sinatra', :require => nil
    # The rails app administration tool
    gem 'rails_admin'
    # AJAX file upload
    gem 'remotipart'
    # Automated Sitemap and SEO
    gem 'sitemap_generator'
    # HTML5 Boilerplate
    gem 'html5-rails'
    # Possessive form of a string
    gem 'possessive'
    # To use dummy images built on-demand for rapid prototyping
    # Depends on an install of imagemagick and the rmagick gem
    # TODO:Verify Setup instructions for ImageMagick before uncommenting rmagick
    #gem 'rmagick'
    #gem 'dummy_image', :git => 'git://github.com/davelyon/dummy_image.git'

    # Peter Boling's gems:
    #################### Peter Boling's gems ####################
    # Debugging toolbar, heir of rack-bug
    gem 'rack-insight'
    # Add messages to your flash messaging stack whenever you need to, array-style
    gem 'stackable_flash'
    # Use the cookie for transporting the flash messages and javascript to render them into the view
    gem 'cacheable_flash'
    # Map any methods on any Ruby objects to a CSV export, and vice verse.
    gem 'csv_pirate', '~> 5.0.7'
    # Redirect all email in non-Production environments to alternate, safe, addresses
    gem 'sanitize_email', '~> 1.0.5'
    # Bit fields for Active Record - Follows conventions of standard boolean columns.
    gem 'flag_shih_tzu', '~> 0.3.2'
    # Views can be and should be 100% DRY
    gem 'dry_views', '~> 0.0.2'
    #################### /Peter Boling's gems ####################

    # Gems used only for assets and not required
    # in production environments by default.
    group :assets do
    gem 'uglifier', '>= 1.3.0'
    gem 'handlebars_assets', '~> 0.8.1'
    gem 'compass-rails', github: 'ai/compass-rails', branch: 'rails4' #'>= 1.0.3'
    gem 'compass-h5bp'
    gem 'zurb-foundation', '>= 3.2.3'
    gem 'foundation-icons-sass-rails', '~> 2.0.0'
    end

    group :development do
    gem 'quiet_assets', github: 'evrone/quiet_assets'
    @@ -122,6 +184,8 @@ group :development do
    gem 'haml2slim', '>= 0.4.6'
    gem 'haml', '>= 3.1.7'
    gem 'haml-rails', '>= 0.3.5'
    # Check for Security Holes
    gem 'brakeman'
    end

    group :development, :test do
    @@ -133,7 +197,20 @@ group :development, :test do
    gem 'parallel_tests', '~> 0.9.2'
    gem 'teabag', github: 'acquaintable/teabag'
    gem 'pry', '~> 0.9.10'
    gem 'pry-rails'
    gem 'pry-doc'
    gem 'pry-remote'
    # Guard
    gem 'guard'
    gem 'guard-spork'
    gem 'guard-rspec', '~> 2.3.3'
    gem 'rb-inotify', :require => false
    gem 'rb-fsevent', :require => false
    gem 'wdm', :platforms => [:mswin, :mingw], :require => false
    # Mac OS X Notification center
    gem 'terminal-notifier-guard'
    # Spork
    gem 'spork-rails'
    end

    group :test do
    @@ -146,6 +223,7 @@ group :test do
    gem 'shoulda-matchers', github: 'acquaintable/shoulda-matchers'
    gem 'bourne', github: 'thoughtbot/bourne'
    gem 'capybara', '>= 2.0.2'
    gem 'capybara-email'
    gem 'poltergeist', github: 'brutuscat/poltergeist'
    gem 'vcr', '~> 2.3.0'
    gem 'fakeweb', '~> 1.3.0'
  14. pboling created this gist Jan 18, 2013.
    157 changes: 157 additions & 0 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,157 @@
    ##### See Gemfile.md for detailed notes on specific gems #####
    source 'https://rubygems.org'

    # Gemfile.mine in root dir allows locally custom gems.
    # NOTE: Doing this will change the Gemfile.lock - commit with care.
    eval File.read(File.join(File.dirname(__FILE__), 'Gemfile.mine')) if File.exists? File.join(File.dirname(__FILE__), 'Gemfile.mine')

    ruby '1.9.3'
    gem 'puma', '~> 2.0.0.b4' # 1.6.3 has issues with NewRelic
    # This is our database adapter for postgres
    gem 'pg'
    # Allows PostgreSQLto use the new HSTORE from Rails 4
    gem 'activerecord-postgres-hstore', '0.5.2'
    # Neo4j REST API
    gem 'neography'
    # Voting On Things
    gem 'thumbs_up', '~> 0.6.2'

    #################### Rails 3.2 ####################
    # NOTE on branching: We are using the rails 4 track gems as much as possible,
    # because in most cases they retain support for Rails 3,
    # and there will fewer issues with upgrading to Rails 4 when the time comes.
    gem 'rails', '~> 3.2.11'
    gem 'simple_form', '~> 2.0.4'
    gem 'dismissible_helpers'
    group :assets do
    gem 'sprockets-rails', '~> 0.0.1'
    gem 'sass-rails', '~> 3.2.5'
    gem 'coffee-rails', '~> 3.2.2'
    end
    #################### /Rails 3.2 ####################

    #################### Rails 4.0 ####################
    #gem 'rails', github: 'rails/rails'
    #gem 'journey', github: 'rails/journey'
    #gem 'arel', github: 'rails/arel'
    #gem 'activerecord-deprecated_finders', github: 'rails/activerecord-deprecated_finders'
    #gem 'activerecord-session_store', github: 'rails/activerecord-session_store'
    #group :assets do
    # gem 'sprockets-rails', github: 'rails/sprockets-rails'
    # gem 'sass-rails', github: 'rails/sass-rails'
    # gem 'coffee-rails', github: 'rails/coffee-rails'
    #end
    #gem 'simple_form', github: 'plataformatec/simple_form', branch: 'rails_4'

    # TODO: These are deprecated functionality of Rails 3 removed from Rails4
    # We will use this to transition, but ultimately change our code to not rely on it
    #gem 'protected_attributes', github: 'rails/protected_attributes'
    #################### /Rails 4.0 ####################

    # Gems used only for assets and not required
    # in production environments by default.
    group :assets do
    gem 'uglifier', '>= 1.3.0'
    gem 'handlebars_assets', '~> 0.8.1'
    gem 'compass-rails', github: 'ai/compass-rails', branch: 'rails4' #'>= 1.0.3'
    gem 'zurb-foundation', '>= 3.2.3'
    gem 'foundation-icons-sass-rails', '~> 2.0.0'
    end

    gem 'jquery-rails', '~> 2.1.4'

    # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
    gem 'turbolinks', '~> 0.6.1'

    # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
    gem 'jbuilder', '~> 0.9.1'

    gem 'json', '~> 1.7.6'
    gem 'slim', '~> 1.3.5'
    gem 'slim-rails', '~> 1.1.0'
    gem 'exception_notification', '~> 3.0.0', require: 'exception_notifier'
    gem 'devise', github: 'idl3/devise', branch: 'rails4'
    gem 'devise_invitable', github: 'sunny36/devise_invitable', :ref => '5af50a925e0a41cc648b124ffe7de0f8f081481e'
    gem 'cancan', '>= 1.6.8'
    gem 'rolify', '>= 3.2.0'
    gem 'figaro', github: 'acquaintable/figaro', branch: 'rails4'
    gem 'koala', '~> 1.6.0'
    gem 'omniauth', '~> 1.1.1'
    gem 'omniauth-facebook', '~> 1.4.1'
    gem 'sendgrid', '>= 1.0.1'
    gem 'newrelic_rpm', '~> 3.5.5.540.dev'
    gem 'aws-sdk', '~> 1.8.0'
    gem 'asset_sync', '~> 0.5.0'
    gem 'km', '~> 1.1.3'
    gem 'exceptional', '~> 2.0.33'
    gem 'geokit', '~> 1.6.5'
    gem 'geokit-rails3', github: 'acquaintable/geokit-rails3'
    gem 'hirefire-resource', '~> 0.0.2'
    gem 'mobylette', '~> 3.3.2'
    gem 'redis', '~> 3.0.2'
    gem 'redis-namespace', '~> 1.2.1'
    gem 'sourcify', '~> 0.5.0'
    gem 'urbanairship', '~> 2.2.0'
    gem 'state_machine', '~> 1.1.2'
    gem 'bullet', '~> 4.3.0'
    gem 'cells', '~> 3.8.6'#, :path => '/Users/pboling/Documents/src/other/cells' #:git => 'git://github.com/acquaintable/cells.git'
    #gem 'apotomo', '~> 1.2.3'
    gem 'split', '~> 0.4.6'
    gem 'nokogiri', '~> 1.5.6'
    gem 'websocket', '~> 1.0.6'
    gem 'event_tracker', github: 'acquaintable/event_tracker'
    gem 'pg_power', '~> 1.3.0' #, github: 'acquaintable/pg_power', branch: 'rails4'
    gem 'sidekiq'
    gem 'sinatra', :require => nil

    # Peter Boling's gems:
    gem 'rack-insight'
    gem 'stackable_flash'
    gem 'cacheable_flash'
    gem 'csv_pirate', '~> 5.0.7'
    gem 'sanitize_email', '~> 1.0.5'
    gem 'flag_shih_tzu', '~> 0.3.2'
    gem 'dry_views', '~> 0.0.2'

    group :development do
    gem 'quiet_assets', github: 'evrone/quiet_assets'
    gem 'better_errors', '>= 0.3.2'
    gem 'annotate', '>=2.5.0'

    # Allows us to magically convert directories of haml templates to slim templates
    gem 'haml2slim', '>= 0.4.6'
    gem 'haml', '>= 3.1.7'
    gem 'haml-rails', '>= 0.3.5'
    end

    group :development, :test do
    gem 'powder', '~> 0.1.8'
    gem 'rails_best_practices', '~> 1.13.2'
    #gem 'ruby-prof', '~> 0.11.3', require: false
    gem 'rspec-rails', '>= 2.12'
    gem 'fabrication', '>= 2.5.2'
    gem 'parallel_tests', '~> 0.9.2'
    gem 'teabag', github: 'acquaintable/teabag'
    gem 'pry', '~> 0.9.10'
    gem 'guard-rspec', '~> 2.3.3'
    end

    group :test do
    gem 'remarkable_activerecord', '>=4.0.0.alpha2'
    gem 'cane', '~> 2.5.0'
    gem 'test-unit', '~> 2.5.3'
    gem 'mocha', '0.13.1', require: false
    #gem 'rspec-apotomo', :git => 'git://github.com/kristianmandrup/rspec-apotomo.git', :ref => '03a2ac2f526fa668ee3a4bdb09cbc41693931ca3'
    gem 'rspec-cells', github: 'acquaintable/rspec-cells'
    gem 'shoulda-matchers', github: 'acquaintable/shoulda-matchers'
    gem 'bourne', github: 'thoughtbot/bourne'
    gem 'capybara', '>= 2.0.2'
    gem 'poltergeist', github: 'brutuscat/poltergeist'
    gem 'vcr', '~> 2.3.0'
    gem 'fakeweb', '~> 1.3.0'
    gem 'autotest', '4.4.6'
    gem 'autotest-rails', '4.1.2'
    gem 'simplecov', '~> 0.7.1', require: false
    gem 'database_cleaner', '>= 0.9.1'
    gem 'email_spec', '>= 1.4.0'
    end