Sha256: adc7567cf4a45affc22e6e0a6fb2a5725fb5022a44130ad9b86494434058e521
Contents?: true
Size: 1.38 KB
Versions: 2
Compression:
Stored size: 1.38 KB
Contents
module BinData class Base # Don't override initialize. If you are defining a new kind of datatype # (list, array, choice etc) then put your initialization code in # #initialize_instance. BinData objects might be initialized as prototypes # and your initialization code may not be called. # # If you're subclassing BinData::Record, you are definitely doing the wrong # thing. Read the documentation on how to use BinData. # http://github.com/dmendel/bindata/wiki/Records alias_method :initialize_without_warning, :initialize def initialize_with_warning(*args) owner = method(:initialize).owner if owner != BinData::Base msg = "Don't override #initialize on #{owner}." if %w(BinData::Base BinData::BasePrimitive).include? self.class.superclass.name msg += "\nrename #initialize to #initialize_instance." end fail msg end initialize_without_warning(*args) end alias_method :initialize, :initialize_with_warning def initialize_instance(*args) unless args.empty? fail "#{caller[0]} remove the call to super in #initialize_instance" end end # #offset has been renamed to #abs_offset. # Eventually #rel_offset will be renamed to #offset. def offset warn "#offset is deprecated in #{debug_name}. Use #abs_offset instead" abs_offset end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
bindata-2.2.0 | lib/bindata/warnings.rb |
bindata-2.1.0 | lib/bindata/warnings.rb |