Class: CarrierWave::Test::Matchers::HavePermissions

Inherits:
Object
  • Object
show all
Defined in:
lib/carrierwave/test/matchers.rb

Overview

:nodoc:

Instance Method Summary collapse

Constructor Details

#initialize(expected) ⇒ HavePermissions

Returns a new instance of HavePermissions.



41
42
43
# File 'lib/carrierwave/test/matchers.rb', line 41

def initialize(expected)
  @expected = expected
end

Instance Method Details

#descriptionObject



59
60
61
# File 'lib/carrierwave/test/matchers.rb', line 59

def description
  "have permissions #{@expected.to_s(8)}"
end

#failure_messageObject



51
52
53
# File 'lib/carrierwave/test/matchers.rb', line 51

def failure_message
  "expected #{@actual.current_path.inspect} to have permissions #{@expected.to_s(8)}, but they were #{(File.stat(@actual.path).mode & 0o777).to_s(8)}"
end

#failure_message_when_negatedObject Also known as: negative_failure_message



55
56
57
# File 'lib/carrierwave/test/matchers.rb', line 55

def failure_message_when_negated
  "expected #{@actual.current_path.inspect} not to have permissions #{@expected.to_s(8)}, but it did"
end

#matches?(actual) ⇒ Boolean

Returns:

  • (Boolean)


45
46
47
48
49
# File 'lib/carrierwave/test/matchers.rb', line 45

def matches?(actual)
  @actual = actual
  # Satisfy expectation here. Return false or raise an error if it's not met.
  (File.stat(@actual.path).mode & 0o777) == @expected
end