Create a deal

        Create a new deal

        :calls: ``post /deals``
        :param tuple *args: (optional) Single object representing Deal resource.
        :param dict **kwargs: (optional) Deal attributes.
        :return: Dictionary that support attriubte-style access and represents newely created Deal resource.
        :rtype: dict

def create(self, *args, **kwargs):
        """
        Create a deal

        Create a new deal

        :calls: ``post /deals``
        :param tuple *args: (optional) Single object representing Deal resource.
        :param dict **kwargs: (optional) Deal attributes.
        :return: Dictionary that support attriubte-style access and represents newely created Deal resource.
        :rtype: dict
        """

        if not args and not kwargs:
            raise Exception('attributes for Deal are missing')

        attributes = args[0] if args else kwargs
        attributes = dict((k, v) for k, v in attributes.iteritems() if k in self.OPTS_KEYS_TO_PERSIST)

        if "value" in attributes:
            attributes["value"] = Coercion.to_string(attributes["value"])
        _, _, deal = self.http_client.post("/deals", body=attributes)
        deal["value"] = Coercion.to_decimal(deal["value"])
        return deal