Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
1558a83
Add gemika as a test dep
fractaledmind Aug 9, 2019
7d8110a
Bring the gemika Rake tasks into the gem's Rakefile
fractaledmind Aug 9, 2019
308e358
Move test deps into the gemspec
fractaledmind Aug 25, 2019
8e7fc74
Create a suite of Gemfiles for cross-env testing
fractaledmind Aug 25, 2019
aeb64ce
Choose a default dependency set and symlink both gemfile and lockfile…
fractaledmind Aug 25, 2019
a2f6853
Setup Gemika and run with Ruby 2.4.6
fractaledmind Aug 25, 2019
97442a4
Get travis and database support setup
fractaledmind Aug 25, 2019
abf9102
Work on getting Gemika and Combustion to play nicely together
fractaledmind Aug 25, 2019
2f5a287
Set a limit for sqlite3 gem with 4.2 Rails
fractaledmind Aug 25, 2019
eaf3233
update the name of the test tables for TravisCI
fractaledmind Aug 25, 2019
3531b89
Merge branch 'master' into feature/gemika
fractaledmind Aug 25, 2019
f6c5a28
Update gems
fractaledmind Aug 25, 2019
fefdc93
Merge branch 'master' into feature/gemika
fractaledmind Mar 20, 2020
11b4456
Merge branch 'master' into feature/gemika
fractaledmind Mar 20, 2020
4abe55c
Add updated lockfile
fractaledmind Mar 26, 2020
cc1fa39
Start work on getting gemika setup; need to get tests running next
fractaledmind Mar 26, 2020
7896051
Ensure that the scopes defined in the test models are run in the appr…
fractaledmind Mar 26, 2020
985c4ba
Clean up some dep issues in the gemfiles
fractaledmind Mar 26, 2020
2e725d2
Add descriptions for the AttributeValue specs
fractaledmind Mar 26, 2020
90ec071
Rename the value_for spec helper method, as it was conflicting with s…
fractaledmind Mar 26, 2020
e00d4a3
Fix the `guaranteed_unique_attributes_for` helper method to handle da…
fractaledmind Mar 26, 2020
000cf92
Be sure to initialize Combustion _before_ setting up Bundler
fractaledmind Mar 26, 2020
83792a6
Binary values can't be type casted, it messes up the querying across …
fractaledmind Mar 26, 2020
cafbaa3
MySQL can't match against float properly, so cast to decimals
fractaledmind Mar 26, 2020
b35b58a
Don't make any ActiveRecordSetInstruction methods private
fractaledmind Mar 26, 2020
b6346b2
Override the PG adapter to use LIKE instead of ILIKE
fractaledmind Mar 26, 2020
7e6db0d
Handle Rails 4.2 typecasting
fractaledmind Mar 26, 2020
1006e4f
[WIP] try to get the bin/console script working
fractaledmind Mar 26, 2020
f850ca7
Ensure pry is in all gemfiles
fractaledmind Mar 26, 2020
69a7153
Fix some problems
fractaledmind Apr 15, 2020
50fce7d
Merge branch 'master' into feature/gemika
fractaledmind Apr 15, 2020
a681239
Update the lockfiles to the new gem version
fractaledmind Apr 15, 2020
39627b2
Use the correct version of the bigdecimal gem for Rails 4.2
fractaledmind Apr 16, 2020
435ca06
Handle deprecation warning for PG and Rails 4.2
fractaledmind Apr 16, 2020
c64929f
Make the ActiveRecord Sorting strategy self-reliant and pass all of t…
fractaledmind Apr 16, 2020
c75099e
Make rubocop happy for the sorter.rb file
fractaledmind Apr 16, 2020
7fa8661
Clean up some logging from the activerecord sorting strategy
fractaledmind Apr 16, 2020
7484fc3
Make rubocop happy
fractaledmind Apr 16, 2020
8332c0c
Make the scopes for the tests more robust
fractaledmind Apr 17, 2020
0fd7dd9
Clean up with comments and removing logging
fractaledmind Apr 17, 2020
fd2bf32
Handle MySQL time LIKE predication
fractaledmind Apr 17, 2020
e4d57b9
Decimal fields for MySQL require some precision and scale
fractaledmind Apr 18, 2020
7f396a4
Move all logic for ActiveRecord sorting instructions into the SetInst…
fractaledmind Apr 18, 2020
219baf5
Handle the difference between RSpec request spec signatures between v…
fractaledmind Apr 18, 2020
9160cc4
Silence unhelpful deprecation warning about type casting
fractaledmind Apr 18, 2020
2b095ac
Leave a reminder that some tests can fail if the string isn't alphanu…
fractaledmind Apr 18, 2020
3a35183
Sorting strategy no longer needs the active_record_set_instruction class
fractaledmind Apr 18, 2020
300dfe2
Ensure that the params pass to the FilterInstructions class deeply sy…
fractaledmind Apr 18, 2020
cc4355e
Silence another deprecation warning
fractaledmind Apr 19, 2020
5d678d6
Ensure the export params use symbol keys when transforming into expor…
fractaledmind Apr 19, 2020
66bface
Ensure the sort params use symbol keys when transforming into sort in…
fractaledmind Apr 19, 2020
8a55567
Fix the export request spec to work with older versions of RSpec
fractaledmind Apr 19, 2020
f93e8aa
Rename and restructure the gemfiles
fractaledmind Apr 19, 2020
187b957
Add a default Gemfile for development
fractaledmind Apr 19, 2020
727070f
Ignore another warning
fractaledmind Apr 19, 2020
0905991
Try to get the travis-ci builds working
fractaledmind Apr 19, 2020
7382607
Try again to get travis-ci working
fractaledmind Apr 19, 2020
532d28f
Another try at travic-ci
fractaledmind Apr 19, 2020
6b240cb
Only check for collation mismatches on MySQL engines
fractaledmind Apr 19, 2020
bd01b20
Set precision and scale for float fields for tests
fractaledmind Apr 19, 2020
b95a81c
Bump the mysql2 gem versions"
fractaledmind Apr 20, 2020
17e78a8
Ignore a couple more warnings
fractaledmind Apr 20, 2020
91f841f
Handle the bigdecimal dependency and its required relation to differe…
fractaledmind Apr 21, 2020
1bbe17b
Quiet warnings in the test output
fractaledmind Apr 21, 2020
cd14bed
Ignore byebug history
fractaledmind Apr 21, 2020
41100cf
Reorganize the support files and have Travis use SQLite via a file
fractaledmind Apr 21, 2020
b24c9cd
Update the exclusion Gemfile name for Ruby 2.4.9 and MySQL
fractaledmind Apr 21, 2020
cf7ee83
Add an INTERRUPT_FAILURE hook as well for getting into a byebug conso…
fractaledmind Apr 21, 2020
e7087f5
For numeric test fields to start at 5 digits
fractaledmind Apr 21, 2020
3dc30b6
No need to reload matching items for specs
fractaledmind Apr 21, 2020
ef6086d
Return empty sets when filtering
fractaledmind Apr 21, 2020
fc8ea19
Try to use the appropriate truncated value when testing filtering by …
fractaledmind Apr 21, 2020
d2d1751
CAN I GET THE TESTS TO PASS IF I IGNORE FLOAT FIELDS??!!??
fractaledmind Apr 21, 2020
aa03d2b
Fix the console script
fractaledmind May 18, 2020
bc336a2
Fix the Postgres handling of matching integers
fractaledmind May 18, 2020
36c5a89
Add some links for documentation to README
fractaledmind May 19, 2020
c375cdd
Handle Postrgres Boolean matching
fractaledmind May 19, 2020
5bc57c5
Add some notes files
fractaledmind May 19, 2020
9a2dbc8
Merge branch 'master' into feature/gemika
fractaledmind Oct 26, 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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,6 @@
*.gem
*.sqlite
.DS_Store

