Module: Quandl::Sandbox::Server::Instance

Extended by:
ActiveSupport::Concern
Included in:
Quandl::Sandbox::Server
Defined in:
lib/quandl/sandbox/server/instance.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#await_instance_uninterruptedlyObject



68
69
70
71
72
73
74
75
76
# File 'lib/quandl/sandbox/server/instance.rb', line 68

def await_instance_uninterruptedly
  t1 = Time.now
  Quandl::Logger.debug "#{instance_id}: Waiting for instance to start up ... "
  Timeout::timeout(TIMEOUT) {
    sleep 0.5 while status == :pending
  }
  Quandl::Logger.debug "#{instance_id}: Instance started. (#{t1.elapsed_ms})"
  true
end

#initialize(*args) ⇒ Object



42
43
44
45
46
47
48
49
# File 'lib/quandl/sandbox/server/instance.rb', line 42

def initialize(*args)
  # grab instance if present
  instance = args.try(:last).try(:[], :instance)
  # upwards
  super
  # assign instance if given
  self.instance = instance if instance.present?
end

#instance_idObject



55
56
57
# File 'lib/quandl/sandbox/server/instance.rb', line 55

def instance_id
  @instance_id ||= instance.try(:id)
end

#launch!Object



63
64
65
66
# File 'lib/quandl/sandbox/server/instance.rb', line 63

def launch!
  self.instance = create_instance!
  add_tags_to_instance
end

#private_ip_addressObject



51
52
53
# File 'lib/quandl/sandbox/server/instance.rb', line 51

def private_ip_address
  @private_ip_address ||= instance.try(:private_ip_address)
end

#running?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/quandl/sandbox/server/instance.rb', line 59

def running?
  @running ||= (status == :running) ? true : nil
end