summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzul <azul@riseup.net>2016-03-23 21:26:29 +0100
committerAzul <azul@riseup.net>2016-05-02 08:16:15 -0300
commit85113ca0954d076ad0e2e8514be2968d34eb3e7b (patch)
tree7ab5dfc859ffb213f8936a6ab8915fc51be2d50e
parent3a5d8543d710bd69eb7bf908f3aef07db72798a9 (diff)
upgrade: use recent gems - broken
We can move to rails 4.2 with client_side_validations 4.2, simple_form 3.2 and bootstrap 3 Now we only need to migrate to these new dependencies. ;)
-rw-r--r--Gemfile35
-rw-r--r--Gemfile.lock359
-rw-r--r--Gemfile.orig119
3 files changed, 330 insertions, 183 deletions
diff --git a/Gemfile b/Gemfile
index a38d1e9..5b5a33b 100644
--- a/Gemfile
+++ b/Gemfile
@@ -4,12 +4,12 @@ require File.expand_path('../lib/gemfile_tools.rb', __FILE__)
## CORE
# rake 11.x throws lots of warnings about rails 3.2 code
-gem "rake", "~> 10.4"
-gem "rails", "~> 3.2.21"
+gem "rake"
+gem "rails", "~> 4.2.6"
gem "couchrest", "~> 1.1.3"
gem "couchrest_model", "~> 2.0.0"
if ARGV.grep(/assets:precompile/).empty?
- gem "couchrest_session_store", "= 0.3.1"
+ gem "couchrest_session_store", "~> 0.4.1"
end
## AUTHENTICATION
@@ -30,8 +30,7 @@ gem 'rails-i18n' # locale files for built-in validation messages and times
gem 'common_languages', :path => 'vendor/gems/common_languages'
## 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 'kaminari'
gem 'rdiscount' # for rendering .md templates
## ASSETS
@@ -39,19 +38,13 @@ 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 "haml-rails"
+gem "bootstrap-sass"
+gem "sass-rails"
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.12.2", :platforms => :ruby
+ gem "uglifier"
+ gem 'therubyracer', :platforms => :ruby
# ^^ See https://github.com/sstephenson/execjs#readme
# for list of supported runtimes.
end
@@ -68,7 +61,7 @@ group :test do
gem 'phantomjs-binaries' # binaries specific to the os
# moching and stubbing
- gem 'mocha', '~> 0.13.0', :require => false
+ gem 'mocha', :require => false
gem 'minitest-stub-const' # why?
# generating test data
@@ -93,17 +86,13 @@ group :production do
end
group :development do
- gem "better_errors", '1.1.0'
+ gem "better_errors"
gem "binding_of_caller"
end
group :test, :debug do
# bundler on jessie doesn't support `:platforms => :ruby_21`
- if RUBY_VERSION < "2.0"
- gem 'debugger'
- else
- gem 'byebug'
- end
+ gem 'byebug'
end
##
diff --git a/Gemfile.lock b/Gemfile.lock
index af414c1..3344b5c 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,13 +1,13 @@
PATH
remote: engines/billing
specs:
- leap_web_billing (0.6.0)
+ leap_web_billing (0.8.0)
braintree
PATH
remote: engines/support
specs:
- leap_web_help (0.6.0)
+ leap_web_help (0.8.0)
PATH
remote: vendor/gems/certificate_authority
@@ -26,58 +26,75 @@ GEM
remote: https://rubygems.org/
specs:
SyslogLogger (2.0)
- actionmailer (3.2.22.2)
- actionpack (= 3.2.22.2)
- mail (~> 2.5.4)
- actionpack (3.2.22.2)
- activemodel (= 3.2.22.2)
- activesupport (= 3.2.22.2)
- builder (~> 3.0.0)
+ actionmailer (4.2.6)
+ actionpack (= 4.2.6)
+ actionview (= 4.2.6)
+ activejob (= 4.2.6)
+ mail (~> 2.5, >= 2.5.4)
+ rails-dom-testing (~> 1.0, >= 1.0.5)
+ actionpack (4.2.6)
+ actionview (= 4.2.6)
+ activesupport (= 4.2.6)
+ rack (~> 1.6)
+ rack-test (~> 0.6.2)
+ rails-dom-testing (~> 1.0, >= 1.0.5)
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
+ actionview (4.2.6)
+ activesupport (= 4.2.6)
+ builder (~> 3.1)
erubis (~> 2.7.0)
- journey (~> 1.0.4)
- rack (~> 1.4.5)
- rack-cache (~> 1.2)
- rack-test (~> 0.6.1)
- sprockets (~> 2.2.1)
- activemodel (3.2.22.2)
- activesupport (= 3.2.22.2)
- builder (~> 3.0.0)
- activerecord (3.2.22.2)
- activemodel (= 3.2.22.2)
- activesupport (= 3.2.22.2)
- arel (~> 3.0.2)
- tzinfo (~> 0.3.29)
- activeresource (3.2.22.2)
- activemodel (= 3.2.22.2)
- activesupport (= 3.2.22.2)
- activesupport (3.2.22.2)
- i18n (~> 0.6, >= 0.6.4)
- multi_json (~> 1.0)
- addressable (2.3.6)
- arel (3.0.3)
- better_errors (1.1.0)
+ rails-dom-testing (~> 1.0, >= 1.0.5)
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
+ activejob (4.2.6)
+ activesupport (= 4.2.6)
+ globalid (>= 0.3.0)
+ activemodel (4.2.6)
+ activesupport (= 4.2.6)
+ builder (~> 3.1)
+ activerecord (4.2.6)
+ activemodel (= 4.2.6)
+ activesupport (= 4.2.6)
+ arel (~> 6.0)
+ activesupport (4.2.6)
+ i18n (~> 0.7)
+ json (~> 1.7, >= 1.7.7)
+ minitest (~> 5.1)
+ thread_safe (~> 0.3, >= 0.3.4)
+ tzinfo (~> 1.1)
+ addressable (2.4.0)
+ arel (6.0.3)
+ autoprefixer-rails (6.3.6)
+ execjs
+ better_errors (2.1.1)
coderay (>= 1.0.0)
erubis (>= 2.6.6)
+ rack (>= 0.9.0)
binding_of_caller (0.7.2)
debug_inspector (>= 0.0.1)
- bootstrap-sass (2.3.2.2)
- sass (~> 3.2)
- braintree (2.48.1)
+ bootstrap-sass (3.3.6)
+ autoprefixer-rails (>= 5.2.1)
+ sass (>= 3.3.4)
+ braintree (2.60.0)
builder (>= 2.0.0)
- builder (3.0.4)
- byebug (8.2.1)
- capybara (2.4.4)
+ builder (3.2.2)
+ byebug (8.2.5)
+ capybara (2.7.1)
+ addressable
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
xpath (~> 2.0)
- client_side_validations (3.2.6)
- client_side_validations-simple_form (2.1.0)
- client_side_validations (~> 3.2.5)
- simple_form (~> 2.1.0)
+ client_side_validations (4.2.3)
+ jquery-rails (>= 3.1.2, < 5.0.0)
+ js_regex (~> 1.0, >= 1.0.9)
+ rails (>= 4.0.0, < 4.3.0)
+ client_side_validations-simple_form (3.2.3)
+ client_side_validations (~> 4.2.3)
+ simple_form (~> 3.2)
cliver (0.3.2)
- coderay (1.1.0)
+ coderay (1.1.1)
+ concurrent-ruby (1.0.1)
couchrest (1.1.3)
mime-types (~> 1.15)
multi_json (~> 1.0)
@@ -87,175 +104,197 @@ GEM
couchrest (~> 1.1.3)
mime-types (>= 1.15)
tzinfo (>= 0.3.22)
- couchrest_session_store (0.3.1)
- actionpack (~> 3.0)
+ couchrest_session_store (0.4.1)
+ actionpack (~> 4.0)
couchrest
couchrest_model
- cucumber (1.3.17)
+ cucumber (2.3.3)
builder (>= 2.1.2)
+ cucumber-core (~> 1.4.0)
+ cucumber-wire (~> 0.0.1)
diff-lcs (>= 1.1.3)
- gherkin (~> 2.12)
+ gherkin (~> 3.2.0)
multi_json (>= 1.7.5, < 2.0)
- multi_test (>= 0.1.1)
- cucumber-rails (1.4.2)
+ multi_test (>= 0.1.2)
+ cucumber-core (1.4.0)
+ gherkin (~> 3.2.0)
+ cucumber-rails (1.4.3)
capybara (>= 1.1.2, < 3)
- cucumber (>= 1.3.8, < 2)
- mime-types (>= 1.16, < 3)
+ cucumber (>= 1.3.8, < 3)
+ mime-types (>= 1.16, < 4)
nokogiri (~> 1.5)
- rails (>= 3, < 5)
- daemons (1.1.9)
+ railties (>= 3, < 5)
+ cucumber-wire (0.0.1)
+ daemons (1.2.3)
debug_inspector (0.0.2)
diff-lcs (1.2.5)
erubis (2.7.0)
- eventmachine (1.0.3)
- execjs (2.2.2)
- factory_girl (4.5.0)
+ eventmachine (1.2.0.1)
+ execjs (2.6.0)
+ factory_girl (4.7.0)
activesupport (>= 3.0.0)
- factory_girl_rails (4.5.0)
- factory_girl (~> 4.5.0)
+ factory_girl_rails (4.7.0)
+ factory_girl (~> 4.7.0)
railties (>= 3.0.0)
- fake_braintree (0.7.0)
+ fake_braintree (0.8.0)
activesupport
braintree (~> 2.32)
- capybara (>= 2.0.3)
+ capybara (>= 2.2.0)
sinatra
- faker (1.4.3)
+ faker (1.6.3)
i18n (~> 0.5)
- ffi (1.9.6)
- gherkin (2.12.2)
- multi_json (~> 1.3)
- haml (4.0.6)
+ ffi (1.9.10)
+ gherkin (3.2.0)
+ globalid (0.3.6)
+ activesupport (>= 4.1.0)
+ haml (4.0.7)
tilt
- haml-rails (0.4)
- actionpack (>= 3.1, < 4.1)
- activesupport (>= 3.1, < 4.1)
- haml (>= 3.1, < 4.1)
- railties (>= 3.1, < 4.1)
- hike (1.2.3)
- http_accept_language (2.0.2)
+ haml-rails (0.9.0)
+ actionpack (>= 4.0.1)
+ activesupport (>= 4.0.1)
+ haml (>= 4.0.6, < 5.0)
+ html2haml (>= 1.0.1)
+ railties (>= 4.0.1)
+ html2haml (2.0.0)
+ erubis (~> 2.7.0)
+ haml (~> 4.0.0)
+ nokogiri (~> 1.6.0)
+ ruby_parser (~> 3.5)
+ http_accept_language (2.0.5)
i18n (0.7.0)
i18n-missing_translations (0.0.1)
- journey (1.0.4)
- jquery-rails (3.1.2)
- railties (>= 3.0, < 5.0)
+ jquery-rails (4.1.1)
+ rails-dom-testing (>= 1, < 3)
+ railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
+ js_regex (1.0.14)
+ regexp_parser (= 0.3.3)
json (1.8.3)
- kaminari (0.13.0)
+ kaminari (0.16.3)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
- railties (>= 3.0.0)
launchy (2.4.3)
addressable (~> 2.3)
- libv8 (3.16.14.11)
- mail (2.5.4)
- mime-types (~> 1.16)
- treetop (~> 1.4.8)
+ libv8 (3.16.14.15)
+ loofah (2.0.3)
+ nokogiri (>= 1.5.9)
+ mail (2.6.4)
+ mime-types (>= 1.16, < 4)
metaclass (0.0.4)
method_source (0.8.2)
mime-types (1.25.1)
- mini_portile (0.6.1)
- minitest-stub-const (0.2)
- mocha (0.13.3)
+ mini_portile2 (2.0.0)
+ minitest (5.8.4)
+ minitest-stub-const (0.5)
+ mocha (1.1.0)
metaclass (~> 0.0.1)
- multi_json (1.11.2)
- multi_test (0.1.1)
- nokogiri (1.6.5)
- mini_portile (~> 0.6.0)
- phantomjs-binaries (1.9.2.4)
+ multi_json (1.11.3)
+ multi_test (0.1.2)
+ nokogiri (1.6.7.2)
+ mini_portile2 (~> 2.0.0.rc2)
+ phantomjs-binaries (2.1.1.0)
sys-uname (= 0.9.0)
- poltergeist (1.5.1)
+ poltergeist (1.9.0)
capybara (~> 2.1)
cliver (~> 0.3.1)
multi_json (~> 1.0)
websocket-driver (>= 0.2.0)
- polyglot (0.3.5)
- pry (0.10.1)
+ pry (0.10.3)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
- quiet_assets (1.0.3)
+ quiet_assets (1.1.0)
railties (>= 3.1, < 5.0)
- rack (1.4.7)
- rack-cache (1.6.1)
- rack (>= 0.4)
+ rack (1.6.4)
rack-protection (1.5.3)
rack
- rack-ssl (1.3.4)
- rack
rack-test (0.6.3)
rack (>= 1.0)
- rails (3.2.22.2)
- actionmailer (= 3.2.22.2)
- actionpack (= 3.2.22.2)
- activerecord (= 3.2.22.2)
- activeresource (= 3.2.22.2)
- activesupport (= 3.2.22.2)
- bundler (~> 1.0)
- railties (= 3.2.22.2)
- rails-i18n (3.0.1)
- i18n (~> 0.5)
- rails (>= 3.0.0, < 4.0.0)
+ rails (4.2.6)
+ actionmailer (= 4.2.6)
+ actionpack (= 4.2.6)
+ actionview (= 4.2.6)
+ activejob (= 4.2.6)
+ activemodel (= 4.2.6)
+ activerecord (= 4.2.6)
+ activesupport (= 4.2.6)
+ bundler (>= 1.3.0, < 2.0)
+ railties (= 4.2.6)
+ sprockets-rails
+ rails-deprecated_sanitizer (1.0.3)
+ activesupport (>= 4.2.0.alpha)
+ rails-dom-testing (1.0.7)
+ activesupport (>= 4.2.0.beta, < 5.0)
+ nokogiri (~> 1.6.0)
+ rails-deprecated_sanitizer (>= 1.0.1)
+ rails-html-sanitizer (1.0.3)
+ loofah (~> 2.0)
+ rails-i18n (4.0.8)
+ i18n (~> 0.7)
+ railties (~> 4.0)
rails_warden (0.5.8)
warden (>= 1.0.0)
- railties (3.2.22.2)
- actionpack (= 3.2.22.2)
- activesupport (= 3.2.22.2)
- rack-ssl (~> 1.3.2)
+ railties (4.2.6)
+ actionpack (= 4.2.6)
+ activesupport (= 4.2.6)
rake (>= 0.8.7)
- rdoc (~> 3.4)
- thor (>= 0.14.6, < 2.0)
- rake (10.5.0)
- rdiscount (2.1.7.1)
- rdoc (3.12.2)
- json (~> 1.4)
+ thor (>= 0.18.1, < 2.0)
+ rake (11.1.2)
+ rdiscount (2.1.8)
ref (2.0.0)
+ regexp_parser (0.3.3)
rest-client (1.6.9)
mime-types (~> 1.16)
ruby-srp (0.2.1)
- sass (3.4.9)
- sass-rails (3.2.6)
- railties (~> 3.2.0)
- sass (>= 3.1.10)
- tilt (~> 1.3)
- simple_form (2.1.2)
- actionpack (~> 3.0)
- activemodel (~> 3.0)
- sinatra (1.4.5)
- rack (~> 1.4)
+ ruby_parser (3.8.1)
+ sexp_processor (~> 4.1)
+ sass (3.4.22)
+ sass-rails (5.0.4)
+ railties (>= 4.0.0, < 5.0)
+ sass (~> 3.1)
+ sprockets (>= 2.8, < 4.0)
+ sprockets-rails (>= 2.0, < 4.0)
+ tilt (>= 1.1, < 3)
+ sexp_processor (4.7.0)
+ simple_form (3.2.1)
+ actionpack (> 4, < 5.1)
+ activemodel (> 4, < 5.1)
+ sinatra (1.4.7)
+ rack (~> 1.5)
rack-protection (~> 1.4)
- tilt (~> 1.3, >= 1.3.4)
+ tilt (>= 1.3, < 3)
slop (3.6.0)
- sprockets (2.2.3)
- hike (~> 1.2)
- multi_json (~> 1.0)
- rack (~> 1.0)
- tilt (~> 1.1, != 1.3.0)
+ sprockets (3.6.0)
+ concurrent-ruby (~> 1.0)
+ rack (> 1, < 3)
+ sprockets-rails (3.0.4)
+ actionpack (>= 4.0)
+ activesupport (>= 4.0)
+ sprockets (>= 3.0.0)
sys-uname (0.9.0)
ffi (>= 1.0.0)
therubyracer (0.12.2)
libv8 (~> 3.16.14.0)
ref
- thin (1.6.3)
+ thin (1.6.4)
daemons (~> 1.0, >= 1.0.9)
- eventmachine (~> 1.0)
+ eventmachine (~> 1.0, >= 1.0.4)
rack (~> 1.0)
thor (0.19.1)
- tilt (1.4.1)
- treetop (1.4.15)
- polyglot
- polyglot (>= 0.3.1)
- tzinfo (0.3.47)
- uglifier (1.2.7)
- execjs (>= 0.3.0)
- multi_json (~> 1.3)
- valid_email (0.0.7)
+ thread_safe (0.3.5)
+ tilt (2.0.2)
+ tzinfo (1.2.2)
+ thread_safe (~> 0.1)
+ uglifier (3.0.0)
+ execjs (>= 0.3.0, < 3)
+ valid_email (0.0.13)
activemodel
- mail
- warden (1.2.3)
+ mail (~> 2.6.1)
+ warden (1.2.6)
rack (>= 1.0)
- websocket-driver (0.5.1)
+ websocket-driver (0.6.3)
websocket-extensions (>= 0.1.0)
- websocket-extensions (0.1.1)
+ websocket-extensions (0.1.2)
xpath (2.0.0)
nokogiri (~> 1.3)
@@ -264,9 +303,9 @@ PLATFORMS
DEPENDENCIES
SyslogLogger (~> 2.0)
- better_errors (= 1.1.0)
+ better_errors
binding_of_caller
- bootstrap-sass (= 2.3.2.2)
+ bootstrap-sass
byebug
capybara
certificate_authority!
@@ -275,36 +314,36 @@ DEPENDENCIES
common_languages!
couchrest (~> 1.1.3)
couchrest_model (~> 2.0.0)
- couchrest_session_store (= 0.3.1)
+ couchrest_session_store (~> 0.4.1)
cucumber-rails
factory_girl_rails
fake_braintree
faker
- haml-rails (= 0.4.0)
+ haml-rails
http_accept_language
i18n-missing_translations
jquery-rails
- kaminari (= 0.13.0)
+ kaminari
launchy
leap_web_billing!
leap_web_help!
minitest-stub-const
- mocha (~> 0.13.0)
+ mocha
phantomjs-binaries
poltergeist
pry
quiet_assets
- rails (~> 3.2.21)
+ rails (~> 4.2.6)
rails-i18n
rails_warden
- rake (~> 10.4)
+ rake
rdiscount
ruby-srp (~> 0.2.1)
- sass-rails (~> 3.2.5)
+ sass-rails
simple_form
- therubyracer (~> 0.12.2)
+ therubyracer
thin
- uglifier (~> 1.2.7)
+ uglifier
valid_email
BUNDLED WITH
diff --git a/Gemfile.orig b/Gemfile.orig
new file mode 100644
index 0000000..b7e83aa
--- /dev/null
+++ b/Gemfile.orig
@@ -0,0 +1,119 @@
+source 'https://rubygems.org'
+
+require File.expand_path('../lib/gemfile_tools.rb', __FILE__)
+
+## CORE
+# rake 11.x throws lots of warnings about rails 3.2 code
+gem "rake"
+gem "rails", "~> 4.2.6"
+gem "couchrest", "~> 1.1.3"
+gem "couchrest_model", "~> 2.0.0"
+if ARGV.grep(/assets:precompile/).empty?
+<<<<<<< HEAD
+ gem "couchrest_session_store", "= 0.3.1"
+=======
+ gem "couchrest_session_store", "= 0.4.0",
+ path: '../couchrest_session_store'
+>>>>>>> upgrade: use recent gems - broken
+end
+
+## AUTHENTICATION
+gem "ruby-srp", "~> 0.2.1"
+gem "rails_warden"
+
+## CRYPTO
+# we need certificate_authority v2.0, but was never released to rubygems,
+# and travis does not work well with github sources, so vendored here:
+gem 'certificate_authority', :path => 'vendor/gems/certificate_authority'
+
+## 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
+gem 'common_languages', :path => 'vendor/gems/common_languages'
+
+## VIEWS
+gem 'kaminari'
+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"
+gem "bootstrap-sass"
+gem "sass-rails"
+gem 'quiet_assets' # stops logging all the asset requests
+group :production do
+ gem "uglifier"
+ gem 'therubyracer', :platforms => :ruby
+ # ^^ See https://github.com/sstephenson/execjs#readme
+ # for list of supported runtimes.
+end
+
+##
+## 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', :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'
+ gem 'pry'
+end
+
+group :production do
+ gem 'SyslogLogger', '~> 2.0'
+end
+
+group :development do
+ gem "better_errors"
+ gem "binding_of_caller"
+end
+
+group :test, :debug do
+ # bundler on jessie doesn't support `:platforms => :ruby_21`
+ gem 'byebug'
+end
+
+##
+## OPTIONAL GEMS AND ENGINES
+##
+
+enabled_engines.each do |name, gem_info|
+ gem gem_info[:name], :path => gem_info[:path], :groups => gem_info[:env]
+end
+
+custom_gems.each do |name, gem_info|
+ gem gem_info[:name], :path => gem_info[:path]
+end
+
+##
+## DEPENDENCIES FOR OPTIONAL ENGINES
+##
+
+gem 'valid_email' # used by leap_web_help