-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gemfile
80 lines (74 loc) · 3.08 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
source 'http://rubygems.org'
group :runtime do
# We bundle both AS and extlib while extlib compatibility needs to be kept around.
# require 'dm-core' will ensure that only one is activated at any time though.
# This is done by trying to require AS components and fallback to requiring
# extlib in case a LoadError was rescued when requiring AS code.
#
# Due to bundle exec activating all groups in the Gemfile, it's recommended to run
#
# bundle install --without quality
#
# to have a development environment that is able to run the specs. The problem is that
# metric_fu activates active_support=2.2.3 if we comment out the gem 'activesupport'
# declaration - have a look below for why we would want to do that (and a bit later, for
# why that's actually not *strictly* necessary, but recommended)
#
# To run the specs using AS, leave this Gemfile as it is and just run
#
# bundle install --without qality
# ADAPTERS=sqlite3 bundle exec rake spec # or whatever adapter
#
# To run the specs using extlib, comment out the: gem 'activesupport' line and run
#
# bundle install --without quality
# ADAPTERS=sqlite3 bundle exec rake spec # or whatever adapter
#
# If you want to run the quality tasks as provided by metric_fu and related gems,
# you have to run
#
# bundle install
# bundle exec rake metrics:all
#
# Switch back to a bundle without quality gems before trying to run the specs again
#
# bundle install --without quality
# ADAPTERS=sqlite3 bundle exec rake spec # or whatever adapter
#
# It was mentioned above that all this is not *strictly* necessary, and this is true.
# Currently dm-core does the following as the first require when checking for AS
#
# require 'active_support/core_ext/object/singleton_class'
#
# Because this method is not present in activesupport <= 3.0.0.beta, dm-core's feature
# detection will actually do the "right thing" and fall back to extlib. However, since
# this is not the case for all dm-more gems as well, the safest thing to do is to respect
# the more tedious workflow for now, as it will at least be guaranteed to work the same
# for both dm-core and dm-more.
#
# Note that this won't be an issue anymore once we dropped support for extlib completely,
# or bundler folks decide to support something like "bundle exec --without=foo rake spec"
# (which probably is not going to happen anytime soon).
#
if ENV['EXTLIB']
gem 'extlib', '~> 0.9.15', :git => 'git://github.com/datamapper/extlib.git'
else
gem 'activesupport', '>= 2', :git => 'git://github.com/rails/rails.git', :require => nil
end
gem 'dm-core', '~> 0.10.2'
end
group :development do
gem 'rake', '~> 0.8.7'
gem 'rspec', '~> 1.3'
gem 'yard', '~> 0.5'
gem 'rcov', '~> 0.9.7'
gem 'jeweler', '~> 1.4'
gem 'data_objects', '~> 0.10.1'
gem 'do_sqlite3', '~> 0.10.1'
end
group :quality do
gem 'yardstick', '~> 0.1'
gem 'metric_fu', '~> 1.3'
gem 'reek', '~> 1.2.7'
gem 'roodi', '~> 2.1'
end