Class | Time
In: | yaml/rubytypes.rb
Parent: | Object

### Methods

to_yaml yaml_new

### Public Class methods

yaml_new( klass, tag, val )

[Source]

    # File yaml/rubytypes.rb, line 302
        def Time.yaml_new( klass, tag, val )
            if Hash === val
                t = val.delete( 'at' )
                val.each { |k,v| t.instance_variable_set( k, v ) }
                t
            else
                raise YAML::TypeError, "Invalid Time: " + val.inspect
            end
        end

### Public Instance methods

to_yaml( opts = {} )

[Source]

    # File yaml/rubytypes.rb, line 311
            def to_yaml( opts = {} )
                    YAML::quick_emit( object_id, opts ) do |out|
                tz = "Z"
                # from the tidy Tobias Peters <t-peters@gmx.de> Thanks!
                unless self.utc?
                    utc_same_instant = self.dup.utc
                    utc_same_writing = Time.utc(year,month,day,hour,min,sec,usec)
                    difference_to_utc = utc_same_writing - utc_same_instant
                    if (difference_to_utc < 0)
                        difference_sign = '-'
                        absolute_difference = -difference_to_utc
                    else
                        difference_sign = '+'
                        absolute_difference = difference_to_utc
                    end
                    difference_minutes = (absolute_difference/60).round
                    tz = "%s%02d:%02d" % [ difference_sign, difference_minutes / 60, difference_minutes % 60]
                end
                standard = self.strftime( "%Y-%m-%d %H:%M:%S" )
                standard += ".%06d" % [usec] if usec.nonzero?
                standard += " %s" % [tz]
                if to_yaml_properties.empty?
                    out.scalar( taguri, standard, :plain )
                else
                    out.map( taguri, to_yaml_style ) do |map|
                        map.add( 'at', standard )
                        to_yaml_properties.each do |m|
                            map.add( m, instance_variable_get( m ) )
                        end
                    end
                end
            end
            end

[Validate]