Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v2.0.0.beta #620

Merged
merged 21 commits into from
Feb 14, 2020
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
2da1f49
begin development on v2.0.0.beta.
botandrose-machine Feb 1, 2020
e658c11
split all adapter gems into their own repos.
botandrose-machine Jan 31, 2020
0cf7816
add byebug for debugging.
botandrose-machine Feb 1, 2020
a593621
remove all deprecated code and get the specs passing again.
botandrose-machine Feb 1, 2020
eb80a78
drop support for older rubies, and add support for current rubies.
botandrose-machine Feb 1, 2020
4d50d88
modernize gemspec.
botandrose-machine Feb 1, 2020
22192c8
don't run cucumber tests in this repo, at least not yet.
botandrose-machine Feb 1, 2020
fa72e43
split gem into database_cleaner-core and database_cleaner metagem.
botandrose-machine Feb 1, 2020
00c212f
RIP mysql1 adapter.
botandrose-machine Feb 2, 2020
504b9de
modernize DC::Base specs.
botandrose-machine Feb 2, 2020
e90c54b
bump latest release version on README.
botandrose-machine Feb 2, 2020
2181127
fix gem loading situation.
botandrose-machine Feb 3, 2020
9c88241
remove extra line endings.
botandrose-machine Feb 3, 2020
5ab507c
reduce usage of bare subject on advice of rspec core team.
botandrose-machine Feb 4, 2020
33b8bb8
mark certain adapters as discontinued.
botandrose Feb 4, 2020
3f4d395
use class_double for a bit of extra reliability.
botandrose-machine Feb 4, 2020
422d762
add Micah Geisel to list of gem authors.
botandrose-machine Feb 7, 2020
7410730
test nil case for DC::Base#orm=.
botandrose-machine Feb 7, 2020
aa52404
core no longer knows what a valid adapter is.
botandrose-machine Feb 7, 2020
59c54ab
raise ArgumentError when DC[nil] is invoked or DC.orm = nil.
botandrose-machine Feb 14, 2020
d59d53a
rm Gemfile.lock from version control.
botandrose-machine Feb 14, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ tmp/*
.ruby-version
.vagrant
.idea/
.byebug_history
22 changes: 4 additions & 18 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,13 @@
dist: trusty
language: ruby
rvm:
- 1.9.3
- 2.0.0
- 2.1
- 2.2
botandrose marked this conversation as resolved.
Show resolved Hide resolved
- 2.4
- 2.5
- 2.6
- 2.7
before_install:
- gem install bundler -v 1.17.3
- | # cached install of Neo4j locally:
if [ ! -d neo4j-community-2.3.3/bin ];
then
wget dist.neo4j.org/neo4j-community-2.3.3-unix.tar.gz;
tar -xzf neo4j-community-2.3.3-unix.tar.gz;
sed -i.bak s/dbms.security.auth_enabled=true/dbms.security.auth_enabled=false/g neo4j-community-2.3.3/conf/neo4j-server.properties;
fi
before_script:
- neo4j-community-2.3.3/bin/neo4j start
- bin/setup
services:
- redis-server
- mongodb
cache:
bundler: true
directories:
- neo4j-community-2.3.3

16 changes: 2 additions & 14 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,15 +1,3 @@
gemspec
gemspec name: "database_cleaner-core"

path "./adapters" do
gem "database_cleaner-active_record"
gem "database_cleaner-couch_potato"
gem "database_cleaner-data_mapper"
gem "database_cleaner-mongo"
gem "database_cleaner-mongoid"
gem "database_cleaner-mongo_mapper"
gem "database_cleaner-moped"
gem "database_cleaner-neo4j"
gem "database_cleaner-ohm"
gem "database_cleaner-redis"
gem "database_cleaner-sequel"
end
gem "byebug"
241 changes: 5 additions & 236 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,153 +1,20 @@
PATH
remote: .
specs:
database_cleaner (1.8.2)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typically speaking Gemfile.lock shouldn't be committed, maybe take this opportunity to remove it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain the value in gitignoring Gemfile.lock in library repos? I've never been entirely clear on that. I'm guessing its that future test runs will pick up newly released versions of dependencies, giving us a heads-up if one of them fails?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally, I've always weighed this against build/failure reproducibility across development instances and found the latter more compelling, but I'd love to learn something new here. What are your views?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It prevents builds from staying in sync with reality. Your gain stability in your builds by locking to a period of time rather than versions. If you have specific versions that you need for a build to pass they should be in your gemspec, or if you need some custom magic in your Gemfile.

Someone who consumes the library will not get the versions specified in your Gemfile or Gemfile.lock no matter how they get the library, so you end up not seeing failures that affect them until someone bothers to open an issue.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JonRowe Ah, that makes sense, and its a particularly relevant argument, considering the amount of effort this library is currently expending to address exactly that situation, i.e. tied to a 2010 reality!

I wonder though, does the existence of dependabot completely change this situation? Now that its on the job, do we get the best of both worlds by leaving Gemfile.lock checked in? Developers of the library don't suffer from works-on-my-machine, and dependabot ensures that we stay in sync with reality?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dependabot isn't up to that yet. It too often misses things because theres no security implication, or ignores things it can't update.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, well, that's a bummer. Maybe some day. I'll remove the .lock files from git before the release.


PATH
remote: adapters
specs:
database_cleaner-active_record (1.8.0)
activerecord
database_cleaner (~> 1.8.0)
database_cleaner-couch_potato (1.8.0)
couch_potato
database_cleaner (~> 1.8.0)
database_cleaner-data_mapper (1.8.0)
database_cleaner (~> 1.8.0)
datamapper
dm-transactions
database_cleaner-mongo (1.8.0)
database_cleaner (~> 1.8.0)
mongo
database_cleaner-mongo_mapper (1.8.1)
database_cleaner (~> 1.8.0)
mongo_mapper
database_cleaner-mongoid (1.8.1)
database_cleaner (~> 1.8.0)
database_cleaner-mongo (~> 1.8.0)
mongoid
database_cleaner-moped (1.8.0)
database_cleaner (~> 1.8.0)
moped
database_cleaner-neo4j (1.8.0)
database_cleaner (~> 1.8.0)
neo4j-core
database_cleaner-ohm (1.8.1)
database_cleaner (~> 1.8.0)
database_cleaner-redis (~> 1.8.0)
ohm
database_cleaner-redis (1.8.0)
database_cleaner (~> 1.8.0)
redis
database_cleaner-sequel (1.8.0)
database_cleaner (~> 1.8.0)
sequel
database_cleaner-core (2.0.0.beta)

GEM
remote: https://rubygems.org/
specs:
activemodel (3.0.0)
activesupport (= 3.0.0)
builder (~> 2.1.2)
i18n (~> 0.4.1)
activerecord (3.0.0)
activemodel (= 3.0.0)
activesupport (= 3.0.0)
arel (~> 1.0.0)
tzinfo (~> 0.3.23)
activerecord-mysql2-adapter (0.0.3)
mysql2
activesupport (3.0.0)
addressable (2.3.6)
arel (1.0.1)
activesupport (~> 3.0.0)
bcrypt (3.1.7)
bcrypt (3.1.7-java)
bcrypt-ruby (3.1.5)
bcrypt (>= 3.1.3)
bcrypt-ruby (3.1.5-java)
bcrypt (>= 3.1.3)
bson (1.12.5)
bson (1.12.5-java)
bson_ext (1.12.5)
bson (~> 1.12.5)
builder (2.1.2)
byebug (10.0.2)
coderay (1.1.2)
couch_potato (1.3.0)
activemodel
couchrest (~> 1.2.0)
json (~> 1.6)
couchrest (1.2.1)
mime-types (>= 1.15)
multi_json (~> 1.7, ~> 1.0)
rest-client (~> 1.8.0)
cucumber (1.2.1)
builder (>= 2.1.2)
diff-lcs (>= 1.1.3)
gherkin (~> 2.11.0)
json (>= 1.4.6)
data_objects (0.10.14)
addressable (~> 2.1)
datamapper (1.2.0)
dm-aggregates (~> 1.2.0)
dm-constraints (~> 1.2.0)
dm-core (~> 1.2.0)
dm-migrations (~> 1.2.0)
dm-serializer (~> 1.2.0)
dm-timestamps (~> 1.2.0)
dm-transactions (~> 1.2.0)
dm-types (~> 1.2.0)
dm-validations (~> 1.2.0)
diff-lcs (1.3)
dm-aggregates (1.2.0)
dm-core (~> 1.2.0)
dm-constraints (1.2.0)
dm-core (~> 1.2.0)
dm-core (1.2.1)
addressable (~> 2.3)
dm-do-adapter (1.2.0)
data_objects (~> 0.10.6)
dm-core (~> 1.2.0)
dm-migrations (1.2.0)
dm-core (~> 1.2.0)
dm-serializer (1.2.2)
dm-core (~> 1.2.0)
fastercsv (~> 1.5)
json (~> 1.6)
json_pure (~> 1.6)
multi_json (~> 1.0)
dm-sqlite-adapter (1.2.0)
dm-do-adapter (~> 1.2.0)
do_sqlite3 (~> 0.10.6)
dm-timestamps (1.2.0)
dm-core (~> 1.2.0)
dm-transactions (1.2.0)
dm-core (~> 1.2.0)
dm-types (1.2.2)
bcrypt-ruby (~> 3.0)
dm-core (~> 1.2.0)
fastercsv (~> 1.5)
json (~> 1.6)
multi_json (~> 1.0)
stringex (~> 1.4)
uuidtools (~> 2.1)
dm-validations (1.2.0)
dm-core (~> 1.2.0)
do_jdbc (0.10.14-java)
data_objects (= 0.10.14)
do_sqlite3 (0.10.14)
data_objects (= 0.10.14)
do_sqlite3 (0.10.14-java)
data_objects (= 0.10.14)
do_jdbc (= 0.10.14)
jdbc-sqlite3 (>= 3.5.8)
domain_name (0.5.20180417)
unf (>= 0.0.5, < 1.0.0)
faraday (0.9.0)
multipart-post (>= 1.2, < 3)
faraday_middleware (0.9.1)
faraday (>= 0.7.4, < 0.10)
fastercsv (1.5.5)
ffi (1.9.25)
ffi (1.9.25-java)
formatador (0.2.5)
Expand All @@ -169,68 +36,17 @@ GEM
guard (~> 2.1)
guard-compat (~> 1.1)
rspec (>= 2.99.0, < 4.0)
http-cookie (1.0.3)
domain_name (~> 0.5)
httparty (0.13.3)
json (~> 1.8)
multi_xml (>= 0.5.2)
httpclient (2.5.3.3)
i18n (0.4.2)
jdbc-sqlite3 (3.8.10.1)
json (1.8.6)
json (1.8.6-java)
json_pure (1.8.1)
listen (3.0.8)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
lumberjack (1.0.13)
method_source (0.9.0)
mime-types (2.99.3)
mongo (1.12.5)
bson (= 1.12.5)
mongo_ext (0.19.3)
mongo_mapper (0.12.0)
activemodel (~> 3.0)
activesupport (~> 3.0)
plucky (~> 0.5.2)
mongoid (2.2.6)
activemodel (~> 3.0.0)
mongo (~> 1.3)
tzinfo (~> 0.3.22)
mongoid-tree (0.7.0)
mongoid (~> 2.0)
moped (1.5.2)
multi_json (1.13.1)
multi_xml (0.5.5)
multipart-post (2.0.0)
mysql (2.9.1)
mysql2 (0.3.18)
nenv (0.3.0)
neo4j-community (2.1.5)
neo4j-core (3.0.8)
activesupport
faraday (~> 0.9.0)
faraday_middleware (~> 0.9.1)
httparty
httpclient
json
neo4j-community (~> 2.1.1)
net-http-persistent
os
zip
nest (1.1.2)
redis
net-http-persistent (2.9.4)
netrc (0.11.0)
notiffany (0.1.1)
nenv (~> 0.1)
shellany (~> 0.0)
ohm (0.1.5)
nest (~> 1.0)
os (0.9.6)
pg (0.18.2)
plucky (0.5.2)
mongo (~> 1.5)
pry (0.11.3)
coderay (~> 1.1.0)
method_source (~> 0.9.0)
Expand All @@ -242,11 +58,6 @@ GEM
rb-fsevent (0.10.3)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
redis (3.1.0)
rest-client (1.8.0)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 3.0)
netrc (~> 0.7)
rspec (3.7.0)
rspec-core (~> 3.7.0)
rspec-expectations (~> 3.7.0)
Expand All @@ -260,66 +71,24 @@ GEM
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.7.0)
rspec-support (3.7.1)
sequel (3.21.0)
shellany (0.0.1)
spoon (0.0.6)
ffi
sqlite3 (1.3.10)
stringex (1.5.1)
thor (0.20.0)
tzinfo (0.3.48)
unf (0.1.4)
unf_ext
unf (0.1.4-java)
unf_ext (0.0.7.5)
uuidtools (2.1.5)
zip (2.0.2)

PLATFORMS
java
ruby

DEPENDENCIES
activerecord
activerecord-mysql2-adapter
bson_ext
bundler
couch_potato
byebug
cucumber
database_cleaner!
database_cleaner-active_record!
database_cleaner-couch_potato!
database_cleaner-data_mapper!
database_cleaner-mongo!
database_cleaner-mongo_mapper!
database_cleaner-mongoid!
database_cleaner-moped!
database_cleaner-neo4j!
database_cleaner-ohm!
database_cleaner-redis!
database_cleaner-sequel!
datamapper
dm-migrations
dm-sqlite-adapter
database_cleaner-core!
guard-rspec
json_pure
listen (~> 3.0.0)
mongo (~> 1.12.0)
mongo_ext
mongo_mapper
mongoid
mongoid-tree
moped
mysql (~> 2.9.1)
mysql2
neo4j-core
ohm (~> 0.1.3)
pg
listen
rake
rspec
sequel (~> 3.21.0)
sqlite3
tzinfo

BUNDLED WITH
1.17.3
Loading