# Range checking or seek method

**URL:** <https://www.ruby-forum.com/t/range-checking-or-seek-method/120967>\
**Category:** Ruby\
**Created:** [November 22, 2007, 8:16am UTC](https://www.ruby-forum.com/t/range-checking-or-seek-method/120967 "2007-11-22T08:16:41Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![martin\_mercy2001](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/d2c977/32.png) [@martin\_mercy2001](https://www.ruby-forum.com/u/martin_mercy2001)\
**Post date:** [November 22, 2007, 8:16am UTC](https://www.ruby-forum.com/t/range-checking-or-seek-method/120967/1 "2007-11-22T08:16:41Z")

</div>

Hi friends i was in a process of creating a ring buffer and i have done  
read, write methods for it. i need seek methods which does range  
checking. A seek method should take mumber as a argument and return  
nothing. seek changes the read position. I have attached my coding with  
it please help me with code to do seek method. if needs change read aned  
write method also.

class RingBuffer

# Instanciate a ring buffer of the given size.

# The buffer will contain at most +size+ elements

def initialize(size)

```
@max = size

@buffer = Array.new

end

```

def read(number\_of\_bytes)  
#------------------------------------

```
buffer_size=@buffer.length

puts buffer_size

if number_of_bytes < buffer_size

  @newBuffer = Array.new

  @newBuffer = @buffer[0..number_of_bytes]

  puts "Inside no of bytes "

  @newBuffer.each() { |block| puts block.to_s}

  else

    @newBuffer = Array.new

    @newBuffer = @buffer[0..buffer_size]

    puts "Inside buffer size "

    @newBuffer.each() { |block| puts block.to_s}

  end

end

  def write(string_value)
#-----------------------------

  buffer_size=@buffer.length

  puts buffer_size

  if buffer_size > @max

    @buffer.shift

    else

      @buffer << string_value

  end

  buffer_size=@buffer.length

  puts buffer_size

end

def seek

end

```

end
