Class: U3d::UnityVersions::VersionsFetcher

Inherits:
Object
  • Object
show all
Defined in:
lib/u3d/unity_versions.rb

REGEX: expressions to interpret data collapse

REGEX: expressions to interpret data collapse

Constructor Details

#initialize(pattern:) ⇒ VersionsFetcher



229
230
231
232
# File 'lib/u3d/unity_versions.rb', line 229

def initialize(pattern:)
  @versions = {}
  @patterns = pattern.is_a?(Array) ? pattern : [pattern]
end

Instance Attribute Details

#versionsObject

Returns the value of attribute versions.



227
228
229
# File 'lib/u3d/unity_versions.rb', line 227

def versions
  @versions
end

Instance Method Details

#fetch_all_channelsObject



246
247
248
249
250
251
252
# File 'lib/u3d/unity_versions.rb', line 246

def fetch_all_channels
  fetch_some('lts', UNITY_LTSES)
  fetch_some('stable', UNITY_DOWNLOADS)
  fetch_some('patch', UNITY_PATCHES)
  fetch_some('beta', UNITY_BETAS)
  @versions
end

#fetch_some(type, url) ⇒ Object



234
235
236
237
238
239
240
241
242
243
244
# File 'lib/u3d/unity_versions.rb', line 234

def fetch_some(type, url)
  UI.message "Loading Unity #{type} releases"
  total = {}
  @patterns.each do |pattern|
    current = UnityVersions.fetch_version_paged(url, pattern)
    current = UnityVersions.fetch_version(url, pattern) if current.empty?
    total.merge!(current)
  end
  UI.success "Found #{total.count} #{type} releases."
  @versions.merge!(total)
end