Class: Factorio::Mod::Download

Inherits:
Struct
  • Object
show all
Defined in:
lib/factorio/mod/download.rb

Overview

store the entry of the download

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#dependenciesObject

Returns the value of attribute dependencies

Returns:

  • (Object)

    the current value of dependencies



6
7
8
# File 'lib/factorio/mod/download.rb', line 6

def dependencies
  @dependencies
end

#download_urlObject Also known as: uri

Returns the value of attribute download_url

Returns:

  • (Object)

    the current value of download_url



6
7
8
# File 'lib/factorio/mod/download.rb', line 6

def download_url
  @download_url
end

#factorio_versionObject Also known as: game_version

Returns the value of attribute factorio_version

Returns:

  • (Object)

    the current value of factorio_version



6
7
8
# File 'lib/factorio/mod/download.rb', line 6

def factorio_version
  @factorio_version
end

#file_nameObject

Returns the value of attribute file_name

Returns:

  • (Object)

    the current value of file_name



6
7
8
# File 'lib/factorio/mod/download.rb', line 6

def file_name
  @file_name
end

#released_atObject

Returns the value of attribute released_at

Returns:

  • (Object)

    the current value of released_at



6
7
8
# File 'lib/factorio/mod/download.rb', line 6

def released_at
  @released_at
end

#sha1Object

Returns the value of attribute sha1

Returns:

  • (Object)

    the current value of sha1



6
7
8
# File 'lib/factorio/mod/download.rb', line 6

def sha1
  @sha1
end

#versionObject

Returns the value of attribute version

Returns:

  • (Object)

    the current value of version



6
7
8
# File 'lib/factorio/mod/download.rb', line 6

def version
  @version
end

Class Method Details

.create(release) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/factorio/mod/download.rb', line 11

def self.create(release)
  d = release.merge(release[:info_json])
  d.merge(download_url: Mod.extend_uri(d[:download_url]),
          released_at: DateTime.parse(d[:released_at]),
          dependencies: d[:dependencies].map(&Mod.method(:new)))
   .values_at(*Download.members)
   .then { Download.new(*_1) }
end