spec/support/database.yml
/.byebug_history
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.4.9
2.6.5
35 changes: 34 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,42 @@
sudo: false
language: ruby
sudo: false
cache: bundler
rvm:
- 2.7.0
- 2.6.5
- 2.5.7
- 2.4.9
gemfile:
- gemfiles/Gemfile[rails-4.2.x][mysql2-0.4.x]
- gemfiles/Gemfile[rails-4.2.x][pg-0.11.x]
- gemfiles/Gemfile[rails-4.2.x][sqlite3-1.3.x]
- gemfiles/Gemfile[rails-5.2.x][mysql2-0.5.x]
- gemfiles/Gemfile[rails-5.2.x][pg-0.18.x]
- gemfiles/Gemfile[rails-5.2.x][sqlite3-1.4.x]
- gemfiles/Gemfile[rails-6.0.x][mysql2-0.5.x]
- gemfiles/Gemfile[rails-6.0.x][pg-0.18.x]
- gemfiles/Gemfile[rails-6.0.x][sqlite3-1.4.x]
matrix:
exclude:
- rvm: 2.4.9
gemfile: gemfiles/Gemfile[rails-6.0.x][mysql2-0.5.x]
- rvm: 2.4.9
gemfile: gemfiles/Gemfile[rails-6.0.x][pg-0.18.x]
- rvm: 2.4.9
gemfile: gemfiles/Gemfile[rails-6.0.x][sqlite3-1.4.x]
install:
# Replace default Travis CI bundler script with a version that doesn't
# explode when lockfile doesn't match recently bumped version
- bundle install --no-deployment --jobs=3 --retry=3 --path=${BUNDLE_PATH:-vendor/bundle}
before_install:
- gem install bundler -v 1.15.4
- export TZ=America/New_York
before_script:
- psql -c 'create database actionset_test;' -U postgres
- mysql -e 'create database IF NOT EXISTS actionset_test;'
services:
- mysql
- postgresql
script: bundle exec rake current_rspec
after_success:
- bash < (curl -s https://codecov.io/bash)
22 changes: 11 additions & 11 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# frozen_string_literal: true

source 'https://rubygems.org'

git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
ruby '>= 2.6'

# Runtime dependencies
gem 'activerecord', '~> 6.0'
gem 'actionpack', '~> 6.0'
gem 'sqlite3', '~> 1.4'

# Specify your gem's dependencies in actionset.gemspec
gemspec
# Gem under test
gem 'actionset', path: '.'

group :test do
gem 'actionpack'
gem 'activerecord'
gem 'rspec-rails'
gem 'sqlite3'
end
# test/dev dependencies
gem 'gemika', group: [:development, :test]
eval_gemfile './gemfiles/Gemfile.test'
176 changes: 73 additions & 103 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,60 +2,46 @@ PATH
remote: .
specs:
actionset (0.10.0)
activesupport (>= 4.0.2)
activesupport
railties

GEM
remote: https://rubygems.org/
specs:
actioncable (5.2.4.2)
actionpack (= 5.2.4.2)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailer (5.2.4.2)
actionpack (= 5.2.4.2)
actionview (= 5.2.4.2)
activejob (= 5.2.4.2)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (5.2.4.2)
actionview (= 5.2.4.2)
activesupport (= 5.2.4.2)
actionpack (6.0.2.2)
actionview (= 6.0.2.2)
activesupport (= 6.0.2.2)
rack (~> 2.0, >= 2.0.8)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (5.2.4.2)
activesupport (= 5.2.4.2)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionview (6.0.2.2)
activesupport (= 6.0.2.2)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3)
activejob (5.2.4.2)
activesupport (= 5.2.4.2)
globalid (>= 0.3.6)
activemodel (5.2.4.2)
activesupport (= 5.2.4.2)
activerecord (5.2.4.2)
activemodel (= 5.2.4.2)
activesupport (= 5.2.4.2)
arel (>= 9.0)
activestorage (5.2.4.2)
actionpack (= 5.2.4.2)
activerecord (= 5.2.4.2)
marcel (~> 0.3.1)
activesupport (5.2.4.2)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activemodel (6.0.2.2)
activesupport (= 6.0.2.2)
activerecord (6.0.2.2)
activemodel (= 6.0.2.2)
activesupport (= 6.0.2.2)
activesupport (6.0.2.2)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.2)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
ansi (1.5.0)
arel (9.0.0)
ast (2.4.0)
bigdecimal (1.4.1)
binding_of_caller (0.8.0)
debug_inspector (>= 0.0.1)
builder (3.2.4)
capybara (3.31.0)
byebug (11.1.2)
capybara (3.32.1)
addressable
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
Expand All @@ -67,88 +53,75 @@ GEM
json
simplecov
url
combustion (1.1.2)
coderay (1.1.2)
combustion (1.2.0)
activesupport (>= 3.0.0)
railties (>= 3.0.0)
thor (>= 0.14.6)
concurrent-ruby (1.1.6)
crass (1.0.6)
database_cleaner (1.8.3)
database_cleaner (1.8.4)
debug_inspector (0.0.3)
diff-lcs (1.3)
docile (1.3.2)
erubi (1.9.0)
factory_bot (5.1.1)
factory_bot (5.1.2)
activesupport (>= 4.2.0)
faker (2.10.2)
faker (2.11.0)
i18n (>= 1.6, < 2)
globalid (0.4.2)
activesupport (>= 4.2.0)
gemika (0.4.0)
i18n (1.8.2)
concurrent-ruby (~> 1.0)
interception (0.5)
jaro_winkler (1.5.4)
json (2.3.0)
loofah (2.5.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
mini_mime (>= 0.1.1)
marcel (0.3.3)
mimemagic (~> 0.3.2)
method_source (1.0.0)
mimemagic (0.3.4)
mini_mime (1.0.2)
mini_portile2 (2.4.0)
minitest (5.14.0)
nio4r (2.5.2)
nokogiri (1.10.9)
mini_portile2 (~> 2.4.0)
parallel (1.19.1)
parser (2.7.0.4)
parser (2.7.1.1)
ast (~> 2.4.0)
polyamorous (2.3.0)
activerecord (>= 5.0)
public_suffix (4.0.3)
polyamorous (2.3.2)
activerecord (>= 5.2.1)
pry (0.13.1)
coderay (~> 1.1)
method_source (~> 1.0)
pry-rescue (1.5.0)
interception (>= 0.5)
pry (>= 0.12.0)
pry-stack_explorer (0.4.9.3)
binding_of_caller (>= 0.7)
pry (>= 0.9.11)
public_suffix (4.0.4)
rack (2.2.2)
rack-test (1.1.0)
rack (>= 1.0, < 3)
rails (5.2.4.2)
actioncable (= 5.2.4.2)
actionmailer (= 5.2.4.2)
actionpack (= 5.2.4.2)
actionview (= 5.2.4.2)
activejob (= 5.2.4.2)
activemodel (= 5.2.4.2)
activerecord (= 5.2.4.2)
activestorage (= 5.2.4.2)
activesupport (= 5.2.4.2)
bundler (>= 1.3.0)
railties (= 5.2.4.2)
sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.3.0)
loofah (~> 2.3)
railties (5.2.4.2)
actionpack (= 5.2.4.2)
activesupport (= 5.2.4.2)
railties (6.0.2.2)
actionpack (= 6.0.2.2)
activesupport (= 6.0.2.2)
method_source
rake (>= 0.8.7)
thor (>= 0.19.0, < 2.0)
thor (>= 0.20.3, < 2.0)
rainbow (3.0.0)
rake (13.0.1)
ransack (2.3.0)
actionpack (>= 5.0)
activerecord (>= 5.0)
activesupport (>= 5.0)
ransack (2.3.2)
activerecord (>= 5.2.1)
activesupport (>= 5.2.1)
i18n
polyamorous (= 2.3.0)
polyamorous (= 2.3.2)
regexp_parser (1.7.0)
rexml (3.2.4)
rspec (3.9.0)
rspec-core (~> 3.9.0)
rspec-expectations (~> 3.9.0)
rspec-mocks (~> 3.9.0)
rspec-core (3.9.1)
rspec-support (~> 3.9.1)
rspec-expectations (3.9.1)
Expand All @@ -157,23 +130,23 @@ GEM
rspec-mocks (3.9.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-rails (3.9.1)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
rspec-core (~> 3.9.0)
rspec-expectations (~> 3.9.0)
rspec-mocks (~> 3.9.0)
rspec-support (~> 3.9.0)
rspec-rails (4.0.0)
actionpack (>= 4.2)
activesupport (>= 4.2)
railties (>= 4.2)
rspec-core (~> 3.9)
rspec-expectations (~> 3.9)
rspec-mocks (~> 3.9)
rspec-support (~> 3.9)
rspec-support (3.9.2)
rubocop (0.80.1)
rubocop (0.82.0)
jaro_winkler (~> 1.5.1)
parallel (~> 1.10)
parser (>= 2.7.0.1)
rainbow (>= 2.2.2, < 4.0)
rexml
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 1.7)
unicode-display_width (>= 1.4.0, < 2.0)
ruby-progressbar (1.10.1)
simplecov (0.18.5)
docile (~> 1.1)
Expand All @@ -183,51 +156,48 @@ GEM
simplecov
terminal-table
simplecov-html (0.12.2)
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.2.1)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
sqlite3 (1.4.2)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thor (1.0.1)
thread_safe (0.3.6)
tzinfo (1.2.7)
thread_safe (~> 0.1)
unicode-display_width (1.6.1)
unicode-display_width (1.7.0)
url (0.3.2)
websocket-driver (0.7.1)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.3.0)

PLATFORMS
ruby

DEPENDENCIES
actionpack
actionpack (~> 6.0)
actionset!
activerecord
bundler
activerecord (~> 6.0)
bigdecimal (~> 1.4.x)
byebug
capybara
codecov
combustion
database_cleaner
factory_bot
faker
rails (~> 5.2.0)
gemika
pry
pry-rescue
pry-stack_explorer
rake
ransack
rspec
rspec-rails
rubocop
simplecov
simplecov-console
sqlite3
sqlite3 (~> 1.4)

RUBY VERSION
ruby 2.6.5p114

BUNDLED WITH
2.1.4
Loading