Class: SwiftObject

Inherits:
Object show all
Defined in:
lib/branch_cli/swift_compatibility.rb

Direct Known Subclasses

Options, SwiftStruct

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSwiftObject

Returns a new instance of SwiftObject.



33
34
35
36
37
38
39
# File 'lib/branch_cli/swift_compatibility.rb', line 33

def initialize
  params = self.class.variable_defaults

  params.each do |key, value|
    instance_variable_set("@#{key}", value)
  end
end

Class Method Details

.let(*args) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/branch_cli/swift_compatibility.rb', line 10

def self.let(*args)
  bind = binding.of_caller(1)
  bind.eval("local_variables").each do |v|
    attr_reader(v)

    variable_defaults[v] = bind.eval("#{v}")
  end
end

.var(*args) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/branch_cli/swift_compatibility.rb', line 19

def self.var(*args)
  bind = binding.of_caller(1)
  bind.eval("local_variables").each do |v|
    attr_reader(v)
    attr_writer(v)

    variable_defaults[v] = bind.eval("#{v}")
  end
end

.variable_defaultsObject



29
30
31
# File 'lib/branch_cli/swift_compatibility.rb', line 29

def self.variable_defaults
  @variable_defaults ||= {}
end