Module: Purist
- Defined in:
- lib/purist.rb,
lib/purist/errors.rb,
lib/purist/handler.rb,
lib/purist/matcher.rb,
lib/purist/version.rb,
lib/purist/configuration.rb,
lib/purist/trace_point_slice.rb,
lib/purist/integrations/rspec/be_pure.rb,
lib/purist/integrations/rspec/matchers.rb
Defined Under Namespace
Modules: Errors, Handler, Integrations
Classes: Configuration, Matcher, TracePointSlice
Constant Summary
collapse
- TRACE_POINT_TYPES =
%i[call c_call].freeze
- TRACE_HANDLER =
proc do |trace_point|
next unless Purist::Matcher.match?(configuration.trace_targets, trace_point)
Purist.handler.call(trace_point)
end
- VERSION =
'1.0.0'
Class Method Summary
collapse
Class Method Details
.configuration ⇒ Object
29
30
31
|
# File 'lib/purist.rb', line 29
def self.configuration
@configuration ||= Purist::Configuration.instance
end
|
.handler ⇒ Object
25
26
27
|
# File 'lib/purist.rb', line 25
def self.handler
@handler ||= Purist::Handler.build(configuration.action_on_purity_violation)
end
|
.trace(&block) ⇒ Object
17
18
19
20
21
22
23
|
# File 'lib/purist.rb', line 17
def self.trace(&block)
return unless block
TracePoint
.new(*TRACE_POINT_TYPES, &TRACE_HANDLER)
.enable(&block)
end
|