Why Ruby DateTime.new_offset is not in rdoc

I wanted to create an instance DateTimefor the UTC time zone using the response of this SOF report that uses the method DateTime#new_offset(0). However, I cannot find its definition in DateTimerdoc or rdoc of my parent class Date . However, the DateTimemethod actually defined:

DateTime.method_defined? :new_offset # => true

There must be a good reason why it new_offsetdoes not appear in rdoc.

+4
source share
2 answers

Why is DateTime#new_offsetnot displayed in RDoc DateTime?
Because it is defined in the parent class Date.

Date#new_offset RDoc Date?
Date ( , , Date - , , Timezone), RDoc.
Ruby/ext/date/date_core.c

#new_offset Date DateTime?
, Ruby.
:
C- date_core.c, Date, DateTime, C-, SimpleDateData ComplexDateData, Ruby, ComplexDateData , SimpleDateData. , -, , Date -, , DateTime. , , (, ), , .
, : if (simple_dat_p...
, dup_obj_with_new_offset C-, () Ruby- Date, . #httpdate (, ) Date.
RDoc Date # httpdate
, d_lite_new_offset (struct) , , dup_obj_with_new_offset. d_lite_new_offset Date.
, C, Ruby , , .

DateTime#new_offset RDoc DateTime?
, , , , , : , ...

  • script, RDoc ruby-doc.org, , , . DateTime#new_offset - ; . DateTime , . #hour, #min, #sec_fraction. DateTime -, RDoc...
    DateTime
  • , , , RDoc script .
+2

Date. :

# d.new_offset([offset=0])  ->  date
#  
# Duplicates self and resets its offset.
# 
#    d = DateTime.new(2001,2,3,4,5,6,'-02:00')
#                              #=> #<DateTime: 2001-02-03T04:05:06-02:00 ...>
#    d.new_offset('+09:00')    #=> #<DateTime: 2001-02-03T15:05:06+09:00 ...>
def new_offset(p1 = v1)
    #This is a stub, used for indexing
end
0

Source: https://habr.com/ru/post/1528775/


All Articles