module XRBP::WebSocket::Cmds::Paginated

Helper mixin facilitating paginated command retrieval.

@private

Attributes

prev_cmd[R]

Public Instance Methods

args_without_paginate() click to toggle source
# File lib/xrbp/websocket/cmds/paginated.rb, line 31
def args_without_paginate
  args.except(*paginate_args)
end
each_ancestor(&bl) click to toggle source
# File lib/xrbp/websocket/cmds/paginated.rb, line 17
def each_ancestor(&bl)
  bl.call self
  prev_cmd.each_ancestor &bl if prev_cmd
end
next_page(marker) click to toggle source
# File lib/xrbp/websocket/cmds/paginated.rb, line 39
def next_page(marker)
  self.class.from_h(to_h.merge({:marker   => marker,
                                :prev_cmd => self}))
end
paginate?() click to toggle source
# File lib/xrbp/websocket/cmds/paginated.rb, line 35
def paginate?
  !!@paginate
end
paginate_args() click to toggle source
# File lib/xrbp/websocket/cmds/paginated.rb, line 27
def paginate_args
  return :prev_cmd #, :paginate # XXX need to forward paginate
end
parse_paginate(args) click to toggle source
# File lib/xrbp/websocket/cmds/paginated.rb, line 22
def parse_paginate(args)
  @paginate = args[:paginate]
  @prev_cmd = args[:prev_cmd]
end
root_cmd() click to toggle source
# File lib/xrbp/websocket/cmds/paginated.rb, line 12
def root_cmd
  return self unless prev_cmd
  prev_cmd.root_cmd
end