Module: Interactify

Extended by:
ActiveSupport::Concern
Defined in:
lib/interactify.rb,
lib/interactify.rb,
lib/interactify/dsl.rb,
lib/interactify/wiring.rb,
lib/interactify/version.rb,
lib/interactify/dsl/wrapper.rb,
lib/interactify/dsl/if_klass.rb,
lib/interactify/wiring/files.rb,
lib/interactify/async/jobable.rb,
lib/interactify/configuration.rb,
lib/interactify/dsl/organizer.rb,
lib/interactify/async/null_job.rb,
lib/interactify/dsl/each_chain.rb,
lib/interactify/async/job_klass.rb,
lib/interactify/async/job_maker.rb,
lib/interactify/contracts/setup.rb,
lib/interactify/wiring/constants.rb,
lib/interactify/contracts/failure.rb,
lib/interactify/contracts/helpers.rb,
lib/interactify/dsl/if_interactor.rb,
lib/interactify/contracts/promising.rb,
lib/interactify/wiring/error_context.rb,
lib/interactify/dsl/unique_klass_name.rb,
lib/interactify/contracts/call_wrapper.rb,
lib/interactify/rspec_matchers/matchers.rb,
lib/interactify/wiring/callable_representation.rb,
lib/interactify/contracts/mismatching_promise_error.rb

Defined Under Namespace

Modules: Async, Contracts, Dsl, RSpecMatchers Classes: Configuration, Wiring

Constant Summary collapse

VERSION =
"0.4.1"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.before_raise(&block) ⇒ Object



91
92
93
# File 'lib/interactify.rb', line 91

def before_raise(&block)
  @before_raise_hook = block
end

.configurationObject



99
100
101
# File 'lib/interactify.rb', line 99

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



95
96
97
# File 'lib/interactify.rb', line 95

def configure
  yield configuration
end

.on_contract_breach(&block) ⇒ Object



83
84
85
# File 'lib/interactify.rb', line 83

def on_contract_breach(&block)
  @on_contract_breach = block
end

.railtiesObject



23
24
25
# File 'lib/interactify.rb', line 23

def self.railties
  railties?
end

.railties?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/interactify.rb', line 27

def self.railties?
  !railties_missing?
end

.railties_missing!Object



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

def self.railties_missing!
  @railties_missing = true
end

.railties_missing?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/interactify.rb', line 15

def self.railties_missing?
  @railties_missing
end

.resetObject



73
74
75
76
77
# File 'lib/interactify.rb', line 73

def reset
  @on_contract_breach = nil
  @before_raise_hook = nil
  @configuration = nil
end

.sidekiqObject



39
40
41
# File 'lib/interactify.rb', line 39

def self.sidekiq
  sidekiq?
end

.sidekiq?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/interactify.rb', line 43

def self.sidekiq?
  !sidekiq_missing?
end

.sidekiq_missing!Object



35
36
37
# File 'lib/interactify.rb', line 35

def self.sidekiq_missing!
  @sidekiq_missing = true
end

.sidekiq_missing?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/interactify.rb', line 31

def self.sidekiq_missing?
  @sidekiq_missing
end

.trigger_before_raise_hookObject



87
88
89
# File 'lib/interactify.rb', line 87

def trigger_before_raise_hook(...)
  @before_raise_hook&.call(...)
end

.trigger_contract_breach_hookObject



79
80
81
# File 'lib/interactify.rb', line 79

def trigger_contract_breach_hook(...)
  @on_contract_breach&.call(...)
end

.validate_app(ignore: []) ⇒ Object



69
70
71
# File 'lib/interactify.rb', line 69

def validate_app(ignore: [])
  Interactify::Wiring.new(root: Interactify.configuration.root, ignore:).validate_app
end

Instance Method Details

#called_klass_listObject



136
137
138
# File 'lib/interactify.rb', line 136

def called_klass_list
  context._called.map(&:class)
end