Class: OracleDB::Timestamp
- Inherits:
-
Object
- Object
- OracleDB::Timestamp
- Defined in:
- lib/oracledb.rb,
ext/oracledb/rboradb_datetime.c
Instance Method Summary collapse
- #day ⇒ Object
- #fsecond ⇒ Object
- #hour ⇒ Object
- #initialize(*args) ⇒ Object constructor
- #inspect ⇒ Object
- #minute ⇒ Object
- #month ⇒ Object
- #second ⇒ Object
- #to_a ⇒ Object
- #to_s ⇒ Object
- #tz_hour_offset ⇒ Object
- #tz_minute_offset ⇒ Object
- #year ⇒ Object
Constructor Details
#initialize(*args) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'ext/oracledb/rboradb_datetime.c', line 49
static VALUE timestamp_initialize(int argc, VALUE *argv, VALUE self)
{
dpiTimestamp *val = To_Timestamp(self);
VALUE year, month, day, hour, minute, second, fsecond, tz_hour_offset, tz_minute_offset;
rb_scan_args(argc, argv, "09", &year, &month, &day, &hour, &minute, &second, &fsecond, &tz_hour_offset, &tz_minute_offset);
val->year = NIL_P(year) ? 1 : NUM2INT(year);
val->month = NIL_P(month) ? 1 : NUM2UINT(month);
val->day = NIL_P(day) ? 1 : NUM2UINT(day);
val->hour = NIL_P(hour) ? 0 : NUM2UINT(hour);
val->minute = NIL_P(minute) ? 0 : NUM2UINT(minute);
val->second = NIL_P(second) ? 0 : NUM2UINT(second);
val->fsecond = NIL_P(fsecond) ? 0 : NUM2UINT(fsecond);
val->tzHourOffset = NIL_P(tz_hour_offset) ? 0 : NUM2INT(tz_hour_offset);
val->tzMinuteOffset = NIL_P(tz_minute_offset) ? 0 : NUM2INT(tz_minute_offset);
return Qnil;
}
|
Instance Method Details
#day ⇒ Object
105 106 107 108 109 |
# File 'ext/oracledb/rboradb_datetime.c', line 105
static VALUE timestamp_day(VALUE self)
{
dpiTimestamp *val = To_Timestamp(self);
return INT2FIX(val->day);
}
|
#fsecond ⇒ Object
129 130 131 132 133 |
# File 'ext/oracledb/rboradb_datetime.c', line 129
static VALUE timestamp_fsecond(VALUE self)
{
dpiTimestamp *val = To_Timestamp(self);
return UINT2NUM(val->fsecond);
}
|
#hour ⇒ Object
111 112 113 114 115 |
# File 'ext/oracledb/rboradb_datetime.c', line 111
static VALUE timestamp_hour(VALUE self)
{
dpiTimestamp *val = To_Timestamp(self);
return INT2FIX(val->hour);
}
|
#inspect ⇒ Object
171 172 173 174 175 |
# File 'lib/oracledb.rb', line 171 def inspect "#<#{self.class}:#{self.to_s}>" rescue "#<#{self.class}:ERROR: #{$!.}>" end |
#minute ⇒ Object
117 118 119 120 121 |
# File 'ext/oracledb/rboradb_datetime.c', line 117
static VALUE timestamp_minute(VALUE self)
{
dpiTimestamp *val = To_Timestamp(self);
return INT2FIX(val->minute);
}
|
#month ⇒ Object
99 100 101 102 103 |
# File 'ext/oracledb/rboradb_datetime.c', line 99
static VALUE timestamp_month(VALUE self)
{
dpiTimestamp *val = To_Timestamp(self);
return INT2FIX(val->month);
}
|
#second ⇒ Object
123 124 125 126 127 |
# File 'ext/oracledb/rboradb_datetime.c', line 123
static VALUE timestamp_second(VALUE self)
{
dpiTimestamp *val = To_Timestamp(self);
return INT2FIX(val->second);
}
|
#to_a ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'ext/oracledb/rboradb_datetime.c', line 67
static VALUE timestamp_to_a(VALUE self)
{
dpiTimestamp *val = To_Timestamp(self);
VALUE ary = rb_ary_new_capa(9);
rb_ary_push(ary, INT2FIX(val->year));
rb_ary_push(ary, INT2FIX(val->month));
rb_ary_push(ary, INT2FIX(val->day));
rb_ary_push(ary, INT2FIX(val->hour));
rb_ary_push(ary, INT2FIX(val->minute));
rb_ary_push(ary, INT2FIX(val->second));
rb_ary_push(ary, UINT2NUM(val->fsecond));
rb_ary_push(ary, INT2FIX(val->tzHourOffset));
rb_ary_push(ary, INT2FIX(val->tzMinuteOffset));
return ary;
}
|
#to_s ⇒ Object
83 84 85 86 87 88 89 90 91 |
# File 'ext/oracledb/rboradb_datetime.c', line 83
static VALUE timestamp_to_s(VALUE self)
{
dpiTimestamp *val = To_Timestamp(self);
char sign = (val->tzHourOffset >= 0 && val->tzMinuteOffset >= 0) ? '+' : '-';
return rb_sprintf("%04d-%02u-%02u %02u:%02u:%02u.%09u %c%02d:%02d",
val->year, val->month, val->day,
val->hour, val->minute, val->second,
val->fsecond, sign, abs(val->tzHourOffset), abs(val->tzMinuteOffset));
}
|
#tz_hour_offset ⇒ Object
135 136 137 138 139 |
# File 'ext/oracledb/rboradb_datetime.c', line 135
static VALUE timestamp_tz_hour_offset(VALUE self)
{
dpiTimestamp *val = To_Timestamp(self);
return INT2FIX(val->tzHourOffset);
}
|
#tz_minute_offset ⇒ Object
141 142 143 144 145 |
# File 'ext/oracledb/rboradb_datetime.c', line 141
static VALUE timestamp_tz_minute_offset(VALUE self)
{
dpiTimestamp *val = To_Timestamp(self);
return INT2FIX(val->tzMinuteOffset);
}
|
#year ⇒ Object
93 94 95 96 97 |
# File 'ext/oracledb/rboradb_datetime.c', line 93
static VALUE timestamp_year(VALUE self)
{
dpiTimestamp *val = To_Timestamp(self);
return INT2FIX(val->year);
}
|