module Blobsterix

Constants

VERSION

Public Class Methods

allow_chunked_stream() click to toggle source
# File lib/blobsterix.rb, line 160
def self.allow_chunked_stream
  !!@allow_chunked_stream
end
allow_chunked_stream=(obj) click to toggle source
# File lib/blobsterix.rb, line 164
def self.allow_chunked_stream=(obj)
  @allow_chunked_stream=obj
end
at_exit(&proc) click to toggle source
# File lib/blobsterix.rb, line 282
def self.at_exit(&proc)
  (@at_exit_callback||=[]).push(proc)
end
cache() click to toggle source
# File lib/blobsterix.rb, line 144
def self.cache
  @cache ||= Storage::Cache.new(cache_dir)
end
cache=(obj) click to toggle source
# File lib/blobsterix.rb, line 148
def self.cache=(obj)
  @cache = obj
end
cache_checker() click to toggle source
# File lib/blobsterix.rb, line 201
def self.cache_checker
   @@cache_checker||=lambda{|blob_access, meta_data, last_accessed_at, created_at|
      false
   }
end
cache_checker=(obj) click to toggle source
# File lib/blobsterix.rb, line 197
def self.cache_checker=(obj)
   @@cache_checker=obj
end
cache_dir() click to toggle source
# File lib/blobsterix.rb, line 128
def self.cache_dir
  @cache_dir||=root.join("cache")
end
cache_dir=(obj) click to toggle source
# File lib/blobsterix.rb, line 132
def self.cache_dir=(obj)
  @cache_dir=obj
end
cache_fatal_error(blob_access) click to toggle source
# File lib/blobsterix.rb, line 231
def self.cache_fatal_error(blob_access)
  StatusInfo.cache_error+=1
  StatusInfo.cache_access+=1
  event("cache.fatal_error", :blob_access => blob_access)
end
cache_hit(blob_access) click to toggle source
# File lib/blobsterix.rb, line 237
def self.cache_hit(blob_access)
  StatusInfo.cache_hit+=1
  StatusInfo.cache_access+=1
  event("cache.hit",:blob_access => blob_access)
end
cache_miss(blob_access) click to toggle source
# File lib/blobsterix.rb, line 225
def self.cache_miss(blob_access)
  StatusInfo.cache_miss+=1
  StatusInfo.cache_access+=1
  event("cache.miss", :blob_access => blob_access)
end
cache_original=(obj) click to toggle source
# File lib/blobsterix.rb, line 140
def self.cache_original=(obj)
  @cache_original=obj
end
cache_original?() click to toggle source
# File lib/blobsterix.rb, line 136
def self.cache_original?
  @cache_original||=false
end
decrypt_trafo(blob_access,trafo_string,logger) click to toggle source
# File lib/blobsterix.rb, line 181
def self.decrypt_trafo(blob_access,trafo_string,logger)
  @decrypt_trafo||=lambda{|b,t,l|t}
  if !trafo_string
    return @decrypt_trafo
  end
  @decrypt_trafo.call(blob_access, trafo_string, logger)
end
decrypt_trafo=(obj) click to toggle source
# File lib/blobsterix.rb, line 169
def self.decrypt_trafo=(obj)
  @decrypt_trafo=obj
end
encryption_error(blob_access) click to toggle source
# File lib/blobsterix.rb, line 221
def self.encryption_error(blob_access)
  event("encryption.error",:blob_access => blob_access)
end
event(name,hash) click to toggle source
# File lib/blobsterix.rb, line 217
def self.event(name,hash)
  storage_event_listener.call(name,hash)
end
logger() click to toggle source
# File lib/blobsterix.rb, line 108
def self.logger
  Thread.current[:in_fiber_logger] ||= BlobsterixLogger.new((@logger||Logger.new(STDOUT)),Logable.next_id)
end
logger=(obj) click to toggle source
# File lib/blobsterix.rb, line 104
def self.logger=(obj)
  @logger=obj
end
root() click to toggle source
# File lib/blobsterix.rb, line 96
def self.root
  @root ||= Pathname.new(BLOBSTERIX_ROOT)
end
root_gem() click to toggle source
# File lib/blobsterix.rb, line 100
def self.root_gem
  @root_gem ||= Pathname.new(BLOBSTERIX_GEM_DIR)
end
run_at_exit() click to toggle source
# File lib/blobsterix.rb, line 286
def self.run_at_exit
  (@at_exit_callback||=[]).each do |proc|
    proc.call
  end
end
secret_key_store() click to toggle source
# File lib/blobsterix.rb, line 173
def self.secret_key_store
  @secret_key_store
end
secret_key_store=(obj) click to toggle source
# File lib/blobsterix.rb, line 177
def self.secret_key_store=(obj)
  @secret_key_store=obj
end
storage() click to toggle source
# File lib/blobsterix.rb, line 120
def self.storage
  @storage ||= Storage::FileSystem.new(storage_dir)
end
storage=(obj) click to toggle source
# File lib/blobsterix.rb, line 124
def self.storage=(obj)
  @storage = obj
end
storage_delete(blob_access) click to toggle source
# File lib/blobsterix.rb, line 255
def self.storage_delete(blob_access)
  event("storage.delete",:blob_access => blob_access)
end
storage_dir() click to toggle source
# File lib/blobsterix.rb, line 112
def self.storage_dir
  @storage_dir||=root.join("contents")
end
storage_dir=(obj) click to toggle source
# File lib/blobsterix.rb, line 116
def self.storage_dir=(obj)
  @storage_dir=obj
end
storage_event_listener() click to toggle source
# File lib/blobsterix.rb, line 211
def self.storage_event_listener
  @storage_event_listener||=lambda{|target, hash|
    logger.info("#{target}: #{hash.inspect}")
  }
end
storage_event_listener=(obj) click to toggle source
# File lib/blobsterix.rb, line 207
def self.storage_event_listener=(obj)
  @storage_event_listener=obj
end
storage_read(blob_access) click to toggle source
# File lib/blobsterix.rb, line 243
def self.storage_read(blob_access)
  event("storage.read",:blob_access => blob_access)
end
storage_read_fail(blob_access) click to toggle source
# File lib/blobsterix.rb, line 247
def self.storage_read_fail(blob_access)
  event("storage.read_fail",:blob_access => blob_access)
end
storage_write(blob_access) click to toggle source
# File lib/blobsterix.rb, line 251
def self.storage_write(blob_access)
  event("storage.write",:blob_access => blob_access)
end
transformation() click to toggle source
# File lib/blobsterix.rb, line 189
def self.transformation
  @transformation ||= Blobsterix::Transformations::TransformationManager.new
end
transformation=(obj) click to toggle source
# File lib/blobsterix.rb, line 193
def self.transformation=(obj)
  @transformation=obj
end
use_x_send_file() click to toggle source
# File lib/blobsterix.rb, line 152
def self.use_x_send_file
  !!@use_x_send_file
end
use_x_send_file=(obj) click to toggle source
# File lib/blobsterix.rb, line 156
def self.use_x_send_file=(obj)
  @use_x_send_file=obj
end
wait_for(op = nil) click to toggle source
# File lib/blobsterix.rb, line 259
def self.wait_for(op = nil)
  fiber = Fiber.current
  EM.defer(Proc.new {
      begin
        op.call
      rescue Exception => e
        e
      end
    },
    Proc.new {|result|
          fiber.resume result
        })
   result = Fiber.yield
   raise result if result.is_a? Exception
   result
end
wait_for_next(op = nil) click to toggle source
# File lib/blobsterix.rb, line 276
def self.wait_for_next(op = nil)
  EM.next_tick do
    wait_for(op)
  end
end