class PaperHouse::Dependency
Keeps compilation dependencies
Attributes
path[R]
Public Class Methods
new(name)
click to toggle source
Creates an object that tracks depencency information about a rake task specified with the name
argument.
@example
Dependency.new('hello')
# File lib/paper_house/dependency.rb, line 16 def initialize(name) @name = name @path = File.join(Rake.original_dir, ".#{name}.depends") @cache = {} end
Public Instance Methods
read(object_file)
click to toggle source
Reads the dependency information of object_file
. @return [Array<String>]
# File lib/paper_house/dependency.rb, line 24 def read(object_file) db.transaction(true) do |store| store[object_file] end || [] end
write(object_file, dependent_files)
click to toggle source
Saves the dependency information (object_file
=> dependent_files
). @return [void]
# File lib/paper_house/dependency.rb, line 33 def write(object_file, dependent_files) db.transaction(false) do |store| store[object_file] = dependent_files end end
Private Instance Methods
db()
click to toggle source
# File lib/paper_house/dependency.rb, line 41 def db @cache[@name] ||= PStore.new(@path) end