Class: Inliner::FilenameManager

Inherits:
Object
  • Object
show all
Defined in:
lib/ffi-inliner/inliner.rb

Instance Method Summary collapse

Constructor Details

#initialize(mod, code, libraries) ⇒ FilenameManager

Returns a new instance of FilenameManager.



37
38
39
40
41
# File 'lib/ffi-inliner/inliner.rb', line 37

def initialize(mod, code, libraries)
  @mod = mod.name.gsub(/[:#<>\/]/, '_')
  @code = code
  @libraries = libraries
end

Instance Method Details

#base_fnObject



48
49
50
# File 'lib/ffi-inliner/inliner.rb', line 48

def base_fn
  File.join(Inliner.directory, "#{@mod}_#{(Digest::MD5.new << @code << @libraries.to_s).to_s[0, 4]}")      
end

#cached?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/ffi-inliner/inliner.rb', line 42

def cached?
  File.exists?(so_fn)
end

#exists?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'lib/ffi-inliner/inliner.rb', line 45

def exists?
  File.exists?(c_fn)
end

#so_fnObject



54
55
56
# File 'lib/ffi-inliner/inliner.rb', line 54

def so_fn
  "#{base_fn}#{LIB_EXT}"
end