class LibBin::DataShape
Attributes
members[R]
range[R]
Public Class Methods
new(*args)
click to toggle source
# File lib/libbin/data_types.rb, line 23 def initialize(*args) if args.length == 2 @range = Range::new(args[0], args[1]) @members = nil else @members = args[0] @range = @members.values.flatten.compact.collect(&:range).reduce { |memo, obj| memo + obj } end end
Public Instance Methods
first()
click to toggle source
# File lib/libbin/data_types.rb, line 33 def first @range.first end
last()
click to toggle source
# File lib/libbin/data_types.rb, line 37 def last @range.last end
method_missing(m, *arg, &block)
click to toggle source
Calls superclass method
# File lib/libbin/data_types.rb, line 18 def method_missing(m, *arg, &block) return @members[m] if @members && @members[m] super end
size()
click to toggle source
# File lib/libbin/data_types.rb, line 41 def size @range.size end