diff --git a/src/views/core.clj b/src/views/core.clj index 28558a0..9e9dc65 100644 --- a/src/views/core.clj +++ b/src/views/core.clj @@ -359,56 +359,3 @@ [] (stop-update-watcher!) (reset! view-system {})) - -(comment - (defrecord SQLView [id query-fn] - IView - (id [_] id) - (data [_ namespace parameters] - (j/query (db/firm-connection namespace) (hsql/format (apply query-fn parameters)))) - (relevant? [_ namespace parameters hints] - (let [tables (query-tables (apply query-fn parameters))] - (boolean (some #(not-empty (intersection % talbes)) hints))))) - - (reset! in-memory-data {:a {:foo 1 :bar 200 :baz [1 2 3]} - :b {:foo 2 :bar 300 :baz [2 3 4]}}) - - (defrecord MemoryView [id ks] - IView - (id [_] id) - (data [_ namespace parameters] - (get-in @in-memory-data (-> [namespace] (into ks) (into parameters)))) - (relevant? [_ namespace parameters hints] - (some #(and (= namespace (:namespace %)) (= ks (:hint %))) hints))) - - (reset! view-system - {:views {:foo (MemoryView. :foo [:foo]) - :bar (MemoryView. :bar [:bar]) - :baz (MemoryView. :baz [:baz])} - :send-fn (fn [subscriber-key data] (println "sending to:" subscriber-key "data:" data))}) - - (subscribe! :a :foo [] 1) - (subscribe! :b :foo [] 2) - (subscribe! :b :baz [] 2) - - (subscribed-views) - - (add-hint! [:foo]) - (add-hint! [:baz]) - - (refresh-views!) - - ;; Example of function that updates and hints the view system. - (defn massoc-in! - [memory-db namespace ks v] - (let [ms (swap! memory-db assoc-in (into [namespace] ks) v)] - (add-hint! ks) - ms)) - - (massoc-in! in-memory-data :a [:foo] 1) - (massoc-in! in-memory-data :b [:baz] [2 4 3]) - - - (start-update-watcher! 1000 1) - - )