[ create a new paste ] login | about

Link: http://codepad.org/47DEtHOD    [ raw code | fork ]

Ruby, pasted on Jul 3:
    # Normal implementation    
    module Messages
      include Beefcake::Message
      
      module Type
        SomeAction = 0
      end

      class ActionMessage
        module ActionFlag
          Action1 = 0
          Action2 = 1
          Action3 = 2
        end

        required :actions, ActionFlag, 1
      end
    end
    
    send_packet Messages::Type::SomeAction, Messages::ActionMessage.new(actions: Messages::ActionMessage::ActionFlag::Action1 | Messages::ActionMessage::ActionFlag::Action2)
    
    # Ideal DSL implementation
    define_protocol do
      type :some_action, :ActionMessage

      message :ActionMessage do
        flags :ActionFlag,
              :action_1,
              :action_2,
              :action_3

        required :actions, ActionFlag, 1
      end
    end
    
    send_packet :some_action, actions: [:action_1, :action_2]


Create a new paste based on this one


Comments: