Active Recordとデメテルの法則

ActiveRecordを使った次のようなコードを考えます。
wikipedia:Active_Record
PofEAA's Wiki - ActiveRecord

class Book < ActiveRecord::Base
end

class ShopAssistant
  def set_book_price(book_id, new_price)
    b = Book.find(book_id)
    b.price = new_price
    b.save # -- (1)
  end
end

Book#findは指定されたIDのインスタンスを返すクラスメソッドです。
さて、ShopAssistant#set_book_price内でb.saveをやっているところ(1)は

  1. bはShopAssitant自身ではない
  2. bは引数で与えられたものではない
  3. bはShopAssistantが生成したものではない
  4. bはShopAssistantのインスタンス変数ではない

という点でデメテルの法則違反をしているような気がするんですが、どうなんでしょう?
wikipedia:デメテルの法則