summaryrefslogtreecommitdiff
path: root/Gemfile
blob: 9d1870483579cba460713e8587daae735a27f7dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
source 'https://rubygems.org'

require File.expand_path('../lib/gemfile_tools.rb', __FILE__)

## CORE
gem "rails", "~> 3.2.21"
gem "couchrest", "~> 1.1.3"
gem "couchrest_model", "~> 2.0.0"
if ARGV.grep(/assets:precompile/).empty?
  gem "couchrest_session_store", "= 0.3.0"
end

## AUTHENTICATION
gem "ruby-srp", "~> 0.2.1"
gem "rails_warden"

## LOCALIZATION
gem 'http_accept_language'
gem 'rails-i18n'  # locale files for built-in validation messages and times
                  # https://github.com/svenfuchs/rails-i18n
                  # for a list of keys:
                  # https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/en.yml

## VIEWS
gem 'kaminari', "0.13.0" # for pagination. trying 0.13.0 as there seem to be
                         # issues with 0.14.0 when using couchrest
gem 'rdiscount'   # for rendering .md templates

## ASSETS
gem "jquery-rails"
gem "simple_form"
gem 'client_side_validations'
gem 'client_side_validations-simple_form'
gem "haml-rails", "= 0.4.0"   # The last version of haml-rails to support Rails 3.
gem "bootstrap-sass", "= 2.3.2.2" # The last 2.x version. Bootstrap-sass versions
                                  # tracks the version of Bootstrap. We currently require
                                  # Bootstrap v2 because client side validations is incompatible
                                  # with Bootstrap v3. When upgrading to Rails 4, see
                                  # https://github.com/twbs/bootstrap-sass
gem "sass-rails", "~> 3.2.5"  # Only version supported by bootstrap-sass 2.3.2.2
gem 'quiet_assets'            # stops logging all the asset requests
group :production do
  gem "uglifier", "~> 1.2.7"    # javascript compression https://github.com/lautis/uglifier
                                # this must not be included in development mode, or js
                                # will get included twice.
  gem 'therubyracer', "~> 0.10.2", :platforms => :ruby
  #   ^^ See https://github.com/sstephenson/execjs#readme
  #      for list of supported runtimes.
end

## MISC
gem 'certificate_authority', # unreleased so far ... but leap_web_certs need it
  :git => 'https://github.com/cchandler/certificate_authority.git'

##
## ENVIRONMENT SPECIFIC GEMS
##

group :test do
  # integration testing
  gem 'capybara', require: false
  gem 'poltergeist'         # headless js
  gem 'launchy'             # save_and_open_page
  gem 'phantomjs-binaries'  # binaries specific to the os

  # moching and stubbing
  gem 'mocha', '~> 0.13.0', :require => false
  gem 'minitest-stub-const' # why?

  # generating test data
  gem 'factory_girl_rails'  # test data factories
  gem 'faker'               # names and numbers for test data

  # billing tests
  gem 'fake_braintree', require: false

  # we use cucumber to document and test the api
  gem 'cucumber-rails', require: false
end

group :test, :development do
  gem 'thin'
  gem 'i18n-missing_translations'
end

group :production do
  gem 'SyslogLogger', '~> 2.0'
end

group :debug do
  gem 'debugger', :platforms => :mri_19
end

##
## OPTIONAL GEMS AND ENGINES
##

group :test do
  enabled_engines('test').each do |gem_name, gem_dir|
    gem gem_name, :path => gem_dir
  end
end

group :development do
  enabled_engines('development').each do |gem_name, gem_dir|
    gem gem_name, :path => gem_dir
  end
end

group :production do
  enabled_engines('production').each do |gem_name, gem_dir|
    gem gem_name, :path => gem_dir
  end
end

custom_gems.each do |gem_name, gem_dir|
  gem gem_name, :path => gem_dir
end