Module: Infield

Defined in:
lib/infield.rb,
lib/infield/rails.rb,
lib/infield/version.rb,
lib/infield/core_ext.rb,
lib/infield/heartbeat.rb,
lib/infield/deprecation_warning.rb

Defined Under Namespace

Modules: Core, DeprecationWarning, Heartbeat, InfieldWarningCapture Classes: Railtie

Constant Summary collapse

Error =
Class.new(StandardError)
VERSION =
'0.5.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.api_keyObject

Returns the value of attribute api_key.



19
20
21
# File 'lib/infield.rb', line 19

def api_key
  @api_key
end

.environmentObject

Returns the value of attribute environment.



19
20
21
# File 'lib/infield.rb', line 19

def environment
  @environment
end

.infield_api_urlObject

Returns the value of attribute infield_api_url.



19
20
21
# File 'lib/infield.rb', line 19

def infield_api_url
  @infield_api_url
end

.repo_environment_idObject

Returns the value of attribute repo_environment_id.



19
20
21
# File 'lib/infield.rb', line 19

def repo_environment_id
  @repo_environment_id
end

Class Method Details

.run(api_key: nil, repo_environment_id: nil, environment: nil, sleep_interval: 5, batch_size: 10, queue_limit: 30, heartbeat_interval: 600) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/infield.rb', line 21

def run(api_key: nil, repo_environment_id: nil, environment: nil, sleep_interval: 5, batch_size: 10, queue_limit: 30, heartbeat_interval: 600)
  @api_key = api_key || ENV['INFIELD_API_KEY']
  @repo_environment_id = repo_environment_id
  @infield_api_url = ENV['INFIELD_API_URL'] || 'https://app.infield.ai'
  raise 'API key is required' unless @api_key
  raise 'repo_environment_id is required' unless @repo_environment_id

  @environment = environment || (defined?(Rails) ? Rails.env : nil)

  # Start the deprecation warning processor
  DeprecationWarning::Runner.run(sleep_interval: sleep_interval, batch_size: batch_size, queue_limit: queue_limit)

  # Start the heartbeat
  Heartbeat::Runner.run(interval: heartbeat_interval)
end

.shutdownObject



37
38
39
# File 'lib/infield.rb', line 37

def shutdown
  Heartbeat::Runner.stop
end