Module: Polipus::Storage

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

Defined Under Namespace

Classes: Base, DevNull, MongoStore, S3Store

Class Method Summary collapse

Class Method Details

.dev_nullObject



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

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

.mongo_store(mongo = nil, collection_name = 'pages', except = []) ⇒ Object



4
5
6
7
8
9
# File 'lib/polipus/storage.rb', line 4

def self.mongo_store(mongo = nil, collection_name = 'pages', except = [])
  require 'polipus/storage/mongo_store'
  mongo ||= Mongo::Connection.new("localhost", 27017, :pool_size => 15, :pool_timeout => 5).db('polipus')
  raise "First argument must be an instance of Mongo::DB" unless mongo.is_a?(Mongo::DB)
  self::MongoStore.new(:mongo => mongo, :collection => collection_name, :except => except)
end

.s3_store(bucket_name = 'pages', aws_credential = {}, except = []) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/polipus/storage.rb', line 11

def self.s3_store(bucket_name = 'pages', aws_credential = {}, except = [])
  require 'polipus/storage/s3_store'
  
  if aws_credential[:access_key_id].nil? || aws_credential[:secret_access_key].nil?
    raise "You have to specify AWS crediantials: :access_key_id and :secret_access_key"
  end

  self::S3Store.new(
    :bucket             => bucket_name, 
    :access_key_id      => aws_credential[:access_key_id], 
    :secret_access_key  => aws_credential[:secret_access_key],
    :except => except
  )
end