Class: Speedup::Adapters::File

Inherits:
Base
  • Object
show all
Defined in:
lib/speedup/adapters/file.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ File

Returns a new instance of File.



8
9
10
11
12
13
14
15
# File 'lib/speedup/adapters/file.rb', line 8

def initialize(options = {})
  super
  @path = Rails.root.join('log', 'speedup')
  unless ::File.exists?(@path)
    require 'fileutils'
    FileUtils.mkdir_p(@path)
  end
end

Instance Attribute Details

#requestsObject

Returns the value of attribute requests.



6
7
8
# File 'lib/speedup/adapters/file.rb', line 6

def requests
  @requests
end

Instance Method Details

#get(request_id) ⇒ Object



17
18
19
20
# File 'lib/speedup/adapters/file.rb', line 17

def get(request_id)
  file = YAML::load_file(@path.join(request_id.to_s+'.yml'))
  Speedup::RequestData.new.load(file[:contexts], file[:data])
end

#resetObject



26
27
28
# File 'lib/speedup/adapters/file.rb', line 26

def reset
  @requests.clear
end

#write(request_id, data) ⇒ Object



22
23
24
# File 'lib/speedup/adapters/file.rb', line 22

def write(request_id, data)
  ::File.open(@path.join(request_id.to_s+'.yml'), 'w') {|f| f.write({contexts: data.contexts, data: data}.to_yaml) }
end