Class: QRTools::Encoder
- Inherits:
-
Object
- Object
- QRTools::Encoder
- Defined in:
- lib/qrtools/encoder.rb,
ext/qrtools/qrtools_encoder.c
Constant Summary collapse
- NULL =
Terminator (NUL character)
-1 # Terminator (NUL character)
- NUMERIC =
Numeric mode
0- ALPHA_NUM =
Alphabet-numeric mode
1- EIGHT_BIT =
8-bit data mode
2- KANJI =
Kanji (shift-jis) mode
3- L =
Error Correction L (Lowest)
0- M =
Error Correction M
1- Q =
Error Corretion Q
2- H =
Error Corretion H (highest)
3
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.encode(*args) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'ext/qrtools/qrtools_encoder.c', line 3 static VALUE encode(int argc, VALUE *argv, VALUE klass) { //extern QRcode *QRcode_encodeString(const char *string, int version, QRecLevel level, QRencodeMode hint, int casesensitive); VALUE string, ; if(rb_scan_args(argc, argv, "11", &string, &) == 1) { = rb_hash_new(); } VALUE version = rb_hash_aref(, ID2SYM(rb_intern("version"))); VALUE level = rb_hash_aref(, ID2SYM(rb_intern("error_correction"))); VALUE case_sensitive = rb_hash_aref(, ID2SYM(rb_intern("case_sensitive"))); VALUE mode = rb_hash_aref(, ID2SYM(rb_intern("mode"))); int cs = 0; if(RTEST(case_sensitive) && case_sensitive == Qtrue) cs = 1; QRcode * code = QRcode_encodeString( StringValuePtr(string), RTEST(version) ? NUM2INT(version) : 0, RTEST(level) ? NUM2INT(level) : 0, RTEST(mode) ? NUM2INT(mode) : 2, cs ); if(NULL == code) rb_raise(rb_eRuntimeError, "could not create code"); return Data_Wrap_Struct(cQRToolsQRCode, NULL, QRcode_free, code); } |
Instance Method Details
#version ⇒ Object
30 31 32 33 34 35 |
# File 'ext/qrtools/qrtools_encoder.c', line 30 static VALUE version(VALUE self) { QRinput * input; Data_Get_Struct(self, QRinput, input); return INT2NUM(QRinput_getVersion(input)); } |
#version=(version) ⇒ Object
37 38 39 40 41 42 43 44 |
# File 'ext/qrtools/qrtools_encoder.c', line 37 static VALUE set_version(VALUE self, VALUE version) { QRinput * input; Data_Get_Struct(self, QRinput, input); QRinput_setVersion(input, NUM2INT(version)); return self; } |