class XCTasks::TestTask::Destination

Attributes

arch[RW]

OS X attributes

id[RW]

iOS keys

name[RW]

Common Keys

os[RW]

iOS Simulator keys

platform[RW]

Common Keys

Public Class Methods

new(options = {}) click to toggle source
# File lib/xctasks/test_task.rb, line 69
def initialize(options = {})
  options.each { |k,v| self[k] = v }
end

Public Instance Methods

[](key) click to toggle source
# File lib/xctasks/test_task.rb, line 80
def [](key)
  send(key)
end
[]=(key, value) click to toggle source
# File lib/xctasks/test_task.rb, line 84
def []=(key, value)
  send("#{key}=", value)
end
platform=(platform) click to toggle source
# File lib/xctasks/test_task.rb, line 73
def platform=(platform)
  valid_platforms = {osx: 'OS X', ios: 'iOS', iossimulator: 'iOS Simulator'}
  raise ArgumentError, "Platform must be one of :osx, :ios, or :iossimulator" if platform.kind_of?(Symbol) && !valid_platforms.keys.include?(platform)
  raise ArgumentError, "Platform must be one of 'OS X', 'iOS', or 'iOS Simulator'" if platform.kind_of?(String) && !valid_platforms.values.include?(platform)
  @platform = platform.kind_of?(Symbol) ? valid_platforms[platform] : platform
end
to_s() click to toggle source
# File lib/xctasks/test_task.rb, line 88
def to_s
  keys = [:platform, :name, :arch, :id, :os].reject { |k| self[k].nil? }
  keys.map { |k| "#{key_name(k)}='#{self[k].to_s}'" }.join(',')
end

Private Instance Methods

key_name(attr) click to toggle source
# File lib/xctasks/test_task.rb, line 94
def key_name(attr)
  attr == :os ? 'OS' : attr.to_s
end