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.
41 42 43 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 41 def compilation_context @compilation_context end |
#destination_path ⇒ String
Returns relative destination path.
10 11 12 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 10 def destination_path @destination_path end |
#final_destination_path ⇒ String
Returns final absolute destination path calculated by FileResolver.
33 34 35 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 33 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.
37 38 39 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 37 def path_type @path_type end |
#pkg_destination_path ⇒ String
Returns final relative destination path from root of the package calculated by FileResolver.
29 30 31 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 29 def pkg_destination_path @pkg_destination_path end |
#properties ⇒ Set<Symbol>
Returns list of properties.
18 19 20 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 18 def properties @properties end |
Class Method Details
.file_copy!(source_path, dest_path) ⇒ Object
Returns nil.
55 56 57 58 59 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 55 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.
77 78 79 80 81 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 77 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.
88 89 90 91 92 93 94 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 88 def self.write_to_file!(content, to_path) FileUtils.mkdir_p(File.dirname(to_path)) File.open(to_path, 'w') do |file_handle| file_handle.write(content) end end |
.write_to_file?(content, to_path) ⇒ Boolean
Returns nil.
66 67 68 69 70 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 66 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
43 44 45 |
# File 'lib/epuber/compiler/file_types/abstract_file.rb', line 43 def ==(other) self.class == other.class && final_destination_path == other.final_destination_path end |