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/contracts/organizing.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,
lib/interactify/contracts/mismatching_organizer_error.rb

Defined Under Namespace

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

Constant Summary collapse

VERSION =
"0.5.0"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.before_raise(&block) ⇒ Object



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

def before_raise(&block)
  @before_raise_hook = block
end

.configurationObject



104
105
106
# File 'lib/interactify.rb', line 104

def configuration
  @configuration ||= Configuration.new
end

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

Yields:



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

def configure
  yield configuration
end

.on_contract_breach(&block) ⇒ Object



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

def on_contract_breach(&block)
  @on_contract_breach = block
end

.railtiesObject



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

def railties
  railties?
end

.railties?Boolean

Returns:

  • (Boolean)


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

def railties?
  !railties_missing?
end

.railties_missing!Object



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

def railties_missing!
  @railties_missing = true
end

.railties_missing?Boolean

Returns:

  • (Boolean)


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

def railties_missing?
  @railties_missing
end

.resetObject



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

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

.sidekiqObject



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

def sidekiq
  sidekiq?
end

.sidekiq?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/interactify.rb', line 47

def sidekiq?
  !sidekiq_missing?
end

.sidekiq_missing!Object



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

def sidekiq_missing!
  @sidekiq_missing = true
end

.sidekiq_missing?Boolean

Returns:

  • (Boolean)


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

def sidekiq_missing?
  @sidekiq_missing
end

.trigger_before_raise_hookObject



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

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

.trigger_contract_breach_hookObject



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

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

.validate_app(ignore: []) ⇒ Object



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

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

Instance Method Details

#called_klass_listObject



141
142
143
# File 'lib/interactify.rb', line 141

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