Module: Faktory::Testing
- Defined in:
- lib/faktory/testing.rb
Class Method Summary collapse
- .__set_test_mode(mode) ⇒ Object
- .__test_mode ⇒ Object
- .__test_mode=(mode) ⇒ Object
- .constantize(str) ⇒ Object
- .disable!(&block) ⇒ Object
- .disabled? ⇒ Boolean
- .enabled? ⇒ Boolean
- .fake!(&block) ⇒ Object
- .fake? ⇒ Boolean
- .inline!(&block) ⇒ Object
- .inline? ⇒ Boolean
Class Method Details
.__set_test_mode(mode) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/faktory/testing.rb', line 11 def self.__set_test_mode(mode) if block_given? current_mode = self.__test_mode begin self.__test_mode = mode yield ensure self.__test_mode = current_mode end else self.__test_mode = mode end end |
.__test_mode ⇒ Object
3 4 5 |
# File 'lib/faktory/testing.rb', line 3 def self.__test_mode @__test_mode end |
.__test_mode=(mode) ⇒ Object
7 8 9 |
# File 'lib/faktory/testing.rb', line 7 def self.__test_mode=(mode) @__test_mode = mode end |
.constantize(str) ⇒ Object
59 60 61 62 63 64 65 66 67 68 |
# File 'lib/faktory/testing.rb', line 59 def self.constantize(str) names = str.split('::') names.shift if names.empty? || names.first.empty? names.inject(Object) do |constant, name| # the false flag limits search for name to under the constant namespace # which mimics Rails' behaviour constant.const_defined?(name, false) ? constant.const_get(name, false) : constant.const_missing(name) end end |
.disable!(&block) ⇒ Object
25 26 27 |
# File 'lib/faktory/testing.rb', line 25 def self.disable!(&block) __set_test_mode(:disable, &block) end |
.disabled? ⇒ Boolean
47 48 49 |
# File 'lib/faktory/testing.rb', line 47 def self.disabled? self.__test_mode == :disable end |
.enabled? ⇒ Boolean
43 44 45 |
# File 'lib/faktory/testing.rb', line 43 def self.enabled? self.__test_mode != :disable end |
.fake!(&block) ⇒ Object
29 30 31 |
# File 'lib/faktory/testing.rb', line 29 def self.fake!(&block) __set_test_mode(:fake, &block) end |
.fake? ⇒ Boolean
51 52 53 |
# File 'lib/faktory/testing.rb', line 51 def self.fake? self.__test_mode == :fake end |
.inline!(&block) ⇒ Object
33 34 35 36 37 38 39 40 41 |
# File 'lib/faktory/testing.rb', line 33 def self.inline!(&block) # Only allow inline testing inside of a block # https://github.com/mperham/sidekiq/issues/3495 unless block_given? raise 'Must provide a block to Faktory::Testing.inline!' end __set_test_mode(:inline, &block) end |
.inline? ⇒ Boolean
55 56 57 |
# File 'lib/faktory/testing.rb', line 55 def self.inline? self.__test_mode == :inline end |