Sha256: 791989d52c7ab9a7c2e1e40f661071e6a8b1ca3812d27c490d6be75f8c5f46bd

Contents?: true

Size: 1.62 KB

Versions: 13

Compression:

Stored size: 1.62 KB

Contents

#ifndef __convert_string_h__
#define __convert_string_h__

#include "v8.h"
#include <string>

/**
 * StringDest is a data type conversion destination that converts
 * any argument into a string.  It should have all methods listed
 * in data_conversion.txt so it can be used as a template argument
 * for a conversion source class.
 */
class StringDest {

public:
    StringDest();
    ~StringDest();

    std::string pushString(const std::string& value) {
        return value;
    }

#ifdef FIGURED_OUT_INT_ISSUES
    const char* pushInt(int32_t value) {
        char buffer[64];
        std::sprintf(buffer, "%d", value);
        convertedValue = buffer;
        return convertedValue.c_str();
    }
#endif

    std::string pushInt(int64_t value) {
        char buffer[64];
        std::sprintf(buffer, "%lld", value);
        std::string convertedValue(buffer);   
        return convertedValue;
    }

    std::string pushDouble(double value) {
        char buffer[64];
        std::sprintf(buffer, "%g", value);
        std::string convertedValue(buffer);   
        return convertedValue;
    }

    std::string pushBool(bool value) {
        std::string convertedValue(value ? TRUE : FALSE);
        return convertedValue;
    }

    std::string pushNull() {
      printf("I bet we aren't even getting here<br/>");
        return ""; // this kind of sucks
    }
    
    std::string pushUndefined() {
        return "undefined"; // this too
    }

private:

    /**
     * constant "true" used for pushBool
     */
    static const std::string TRUE;

    /**
     * constant "false" used for pushBool
     */
    static const std::string FALSE;
};

#endif

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
therubyracer-0.4.8-x86-darwin-9 ext/v8/convert_string.h
therubyracer-0.4.8-x86-darwin-10 ext/v8/convert_string.h
therubyracer-0.4.8 ext/v8/convert_string.h
therubyracer-0.4.7-x86-darwin-9 ext/v8/convert_string.h
therubyracer-0.4.7-x86-darwin-10 ext/v8/convert_string.h
therubyracer-0.4.7 ext/v8/convert_string.h
therubyracer-0.4.6 ext/v8/convert_string.h
therubyracer-0.4.5 ext/v8/convert_string.h
therubyracer-0.4.4 ext/v8/convert_string.h
therubyracer-0.4.3 ext/v8/convert_string.h
therubyracer-0.4.2 ext/v8/convert_string.h
therubyracer-0.4.1 ext/v8/convert_string.h
therubyracer-0.4.0 ext/v8/convert_string.h