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