Class: UnpackStrategy::Fossil
- Inherits:
-
Object
- Object
- UnpackStrategy::Fossil
- Extended by:
- SystemCommand::Mixin
- Includes:
- UnpackStrategy
- Defined in:
- Library/Homebrew/unpack_strategy/fossil.rb
Overview
Strategy for unpacking Fossil repositories.
Instance Attribute Summary
Attributes included from UnpackStrategy
Class Method Summary collapse
Methods included from SystemCommand::Mixin
system_command, system_command!
Methods included from UnpackStrategy
#dependencies, detect, #extract, #extract_nestedly, from_extension, from_magic, from_type, #initialize
Class Method Details
.can_extract?(path) ⇒ Boolean
18 19 20 21 22 23 24 |
# File 'Library/Homebrew/unpack_strategy/fossil.rb', line 18 def self.can_extract?(path) return false unless path.magic_number.match?(/\ASQLite format 3\000/n) # Fossil database is made up of artifacts, so the `artifact` table must exist. query = "select count(*) from sqlite_master where type = 'view' and name = 'artifact'" system_command("sqlite3", args: [path, query]).stdout.to_i == 1 end |
.extensions ⇒ Object
14 15 16 |
# File 'Library/Homebrew/unpack_strategy/fossil.rb', line 14 def self.extensions [] end |