Module: RSpec::Undefined::Categories

Defined in:
lib/rspec/undefined/categories.rb

Constant Summary collapse

STANDARD =
[
  :boundary,
  :nil_or_empty,
  :uniqueness,
  :order,
  :datetime,
  :encoding,
  :rounding,
  :permission,
  :state_transition,
  :concurrency,
  :deletion,
  :retroactive,
  :idempotency
].freeze

Class Method Summary collapse

Class Method Details

.allObject



44
45
46
# File 'lib/rspec/undefined/categories.rb', line 44

def self.all
  STANDARD + registered
end

.known?(value) ⇒ Boolean

Returns:

  • (Boolean)


48
49
50
51
# File 'lib/rspec/undefined/categories.rb', line 48

def self.known?(value)
  return false if value.nil?
  all.include?(value)
end

.register(*names) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/rspec/undefined/categories.rb', line 25

def self.register(*names)
  names.each do |n|
    unless n.is_a?(Symbol)
      raise ArgumentError,
            "category は Symbol で指定してください(受け取った値: #{n.inspect}"
    end
  end
  @mutex.synchronize do
    names.each do |n|
      @registered << n unless @registered.include?(n) || STANDARD.include?(n)
    end
  end
  self
end

.registeredObject



40
41
42
# File 'lib/rspec/undefined/categories.rb', line 40

def self.registered
  @mutex.synchronize { @registered.dup }
end

.reset_registered!Object



53
54
55
# File 'lib/rspec/undefined/categories.rb', line 53

def self.reset_registered!
  @mutex.synchronize { @registered.clear }
end