def define_action(action, &block)
      action = action.to_sym
      defined_actions << action unless defined_actions.include?(action)
      if action.in?(Evvnt::ClassTemplateMethods.instance_methods)
        define_class_action(action, &block)
      end
      if action.in?(Evvnt::InstanceTemplateMethods.instance_methods)
        define_instance_action(action, &block)
      end
      action
    end
def define_action(action, &block)
      action = action.to_sym
      defined_actions << action unless defined_actions.include?(action)
      if action.in?(Evvnt::ClassTemplateMethods.instance_methods)
        define_class_action(action, &block)
      end
      if action.in?(Evvnt::InstanceTemplateMethods.instance_methods)
        define_instance_action(action, &block)
      end
      action
    end
Define an action for this class to map on to the Evvnt API for this class's
 resource.

 action - A Symbol or String representing the action name. Should be one of the
          template actions if block is not provided.
 block  - A Proc to be used as the action method definition when custom behaviour
          is required.

 Examples

   class Package < Evvnt::Base
     # Define using the template `all` method
     define_action :all
     define_action :mine do
       # define the custom behaviour here
     end
   end

 Returns Symbol