class Midos::Base
Attributes
auto_id[RW]
fs[RW]
io[RW]
key[RW]
le[RW]
nl[RW]
rs[RW]
vs[R]
Public Class Methods
new(options = {}, &block)
click to toggle source
# File lib/midos/base.rb 52 def initialize(options = {}, &block) 53 self.key = options[:key] 54 55 self.rs = options.fetch(:rs, DEFAULT_RS) 56 self.fs = options.fetch(:fs, DEFAULT_FS) 57 self.vs = options.fetch(:vs, DEFAULT_VS) 58 self.nl = options.fetch(:nl, DEFAULT_NL) 59 self.le = options.fetch(:le, DEFAULT_LE) 60 self.io = options.fetch(:io, self.class::DEFAULT_IO) 61 62 @auto_id_block = options.fetch(:auto_id, block) 63 64 reset 65 end
Private Class Methods
file_method(method, mode, file, options = {}, *args, &block)
click to toggle source
# File lib/midos/base.rb 39 def file_method(method, mode, file, options = {}, *args, &block) 40 Midos.open_file(file, options, mode) { |io| 41 args.unshift(options.merge(io: io)) 42 method ? send(method, *args, &block) : block[new(*args)] 43 } 44 end
replacements_for(*args)
click to toggle source
# File lib/midos/base.rb 46 def replacements_for(*args) 47 args.map { |a| "%#{a.bytes.map { |b| b.to_s(16) }.join.upcase}" } 48 end
Public Instance Methods
reset()
click to toggle source
# File lib/midos/base.rb 71 def reset 72 @auto_id = @auto_id_block ? @auto_id_block.call : default_auto_id 73 end
Private Instance Methods
default_auto_id(n = 0)
click to toggle source
# File lib/midos/base.rb 77 def default_auto_id(n = 0) 78 lambda { n += 1 } 79 end