class FactorioMods::Mod
Attributes
created_at[R]
current_user_rating[RW]
description[RW]
description_html[RW]
downloads_count[RW]
game_versions[RW]
github_path[R]
homepage[RW]
id[RW]
license_flags[R]
license_flags_raw[R]
license_name[RW]
license_url[RW]
media_files[R]
name[RW]
owner[RW]
ratings_count[RW]
releases[R]
summary[RW]
title[RW]
updated_at[R]
visits_count[RW]
Public Class Methods
new(data = {})
click to toggle source
# File lib/factorio_mods/mod.rb, line 91 def initialize(data = {}) data.each do |k, v| send "#{k}=".to_sym, v if respond_to? "#{k}=".to_sym end end
Public Instance Methods
created_at=(date)
click to toggle source
# File lib/factorio_mods/mod.rb, line 105 def created_at=(date) @created_at = Time.parse date end
first_media_file()
click to toggle source
# File lib/factorio_mods/mod.rb, line 109 def first_media_file return media_files.first if media_files @first_media_file end
first_media_file=(file)
click to toggle source
# File lib/factorio_mods/mod.rb, line 114 def first_media_file=(file) @first_media_file = MediaFile.new file end
github_path=(path)
click to toggle source
# File lib/factorio_mods/mod.rb, line 127 def github_path=(path) @github_path = URI('https://github.com/' + path) end
latest_release()
click to toggle source
# File lib/factorio_mods/mod.rb, line 118 def latest_release return releases.max { |r| r.released_at.to_i } if releases @latest_release end
latest_release=(release)
click to toggle source
# File lib/factorio_mods/mod.rb, line 123 def latest_release=(release) @latest_release = Release.new release end
license_flags=(flags)
click to toggle source
# File lib/factorio_mods/mod.rb, line 131 def license_flags=(flags) @license_flags_raw = flags @license_flags = begin ret = [] ret << :permit_commercial_use if flags & (1 << 0) ret << :permit_modification if flags & (1 << 1) ret << :permit_distribution if flags & (1 << 2) ret << :permit_patent_use if flags & (1 << 3) ret << :permit_private_use if flags & (1 << 4) ret << :must_disclose_source if flags & (1 << 5) ret << :must_license_notice if flags & (1 << 6) ret << :must_same_license if flags & (1 << 7) ret << :must_state_changes if flags & (1 << 8) ret << :cant_hold_liable if flags & (1 << 9) ret << :cant_use_trademark if flags & (1 << 10) ret end end
media_files=(files)
click to toggle source
# File lib/factorio_mods/mod.rb, line 152 def media_files=(files) @media_files = files.map { |file| MediaFile.new file } end
releases=(releases)
click to toggle source
# File lib/factorio_mods/mod.rb, line 156 def releases=(releases) @releases = releases.map { |release| Release.new release } end
reload!()
click to toggle source
# File lib/factorio_mods/mod.rb, line 97 def reload! data = FactorioMods::Api::ModPortal.raw_mod(name) data.each do |k, v| send "#{k}=".to_sym, v if respond_to? "#{k}=".to_sym end true end
updated_at=(date)
click to toggle source
# File lib/factorio_mods/mod.rb, line 164 def updated_at=(date) @updated_at = Time.parse date end