Class: TypeFusion::Config

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/type_fusion/config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfig

Returns a new instance of Config.



22
23
24
25
26
27
28
# File 'lib/type_fusion/config.rb', line 22

def initialize
  @type_sample_call_rate = 0.001
  @type_sample_request = ->(_env) { [true, false, false, false].sample }
  @type_sample_tracepoint_path = ->(_tracepoint_path) { true }
  @endpoint = "https://gem.sh/api/v1/types/samples"
  @application_name = "TypeFusion"
end

Instance Attribute Details

#application_nameObject

Returns the value of attribute application_name.



20
21
22
# File 'lib/type_fusion/config.rb', line 20

def application_name
  @application_name
end

#endpointObject

Returns the value of attribute endpoint.



20
21
22
# File 'lib/type_fusion/config.rb', line 20

def endpoint
  @endpoint
end

#type_sample_call_rateObject

Returns the value of attribute type_sample_call_rate.



20
21
22
# File 'lib/type_fusion/config.rb', line 20

def type_sample_call_rate
  @type_sample_call_rate
end

#type_sample_requestObject

Returns the value of attribute type_sample_request.



20
21
22
# File 'lib/type_fusion/config.rb', line 20

def type_sample_request
  @type_sample_request
end

#type_sample_tracepoint_pathObject

Returns the value of attribute type_sample_tracepoint_path.



20
21
22
# File 'lib/type_fusion/config.rb', line 20

def type_sample_tracepoint_path
  @type_sample_tracepoint_path
end

Instance Method Details

#type_sample_call?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/type_fusion/config.rb', line 38

def type_sample_call?
  type_sample_call_rate > rand
end

#type_sample_request?(env) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/type_fusion/config.rb', line 30

def type_sample_request?(env)
  type_sample_request&.call(env)
end

#type_sample_tracepoint_path?(env) ⇒ Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/type_fusion/config.rb', line 34

def type_sample_tracepoint_path?(env)
  type_sample_tracepoint_path&.call(env)
end