Included Modules

Files

Class Index [+]

Quicksearch

XSD::XSDTime

Constants

Type

Public Class Methods

new(value = nil) click to toggle source
     # File lib/xsd/datatypes.rb, line 669
669:   def initialize(value = nil)
670:     init(Type, value)
671:   end

Private Instance Methods

_set(data) click to toggle source
     # File lib/xsd/datatypes.rb, line 693
693:   def _set(data)
694:     if data.nil?
695:       @data = @secfrac = nil
696:       return
697:     end
698:     @data, @secfrac = data
699:   end
_to_s() click to toggle source
     # File lib/xsd/datatypes.rb, line 701
701:   def _to_s
702:     s = format('%02d:%02d:%02d', @data.hour, @data.min, @data.sec)
703:     if @data.sec_fraction.nonzero?
704:       if @secfrac
705:         s << ".#{ @secfrac }"
706:       else
707:         s << sprintf("%.16f",
708:           (@data.sec_fraction * DayInSec).to_f).sub(/^0/, '').sub(/0*$/, '')
709:       end
710:     end
711:     add_tz(s)
712:   end
screen_data_str(t) click to toggle source
     # File lib/xsd/datatypes.rb, line 675
675:   def screen_data_str(t)
676:     /^(\d\d):(\d\d):(\d\d(?:\.(\d*))?)(Z|(?:([+\-])(\d\d):(\d\d))?)?$/ =~ t.to_s.strip
677:     unless Regexp.last_match
678:       raise ValueSpaceError.new("#{ type }: cannot accept '#{ t }'.")
679:     end
680:     hour = $1.to_i
681:     min = $2.to_i
682:     sec = $3.to_i
683:     secfrac = $4
684:     zonestr = $5
685:     data = DateTime.civil(1, 1, 1, hour, min, sec, tz2of(zonestr))
686:     if secfrac
687:       diffday = secfrac.to_i.to_r / (10 ** secfrac.size) / DayInSec
688:       data += diffday
689:     end
690:     [data, secfrac]
691:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.