Module: Polipus::Storage

Defined in:
lib/polipus/storage.rb,
lib/polipus/storage/base.rb,
lib/polipus/storage/dev_null.rb,
lib/polipus/storage/mongo_store.rb,
lib/polipus/storage/memory_store.rb,
lib/polipus/storage/rethink_store.rb

Defined Under Namespace

Classes: Base, DevNull, MemoryStore, MongoStore, RethinkStore

Constant Summary collapse

COLLECTION =
'pages'

Class Method Summary collapse

Class Method Details

.dev_nullObject



21
22
23
24
# File 'lib/polipus/storage.rb', line 21

def self.dev_null
  require 'polipus/storage/dev_null'
  self::DevNull.new
end

.memory_storeObject



26
27
28
29
# File 'lib/polipus/storage.rb', line 26

def self.memory_store
  require 'polipus/storage/memory_store'
  self::MemoryStore.new
end

.mongo_store(mongo = nil, collection = COLLECTION, except = []) ⇒ Object



7
8
9
10
11
12
# File 'lib/polipus/storage.rb', line 7

def self.mongo_store(mongo = nil, collection = COLLECTION, except = [])
  require 'polipus/storage/mongo_store'
  mongo ||= Mongo::Client.new(['localhost:27_017'], database: 'polipus')
  fail 'First argument must be an instance of Mongo::Client' unless mongo.is_a?(Mongo::Client)
  self::MongoStore.new(mongo: mongo, collection: collection, except: except)
end

.rethink_store(conn = nil, table = COLLECTION, except = []) ⇒ Object



14
15
16
17
18
19
# File 'lib/polipus/storage.rb', line 14

def self.rethink_store(conn = nil, table = COLLECTION, except = [])
  require 'polipus/storage/rethink_store'
  conn ||= RethinkDB::RQL.new.connect(host: 'localhost', port: 28_015, db: 'polipus')
  fail "First argument must be a RethinkDB::Connection, got `#{conn.class}`" unless conn.is_a?(RethinkDB::Connection)
  self::RethinkStore.new(conn: conn, table: table,  except: except)
end