Class: Beanstalk::Bag

Inherits:
Object
  • Object
show all
Defined in:
lib/beanstalk-client/bag.rb

Overview

You should have received a copy of the GNU General Public License along with this program. If not, see <www.gnu.org/licenses/>.

Instance Method Summary collapse

Constructor Details

#initialize(initial_size = 0, &default) ⇒ Bag

Returns a new instance of Bag.



19
20
21
22
23
# File 'lib/beanstalk-client/bag.rb', line 19

def initialize(initial_size=0, &default)
  @default = default
  @items = []
  initial_size.times{give(default.call())}
end

Instance Method Details

#give(x) ⇒ Object



25
26
27
# File 'lib/beanstalk-client/bag.rb', line 25

def give(x)
  (@items << x)[-1]
end

#sizeObject



33
34
35
# File 'lib/beanstalk-client/bag.rb', line 33

def size()
  @items.size
end

#takeObject



29
30
31
# File 'lib/beanstalk-client/bag.rb', line 29

def take()
  @items.pop or @default.call()
end