Class: Capistrano::JDKInstaller::JDKInstallerVersions
- Inherits:
-
Object
- Object
- Capistrano::JDKInstaller::JDKInstallerVersions
- Includes:
- Enumerable
- Defined in:
- lib/capistrano-jdk-installer/jdk-installer.rb
Constant Summary collapse
- JSON_VERSION =
2
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Class Method Summary collapse
Instance Method Summary collapse
- #each(&block) ⇒ Object
- #find_by_major_version(version, options = {}) ⇒ Object
-
#initialize(data, options = {}) ⇒ JDKInstallerVersions
constructor
A new instance of JDKInstallerVersions.
- #logger ⇒ Object
- #versions ⇒ Object (also: #to_a)
Constructor Details
#initialize(data, options = {}) ⇒ JDKInstallerVersions
Returns a new instance of JDKInstallerVersions.
312 313 314 315 316 317 318 319 320 |
# File 'lib/capistrano-jdk-installer/jdk-installer.rb', line 312 def initialize(data, ={}) @data = data @options = .dup @logger = @options[:logger] if @data["version"] != JSON_VERSION raise(JDKInstallerParseError.new("JSON version mismatch (got=#{@data["version"]}, expected=#{JSON_VERSION})")) end end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
321 322 323 |
# File 'lib/capistrano-jdk-installer/jdk-installer.rb', line 321 def @options end |
Class Method Details
.parse(s, options = {}) ⇒ Object
305 306 307 308 309 |
# File 'lib/capistrano-jdk-installer/jdk-installer.rb', line 305 def parse(s, ={}) s = s.sub(/\A[^{]*/, "").sub(/[^}]*\z/, "").strip # remove leading & trailing JS code from response i = new(JSON.load(s), ) i.versions end |
Instance Method Details
#each(&block) ⇒ Object
334 335 336 |
# File 'lib/capistrano-jdk-installer/jdk-installer.rb', line 334 def each(&block) self.to_a.each(&block) end |
#find_by_major_version(version, options = {}) ⇒ Object
338 339 340 341 |
# File 'lib/capistrano-jdk-installer/jdk-installer.rb', line 338 def find_by_major_version(version, ={}) version = version.to_s self.find { |v| v.major_version == version } end |
#logger ⇒ Object
323 324 325 |
# File 'lib/capistrano-jdk-installer/jdk-installer.rb', line 323 def logger @logger ||= Logger.new(STDOUT) end |
#versions ⇒ Object Also known as: to_a
327 328 329 330 331 |
# File 'lib/capistrano-jdk-installer/jdk-installer.rb', line 327 def versions @versions ||= @data["data"].map { |version| JDKInstallerVersion.new(version, @options) } end |