Sha256: b39583b585babf5eaf8960ca50e1f24c49885812e6b744d33898a7afac8f1bf8

Contents?: true

Size: 1.91 KB

Versions: 5

Compression:

Stored size: 1.91 KB

Contents

module Fog
  module Local
    class Storage < Fog::Service

      requires :local_root
      recognizes :provider # remove post deprecation

      model_path 'fog/storage/models/local'
      collection  :directories
      model       :directory
      model       :file
      collection  :files

      class Mock

        def self.data
          @data ||= Hash.new do |hash, key|
            hash[key] = {}
          end
        end

        def self.reset_data(keys=data.keys)
          for key in [*keys]
            data.delete(key)
          end
        end

        def initialize(options={})
          Fog::Mock.not_implemented

          require 'mime/types'
          unless options.delete(:provider)
            location = caller.first
            warning = "[yellow][WARN] Fog::Local::Storage.new is deprecated, use Fog::Storage.new(:provider => 'Local') instead[/]"
            warning << " [light_black](" << location << ")[/] "
            Formatador.display_line(warning)
          end

          @local_root = ::File.expand_path(options[:local_root])
          @data       = self.class.data[@local_root]
        end

        def local_root
          @local_root
        end

        def path_to(partial)
          ::File.join(@local_root, partial)
        end
      end

      class Real

        def initialize(options={})
          unless options.delete(:provider)
            location = caller.first
            warning = "[yellow][WARN] Fog::Local::Storage.new is deprecated, use Fog::Storage.new(:provider => 'Local') instead[/]"
            warning << " [light_black](" << location << ")[/] "
            Formatador.display_line(warning)
          end

          require 'mime/types'
          @local_root = ::File.expand_path(options[:local_root])
        end

        def local_root
          @local_root
        end

        def path_to(partial)
          ::File.join(@local_root, partial)
        end
      end

    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
fog-0.6.0 lib/fog/storage/local.rb
fog-0.5.3 lib/fog/storage/local.rb
fog-0.5.2 lib/fog/storage/local.rb
fog-0.5.1 lib/fog/storage/local.rb
fog-0.5.0 lib/fog/storage/local.rb