Class: Epuber::Compiler::FileTypes::AbstractFile
- Inherits:
-
Object
- Object
- Epuber::Compiler::FileTypes::AbstractFile
- Defined in:
- lib/epuber/compiler/file_types/abstract_file.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#compilation_context ⇒ Epuber::Compiler::CompilationContext
Non-nil value only during #process() method.
-
#destination_path ⇒ String
Relative destination path.
-
#final_destination_path ⇒ String
Final absolute destination path calculated by FileResolver.
-
#group ⇒ Symbol
Group of this file (:text, :image, :font, …), see Epuber::Compiler::FileFinder::GROUP_EXTENSIONS.
-
#path_type ⇒ Symbol
Type of path, one of :spine, :manifest, :package.
-
#pkg_destination_path ⇒ String
Final relative destination path from root of the package calculated by FileResolver.
-
#properties ⇒ Set<Symbol>
List of properties.
Class Method Summary collapse
-
.file_copy!(source_path, dest_path) ⇒ Object
Nil.
-
.write_to_file(content, to_path) ⇒ Object
Nil.
-
.write_to_file!(content, to_path) ⇒ Object
Nil.
-
.write_to_file?(content, to_path) ⇒ Boolean
Nil.
Instance Method Summary collapse
Instance Attribute Details
#compilation_context ⇒ Epuber::Compiler::CompilationContext
Returns non-nil value only during #process() method.
40 41 42 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 40 def compilation_context @compilation_context end |
#destination_path ⇒ String
Returns relative destination path.
9 10 11 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 9 def destination_path @destination_path end |
#final_destination_path ⇒ String
Returns final absolute destination path calculated by FileResolver.
32 33 34 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 32 def final_destination_path @final_destination_path end |
#group ⇒ Symbol
Returns group of this file (:text, :image, :font, …), see Epuber::Compiler::FileFinder::GROUP_EXTENSIONS.
14 15 16 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 14 def group @group end |
#path_type ⇒ Symbol
Returns type of path, one of :spine, :manifest, :package.
36 37 38 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 36 def path_type @path_type end |
#pkg_destination_path ⇒ String
Returns final relative destination path from root of the package calculated by FileResolver.
28 29 30 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 28 def pkg_destination_path @pkg_destination_path end |
#properties ⇒ Set<Symbol>
Returns list of properties.
22 23 24 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 22 def properties @properties ||= Set.new end |
Class Method Details
.file_copy!(source_path, dest_path) ⇒ Object
Returns nil.
54 55 56 57 58 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 54 def self.file_copy!(source_path, dest_path) FileUtils.mkdir_p(File.dirname(dest_path)) FileUtils.cp(source_path, dest_path) end |
.write_to_file(content, to_path) ⇒ Object
Returns nil.
76 77 78 79 80 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 76 def self.write_to_file(content, to_path) return unless write_to_file?(content, to_path) write_to_file!(content, to_path) end |
.write_to_file!(content, to_path) ⇒ Object
Returns nil.
87 88 89 90 91 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 87 def self.write_to_file!(content, to_path) FileUtils.mkdir_p(File.dirname(to_path)) File.write(to_path, content) end |
.write_to_file?(content, to_path) ⇒ Boolean
Returns nil.
65 66 67 68 69 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 65 def self.write_to_file?(content, to_path) return true unless File.exist?(to_path) File.read(to_path) != content.to_s end |
Instance Method Details
#==(other) ⇒ Object
42 43 44 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 42 def ==(other) self.class == other.class && final_destination_path == other.final_destination_path end |