File: //usr/local/rvm/src/ruby-2.5.9/spec/mspec/lib/mspec/guards/endian.rb
require 'mspec/guards/guard'
# Despite that these are inverses, the two classes are
# used to simplify MSpec guard reporting modes
class EndianGuard < SpecGuard
def pattern
@pattern ||= [1].pack('L')
end
private :pattern
end
class BigEndianGuard < EndianGuard
def match?
pattern[-1] == ?\001
end
end
def big_endian(&block)
BigEndianGuard.new.run_if(:big_endian, &block)
end
def little_endian(&block)
BigEndianGuard.new.run_unless(:little_endian, &block)
end