Sha256: ac830c9779272530ae0c6d26c6d8ddec6834089d1fa06ce97c995d4be4552699

Contents?: true

Size: 578 Bytes

Versions: 1

Compression:

Stored size: 578 Bytes

Contents

require 'hashmake'

module SPNet
class Message
  
  include Hashmake::HashMakeable
  
  CONTROL = :messageTypeControl
  COMMAND = :messageTypeCommand
  
  TYPES = [ CONTROL, COMMAND ]
  
  HASHED_ARGS_SPECS = [
    Hashmake::HashedArg.new(:reqd => true, :key => :type, :type => Symbol, :validator => ->(a){ TYPES.include?(a) } ),
    Hashmake::HashedArg.new(:reqd => false, :key => :data, :type => Object, :default => nil),
  ]
  
  attr_accessor :data
  attr_reader :type
  
  def initialize hashed_args = {}
    hash_make Message::HASHED_ARGS_SPECS, hashed_args
  end
end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spnet-0.1.0 lib/spnet/message.rb