Sha256: 8750afaeec1ccacd3a6e3176bd719071bb738c73712aa5478f37aaaa8f5398f7

Contents?: true

Size: 1.21 KB

Versions: 2

Compression:

Stored size: 1.21 KB

Contents

require 'friendly/associations'
require 'friendly/attribute'
require 'friendly/boolean'
require 'friendly/cache'
require 'friendly/cache/by_id'
require 'friendly/data_store'
require 'friendly/document'
require 'friendly/document_table'
require 'friendly/index'
require 'friendly/indexer'
require 'friendly/memcached'
require 'friendly/query'
require 'friendly/sequel_monkey_patches'
require 'friendly/scope'
require 'friendly/scope_proxy'
require 'friendly/storage_factory'
require 'friendly/storage_proxy'
require 'friendly/translator'
require 'friendly/uuid'

require 'json'
require 'will_paginate/collection'

module Friendly
  class << self
    attr_accessor :datastore, :db, :cache

    def configure(config)
      self.db        = Sequel.connect(config)
      self.datastore = DataStore.new(db)
    end

    def batch
      begin
        datastore.start_batch
        yield
        datastore.flush_batch
      ensure
        datastore.reset_batch
      end
    end

    def create_tables!
      Document.create_tables!
    end
  end

  class Error < RuntimeError; end
  class RecordNotFound < Error; end
  class MissingIndex < Error; end
  class NoConverterExists < Friendly::Error; end
  class NotSupported < Friendly::Error; end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
honkster-friendly-0.5.3 lib/friendly.rb
honkster-friendly-0.5.2 lib/friendly.rb