- Drop support for Rails 5.2 and Ruby 2.6
- Exclude test files from release
- Add CI via GitHub Actions
- Make replacing ActiveRecord records in asyncable params more robust
- When calling a service async, make args and kwargs available as ivars
- add missing
to_s
- handle kwargs correctly
- test with current rails versions
- fix typo
- increase cache time to 30 days
- fix loading background processor
- allow using sucker_punch instead of sidekiq
- allow setting the method arity when allowing class method to be used in queries, since scopes shadow the arity of their procs
- enable using class methods in queries
- use select instead of pluck
- fix typos
- fix joining order classes
- refactor, formatting
- fix identifying call method when calling service async
- remove gemnasium badge
- fix "buy me a coffee" link
- add "buy me a coffee" link to readme
- symbolize hash keys for arguments to call method when kwargs are used
- dont modify args
- fix spec
- fix specs and readme
- add table name to condition
- add created_after and created_before as default conditions, allow overriding default conditions in query object
- Revert "set default order for query if it was set to nil"
- automatically add LEFT OUTER JOIN when trying to sort by a field on an association table
- set default order for query if it was set to nil
- allow calling query service without params
- add id_not as special query condition
- allow calling query object with only arguments
- update sidekiq dev dependency to 5.x
- remove encoding comment
- add missing require
- syntax
- dont specify ruby patchlevels in travis config
- use globalid to make args serializable
- remove bulk call async method
- remove async instance methods from services
- dup passed in scope in query class before using it
- fix specs for ruby < 2.4
- update rails 5.1 to released version
- update travis config
- stop supporting rails 4.0 and 4.1, add 5.1.rc1
- replace Fixnum with Integer to silence Ruby 2.4 warnings
- update ruby versions in travis config
- update travis config
- update ruby versions in travis config
- update travis build matrix, dont test ruby 2.4.0 with rails 4.0 or 4.1, allow ruby 2.4.0 with rails 4.2 to fail for now (until rails 4.2.8 is released with out json 1.x dependency)
- increase sleep and waiting time in specs
- require active_record explicitly
- fix specs
- test with ruby 2.4.0, clarify version requirements for ruby and redis
- update sidekiq dev dependency to ~> 4.0
- allow passing scope to query call
- freeze constants
- use #public_send instead of #send where possible
- rename perform_* methods to call_*, closes #6
- update travis config
- use pluck only on activerecord relations, from activesupport 5 on all enumerables respond to #pluck, which will call #[] on the contained objects [Manuel M eurer]
- drop support for rails 3.2, add appraisal for testing
- update readme
- update ruby dependency in readme
- update travis config
- update changelog
- fix finding find service class
- Fix finding the find service class
- Make "Services" namespace optional when determining object class
- Try to determine Redis connection from
Redis.current
if not explicitly set in configuration
- Add possibility to automatically convert condition objects to IDs in query
- Add null logger
- Account for that
redis.multi
can return nil
- Remove host configuration and controller method
- Query does not have its own error, raise ArgumentError instead
- Verify that query ids parameter is not nil
- Fix for Ruby 2.0
- Rename
BaseFinder
toQuery
Query
doesn't inherit fromBase
anymore- Only use SQL subquery in
Query
if a JOIN is used
- Increase TTL for Redis keys for uniqueness and error count to one day
- Fix ordering in
BaseFinder
- Add
on_error
optionreturn
to uniqueness checker
- Add
find_ids
andfind_id
helpers to base service
- Make BaseFinder smarter, don't create SQL subquery if not necessary
- Fix disabling call logging
- Improve call logging
- Implement
disable_call_logging
andenable_call_logging
to control call logging for specific services - Disable call logging for
BaseFinder
by default - Rename
check_uniqueness!
tocheck_uniqueness
- Allow only certain classes in Redis logger meta (NilClass, TrueClass, FalseClass, Symbol, String, Numeric)
- Convert log time to time object when fetching logs
- When logging to Redis, convert all values to strings first
- Change arguments for log call in file and Redis logger, replace tag array with meta hash
- Add methods to query size of logs and fetch logs to Redis logger
- First stable version