README.md in n1_loader-1.2.0 vs README.md in n1_loader-1.3.0

- old
+ new

@@ -43,11 +43,11 @@ ```ruby class User include N1Loader::Loadable # with inline loader - n1_loader :orders_count do |users| + n1_optimized :orders_count do |users| orders_per_user = Order.where(user: users).group(:user_id).count users.each { |user| fulfill(user, orders_per_user[user.id]) } end end @@ -67,11 +67,11 @@ ```ruby class User include N1Loader::Loadable # with inline loader - n1_loader :orders_count do |users| + n1_optimized :orders_count do |users| orders_per_user = Order.where(user: users).group(:user_id).count users.each { |user| fulfill(user, orders_per_user[user.id]) } end end @@ -96,18 +96,18 @@ end end class User include N1Loader::Loadable - - n1_loader :orders_count, OrdersCountLoader + + n1_optimized :orders_count, OrdersCountLoader end class Customer include N1Loader::Loadable - - n1_loader :orders_count, OrdersCountLoader + + n1_optimized :orders_count, OrdersCountLoader end User.new.orders_count # => works Customer.new.orders_count # => works ``` @@ -117,11 +117,11 @@ ```ruby class User include N1Loader::Loadable # with inline loader - n1_loader :orders_count do |users| + n1_optimized :orders_count do |users| orders_per_user = Order.where(user: users).group(:user_id).count users.each { |user| fulfill(user, orders_per_user[user.id]) } end end @@ -157,12 +157,12 @@ ### Optimized single case ```ruby class User include N1Loader::Loadable - - n1_loader :orders_count do # no arguments passed to the block, so we can override both perform and single. + + n1_optimized :orders_count do # no arguments passed to the block, so we can override both perform and single. def perform(users) orders_per_user = Order.where(user: users).group(:user_id).count users.each { |user| fulfill(user, orders_per_user[user.id]) } end @@ -186,11 +186,11 @@ ```ruby class User include N1Loader::Loadable - n1_loader :orders_count do |users, type| + n1_optimized :orders_count do |users, type| orders_per_user = Order.where(type: type, user: users).group(:user_id).count users.each { |user| fulfill(user, orders_per_user[user.id]) } end end @@ -210,20 +210,20 @@ ```ruby class User include N1Loader::Loadable - n1_loader :orders_count do + n1_optimized :orders_count do + argument :sale + + cache_key { sale.id } + def perform(users, sale) orders_per_user = Order.where(sale: sale, user: users).group(:user_id).count users.each { |user| fulfill(user, orders_per_user[user.id]) } end - - def self.arguments_key(sale) - sale.id - end end end user = User.new user.orders_count(Sale.first) # perform will be executed and value will be cached @@ -233,15 +233,17 @@ ## Integrations ### [ActiveRecord][5] +_Note_: Rails 7 support is coming soon! Stay tuned! + ```ruby class User < ActiveRecord::Base include N1Loader::Loadable - - n1_loader :orders_count do |users| + + n1_optimized :orders_count do |users| orders_per_user = Order.where(user: users).group(:user_id).count users.each { |user| fulfill(user, orders_per_user[user.id]) } end end @@ -264,11 +266,11 @@ ### [ArLazyPreload][6] ```ruby class User < ActiveRecord::Base include N1Loader::Loadable - - n1_loader :orders_count do |users| + + n1_optimized :orders_count do |users| orders_per_user = Order.where(user: users).group(:user_id).count users.each { |user| fulfill(user, orders_per_user[user.id]) } end end \ No newline at end of file