Class: Eff::Package

Inherits:
Object
  • Object
show all
Defined in:
lib/eff/package.rb,
lib/eff/package/semantic_version.rb

Defined Under Namespace

Classes: SemanticVersion

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Package

Returns a new instance of Package.



10
11
12
13
14
15
16
17
18
19
# File 'lib/eff/package.rb', line 10

def initialize(options = {})
  @name          = options[:name]
  @url_template  = options[:url_template]
  @file_template = options[:file_template]
  self.version   = options[:version]
  @checksum      = options[:checksum]
  @hash_function = options[:hash_function]

  after_init_hook
end

Instance Attribute Details

#checksumObject

Returns the value of attribute checksum.



8
9
10
# File 'lib/eff/package.rb', line 8

def checksum
  @checksum
end

#hash_functionObject

Returns the value of attribute hash_function.



8
9
10
# File 'lib/eff/package.rb', line 8

def hash_function
  @hash_function
end

#nameObject

Returns the value of attribute name.



8
9
10
# File 'lib/eff/package.rb', line 8

def name
  @name
end

#save_fileObject

Returns the value of attribute save_file.



8
9
10
# File 'lib/eff/package.rb', line 8

def save_file
  @save_file
end

#versionObject

Returns the value of attribute version.



8
9
10
# File 'lib/eff/package.rb', line 8

def version
  @version
end

Instance Method Details

#==(other) ⇒ Object



46
47
48
# File 'lib/eff/package.rb', line 46

def ==(other)
  (name == other.name) && (version == other.version)
end

#downloadObject



21
22
23
# File 'lib/eff/package.rb', line 21

def download
  downloader.get
end

#downloaded?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/eff/package.rb', line 25

def downloaded?
  downloader_success?
end

#file_nameObject



33
34
35
# File 'lib/eff/package.rb', line 33

def file_name
  template_for(:file).result
end

#urlObject



29
30
31
# File 'lib/eff/package.rb', line 29

def url
  template_for(:url).result
end

#verifiable?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/eff/package.rb', line 54

def verifiable?
  checksum && hash_function
end

#verified?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/eff/package.rb', line 50

def verified?
  verifiable? ? Verifier.check(save_file, checksum, hash_function) : false
end