-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gemfile
executable file
·203 lines (143 loc) · 5.47 KB
/
Gemfile
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
source 'https://rubygems.org'
# Sometime in the next year, upgrade to Rails 4, which shouldn't be very painful because we already use stong parameters in most places
gem 'rails', '3.2.17'
# For deployment and remote control of the server (e.g. cap deploy)
gem 'capistrano', '~> 2.15.5'
# Rake tasks and daemonization; all of our async code is in the daemon: lib/daemons/notifier.rb
gem 'daemons-rails'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
# HTTP requests
gem "typhoeus"
# XML parsing, used for KML processing (or maybe not used at all)
gem 'nokogiri'
# Postgres DB adapter
gem 'pg'
# authentication
gem 'devise'
# use of remote authentication providers like Facebook
gem 'omniauth'
gem 'omniauth-facebook'
# soft deletes
gem 'paranoia', '~> 1.0'
# syntactic sugar for form creation
gem 'simple_form', '2.1.1'
# centralized authentication and access control (see ability.rb); cancan is showing signs of being an abandoned project, consider replacing it with pundit
gem 'cancancan'
# date and time validation
gem 'validates_timeliness', '~> 3.0'
# url validation
gem "validate_url", :git => "git://github.com/bteitelb/validates_url.git"
# controller-based taining and filtering of parameters used for mass assignment
gem 'strong_parameters'
# strip leading/trailing spaces; turn empty strings to nil, etc
gem 'attribute_normalizer'
# used to normalize domains to their top-level domain name
gem 'public_suffix'
# API access to geocoding services (we are using Google's); see geocoded_by and reverse_geocoded_by in the Location model
gem 'geocoder'
# generate and retrieve maps from the Google static maps service
gem 'googlestaticmap'
# get timezone from lon/lat; used to assign a TZ to each Location
gem 'google_timezone'
# unique IDs for records (has_uuid in models)
gem 'uuidtools'
# activity tracking for models (this is what's behind the feeds)
gem 'public_activity'
# access the S3 API from Ruby
gem 'aws-sdk'
# attachment handling (uploaded photos)
gem "paperclip", "~> 3.0"
# fancy image optimization (requires a bunch of binaries)
gem 'image_optim'
=begin
sudo yum install -y advancecomp gifsicle jhead libjpeg optipng jpegoptim
cd /tmp
curl -O http://downloads.sourceforge.net/project/pmt/pngcrush/1.7.73/pngcrush-1.7.73.tar.xz
tar xvf pngcrush-1.7.73.tar.gz
cd pngcrush-1.7.73
make && sudo cp -f pngcrush /usr/local/bin
=end
gem 'paperclip-optimizer', :git => "git://github.com/janfoeh/paperclip-optimizer.git"
# state machine support for attendances (not really in use)
gem 'state_machine'
# convert markdown to HTML
gem 'bluecloth'
# self-descriptive natural language helpers
gem 'verbs'
gem 'possessive'
# access the Nexmo API from Ruby
gem 'nexmo'
# send email when there is an exception on the server
gem 'exception_notification'
# stripe payment system
# gem 'stripe', :git => 'https://github.com/stripe/stripe-ruby'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
# not used; I prefer to code directly in JavaScript
gem 'coffee-rails', '~> 3.2.1'
# compile Bootstrap asset files from LESS into CSS and include in the asset pipeline
gem 'less-rails-bootstrap', '3.0.4'
# awesome icons
gem 'font-awesome-rails'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
# Javascript minimization
gem 'uglifier', '>= 1.0.3'
# compile Handlebars.js templates from app/assets/javascripts/templates and include them in the asset pipeline
gem 'handlebars_assets'
end
# fancy printing in the console (pp)
gem 'awesome_print'
# include JQuery and rails-ujs in assets
gem 'jquery-rails'
group :development do
# a web server
gem 'thin'
# web server agnostic rack middleware for defining and applying rewrite rules; used in dev to rewrite system image paths to production; obsolete now that we have all images on S3; FIXME DEADCODE
gem 'rack-rewrite'
# generate test data from old db:seed task
gem 'factory_girl_rails'
# unused test support
gem 'rspec-rails', '~> 2.13'
# start / stop / restart unicorn web servers through Capistrano
gem 'capistrano-unicorn', :require => false
# handle email in development, reading it through the admin dash (you still need to run the notifier to make sure email is sent)
gem 'letter_opener_web', '~> 1.1.0'
# debugging info and textmate links in browser on exception
gem 'rails-footnotes', '4.1.0'
# turns off the Rails asset pipeline log
gem 'quiet_assets'
gem 'byebug'
gem 'pry'
end
group :production do
# monitor the notifier daemon, restarting it as necessary and sending email (see god.rb); could/should also monitor the unicorns
gem 'god'
# embedded V8 Javascript interpreter
gem 'therubyracer'
# run JavaScript code from Ruby
gem 'execjs'
# the webserver; consider switching to puma
gem 'unicorn'
# Google analytics for all pages
gem 'rack-google_analytics', :require => "rack/google_analytics"
#event tracking & user communication
gem 'intercom-rails'
gem 'intercom'
end
group :test do
gem 'capybara', '1.1.2'
gem 'simplecov', :require => false
end
group :staging do
gem 'sanitize_email'
# handle email in staging, reading it through the admin dash (you still need to run the notifier to make sure email is sent)
gem 'letter_opener_web', '~> 1.1.0'
end
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# To use Jbuilder templates for JSON
# gem 'jbuilder'
gem 'will_paginate'