Class Rddb::Materializer::BasicMaterializer
In: lib/rddb/materializer/basic_materializer.rb
Parent: Object

A single threaded materializer.

Methods

Attributes

database  [R]  The database

Public Class methods

Initialize the materializer.

[Source]

    # File lib/rddb/materializer/basic_materializer.rb, line 11
11:       def initialize(database)
12:         @database = database
13:       end

Public Instance methods

[Source]

    # File lib/rddb/materializer/basic_materializer.rb, line 22
22:       def document_added(document)
23:         database.views.each do |name, view|
24:           materialize(view) if view.should_refresh?(document)
25:         end
26:       end

Materialize the specified view.

[Source]

    # File lib/rddb/materializer/basic_materializer.rb, line 16
16:       def materialize(view)
17:         logger.info "Materializing the view '#{view.name}'" if logger
18:         view.materialize(database.document_store) if view.materialized?
19:         logger.info "The view '#{view.name}' is now materialized" if logger
20:       end

Refresh all materialized views.

[Source]

    # File lib/rddb/materializer/basic_materializer.rb, line 29
29:       def refresh_views
30:         database.views.each do |name, view|
31:           materialize(view)
32:         end
33:       end

[Validate]