module WCC::API::ActiveRecordShim::ClassMethods
Public Instance Methods
find(id)
click to toggle source
# File lib/wcc/api/active_record_shim.rb, line 24 def find(id) client.public_send(endpoint).find(id) end
find_all(**filters)
click to toggle source
# File lib/wcc/api/active_record_shim.rb, line 28 def find_all(**filters) client.public_send(endpoint).list(filters) end
find_by(**filters)
click to toggle source
# File lib/wcc/api/active_record_shim.rb, line 32 def find_by(**filters) raise ArgumentError, "You must provide at least one filter" if filters.empty? find_all(filters).first end
find_in_batches(options, &block)
click to toggle source
# File lib/wcc/api/active_record_shim.rb, line 50 def find_in_batches(options, &block) options = options ? options.dup : {} batch_size = options.delete(:batch_size) || 1000 skip_param = [:skip, :offset] filter = { limit: batch_size, offset: options.delete(:start) || 0 } find_all(filter).each_slice(batch_size, &block) end
model_name()
click to toggle source
# File lib/wcc/api/active_record_shim.rb, line 38 def model_name name end
table_name()
click to toggle source
# File lib/wcc/api/active_record_shim.rb, line 42 def table_name endpoint end
unscoped() { || ... }
click to toggle source
# File lib/wcc/api/active_record_shim.rb, line 46 def unscoped yield end
where(**conditions)
click to toggle source
# File lib/wcc/api/active_record_shim.rb, line 63 def where(**conditions) # TODO: return a Query object that implements more of the ActiveRecord query interface # https://guides.rubyonrails.org/active_record_querying.html#conditions find_all(conditions) end