Sha256: af1bc1426498134b365277b4a4b617b843d0e82672c979caa53be27e070b3d3f

Contents?: true

Size: 1001 Bytes

Versions: 8

Compression:

Stored size: 1001 Bytes

Contents

require 'rumx'

class MyBean
  include Rumx::Bean

  # old bean_attr_accessor      :max_messages, :integer, 'The maximum number of messages to keep'
  bean_attr_accessor :max_messages, :integer, 'The maximum number of messages to keep'
  # old bean_list_attr_accessor :messages,     :string,  'Message', :max_size => :max_messages
  # Uncomment allow_write part to allow write access to individual messages
  bean_attr_reader :messages,     :list,    'Message', :list_type => :string, :max_size => :max_messages#, :allow_write => true

  bean_operation   :push_message, :string, 'Push message onto message list', [
      [ :message, :string, 'A string argument' ]
  ]

  def initialize
    @messages = ['Here', 'are', 'some messages']
    @max_messages = 5
  end

  def push_message(message)
    @messages.push(message)
    @messages.shift while @messages.size > @max_messages
    return message
  end

  def bean_attributes_changed
    @messages.shift while @messages.size > @max_messages
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rumx-0.2.3 examples/list/my_bean.rb
rumx-0.2.2 examples/list/my_bean.rb
rumx-0.1.5 examples/list/my_bean.rb
rumx-0.1.4 examples/list/my_bean.rb
rumx-0.1.3 examples/list/my_bean.rb
rumx-0.1.2 examples/list/my_bean.rb
rumx-0.1.1 examples/list/my_bean.rb
rumx-0.1.0 examples/list/my_bean.rb