Class: Factorix::API::Release
- Inherits:
-
Data
- Object
- Data
- Factorix::API::Release
- Defined in:
- lib/factorix/api/release.rb,
lib/factorix/api/release.rb
Overview
Release object from MOD Portal API
Represents a specific version/release of a MOD
Instance Attribute Summary collapse
-
#download_url ⇒ URI::HTTPS
readonly
Absolute URL for downloading this release.
-
#feature_flags ⇒ Array<String>
readonly
List of enabled feature flags.
-
#file_name ⇒ String
readonly
File name of the release archive.
-
#info_json ⇒ Hash
readonly
Info.json metadata from the MOD.
-
#released_at ⇒ Time
readonly
Release timestamp in UTC.
-
#sha1 ⇒ String
readonly
SHA1 checksum of the release file.
-
#version ⇒ MODVersion
readonly
MOD version object.
Instance Method Summary collapse
-
#initialize(download_url:, file_name:, info_json:, released_at:, version:, sha1:, feature_flags: []) ⇒ Release
constructor
Create Release from API response hash.
Constructor Details
#initialize(download_url:, file_name:, info_json:, released_at:, version:, sha1:, feature_flags: []) ⇒ Release
Create Release from API response hash
41 42 43 44 45 46 |
# File 'lib/factorix/api/release.rb', line 41 def initialize(download_url:, file_name:, info_json:, released_at:, version:, sha1:, feature_flags: []) download_url = URI("https://mods.factorio.com#{download_url}") released_at = Time.parse(released_at).utc version = MODVersion.from_string(version) super end |
Instance Attribute Details
#download_url ⇒ URI::HTTPS (readonly)
Returns absolute URL for downloading this release.
16 17 18 |
# File 'lib/factorix/api/release.rb', line 16 def download_url @download_url end |
#feature_flags ⇒ Array<String> (readonly)
Returns list of enabled feature flags.
16 17 18 |
# File 'lib/factorix/api/release.rb', line 16 def feature_flags @feature_flags end |
#file_name ⇒ String (readonly)
Returns file name of the release archive.
16 17 18 |
# File 'lib/factorix/api/release.rb', line 16 def file_name @file_name end |
#info_json ⇒ Hash (readonly)
Returns info.json metadata from the MOD.
16 17 18 |
# File 'lib/factorix/api/release.rb', line 16 def info_json @info_json end |
#released_at ⇒ Time (readonly)
Returns release timestamp in UTC.
16 17 18 |
# File 'lib/factorix/api/release.rb', line 16 def released_at @released_at end |
#sha1 ⇒ String (readonly)
Returns SHA1 checksum of the release file.
16 17 18 |
# File 'lib/factorix/api/release.rb', line 16 def sha1 @sha1 end |
#version ⇒ MODVersion (readonly)
Returns MOD version object.
16 17 18 |
# File 'lib/factorix/api/release.rb', line 16 def version @version end |