Class: U3d::UnityVersions::VersionsFetcher
- Inherits:
- 
      Object
      
        - Object
- U3d::UnityVersions::VersionsFetcher
 
- Defined in:
- lib/u3d/unity_versions.rb
REGEX: expressions to interpret data collapse
- 
  
    
      #versions  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute versions. 
REGEX: expressions to interpret data collapse
- #fetch_all_channels ⇒ Object
- #fetch_json(os) ⇒ Object
- #fetch_some(type, url) ⇒ Object
- 
  
    
      #initialize(pattern:)  ⇒ VersionsFetcher 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of VersionsFetcher. 
Constructor Details
#initialize(pattern:) ⇒ VersionsFetcher
Returns a new instance of VersionsFetcher.
| 260 261 262 263 | # File 'lib/u3d/unity_versions.rb', line 260 def initialize(pattern:) @versions = {} @patterns = pattern.is_a?(Array) ? pattern : [pattern] end | 
Instance Attribute Details
#versions ⇒ Object
Returns the value of attribute versions.
| 258 259 260 | # File 'lib/u3d/unity_versions.rb', line 258 def versions @versions end | 
Instance Method Details
#fetch_all_channels ⇒ Object
| 292 293 294 295 296 297 298 299 | # File 'lib/u3d/unity_versions.rb', line 292 def fetch_all_channels fetch_some('lts', UNITY_LTSES) fetch_some('stable', UNITY_DOWNLOADS) fetch_some('patch', UNITY_PATCHES) # This does not work any longer # fetch_some('beta', UNITY_BETAS) @versions end | 
#fetch_json(os) ⇒ Object
| 277 278 279 280 281 282 283 284 285 286 287 288 289 290 | # File 'lib/u3d/unity_versions.rb', line 277 def fetch_json(os) UI. 'Loading Unity latest releases' url = UnityVersions.json_url_for(os) latest = UnityVersions.fetch_from_json(url, UNITY_LATEST_JSON) UI.success "Found #{latest.count} latest releases." @versions.merge!(latest) do |key, oldval, newval| UI.important "Unity version #{key} already fetched, replacing #{oldval} with #{newval}" if newval != oldval newval end @versions end | 
#fetch_some(type, url) ⇒ Object
| 265 266 267 268 269 270 271 272 273 274 275 | # File 'lib/u3d/unity_versions.rb', line 265 def fetch_some(type, url) UI. "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 |