Sha256: c4920d176f0a78e659cc4e15897d3834878870166b307a95609d36619566369f

Contents?: true

Size: 946 Bytes

Versions: 16

Compression:

Stored size: 946 Bytes

Contents

# frozen_string_literal: true

#
# Copyright (c) 2020-present, Blue Marble Payroll, LLC
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
#

require_relative 'disks/local'

module Burner
  # A factory to register and emit instances that conform to the Disk interface with requests
  # the instance responds to: #exist?, #read, and #write.  See an example implementation within
  # the lib/burner/disks directory.
  #
  # The benefit to this pluggable disk model is a consumer application can decide which file
  # backend to use and how to store files.  For example: an application may choose to use
  # some cloud provider with their own file store implementation.  This can be wrapped up
  # in a Disk class and registered here and then referenced in the Pipeline's IO jobs.
  class Disks
    acts_as_hashable_factory

    register 'local', '', Disks::Local
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
burner-1.12.0 lib/burner/disks.rb
burner-1.11.0 lib/burner/disks.rb
burner-1.10.0 lib/burner/disks.rb
burner-1.9.0 lib/burner/disks.rb
burner-1.9.0.pre.alpha lib/burner/disks.rb
burner-1.8.0 lib/burner/disks.rb
burner-1.7.0 lib/burner/disks.rb
burner-1.7.0.pre.alpha lib/burner/disks.rb
burner-1.6.0 lib/burner/disks.rb
burner-1.6.0.pre.alpha lib/burner/disks.rb
burner-1.5.0 lib/burner/disks.rb
burner-1.5.0.pre.alpha lib/burner/disks.rb
burner-1.4.0 lib/burner/disks.rb
burner-1.4.0.pre.alpha lib/burner/disks.rb
burner-1.3.0 lib/burner/disks.rb
burner-1.3.0.pre.alpha lib/burner/disks.rb