Default options can be queried/set via this hash.
Returns true if this file is considered to be binary, false if it is not considered to be binary, and nil if it was empty.
A file is considered to be binary if the percentage of zeros exceeds
options[:percentage_zeros] or the percentage of binary bytes
(8-th bit is 1) exceeds options[:percentage_binary] in the
buffer of size options[:buffer_size] that is checked
(beginning from offset options[:offset]). If an option isn’t
given the one from ::default_options is
used instead.
# File lib/spruz/file_binary.rb, line 37 def binary?(options = {}) options |= FileBinary.default_options old_pos = tell seek options[:offset], Constants::SEEK_SET data = read options[:buffer_size] !data or data.empty? and return nil data_size = data.size data.count(Constants::ZERO).to_f / data_size > options[:percentage_zeros] / 100.0 and return true data.count(Constants::BINARY).to_f / data_size > options[:percentage_binary] / 100.0 ensure old_pos and seek old_pos, Constants::SEEK_SET end
# File lib/spruz/file_binary.rb, line 62 def self.included(modul) modul.instance_eval do extend ClassMethods end super end