Module: Moneta::File::Implementation

Included in:
Moneta::File
Defined in:
lib/moneta/file.rb

Instance Method Summary collapse

Instance Method Details

#[](key) ⇒ Object



58
59
60
61
62
# File 'lib/moneta/file.rb', line 58

def [](key)
  if ::File.exist?(path(key))
    Marshal.load(::File.read(path(key)))
  end
end

#[]=(key, value) ⇒ Object



64
65
66
67
68
69
# File 'lib/moneta/file.rb', line 64

def []=(key, value)
  ::File.open(path(key), "w") do |file|
    contents = Marshal.dump(value)
    file.puts(contents)
  end
end

#clearObject



86
87
88
89
# File 'lib/moneta/file.rb', line 86

def clear
  FileUtils.rm_rf(@directory)
  FileUtils.mkdir(@directory)
end

#delete(key) ⇒ Object



75
76
77
78
79
80
# File 'lib/moneta/file.rb', line 75

def delete(key)
  value = self[key]
  FileUtils.rm(path(key))
  value
rescue Errno::ENOENT
end

#fetch(key, default) ⇒ Object



71
72
73
# File 'lib/moneta/file.rb', line 71

def fetch(key, default)
  self[key] || default
end

#has_key?(key) ⇒ Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/moneta/file.rb', line 54

def has_key?(key)
  ::File.exist?(path(key))
end

#key?(key) ⇒ Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/moneta/file.rb', line 50

def key?(key)
  ::File.exist?(path(key))
end

#store(key, value, options = {}) ⇒ Object



82
83
84
# File 'lib/moneta/file.rb', line 82

def store(key, value, options = {})
  self[key] = value
end