Update stdlib and concat to 6.1.0 both
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / parser / functions / time.rb
index d7780c8..d123cf6 100644 (file)
@@ -1,30 +1,39 @@
 #
 # time.rb
 #
-
 module Puppet::Parser::Functions
-  newfunction(:time, :type => :rvalue, :doc => <<-EOS
-This function will return the current time since epoch as an integer.
+  newfunction(:time, :type => :rvalue, :doc => <<-DOC
+    @summary
+      This function will return the current time since epoch as an integer.
+
+    @return
+      the current time since epoch as an integer.
+
+    @example **Usage**
+
+      time()
+      Will return something like: 1311972653
 
-*Examples:*
+    > *Note:* that since Puppet 4.8.0 the Puppet language has the data types Timestamp (a point in time) and
+    Timespan (a duration). The following example is equivalent to calling time() without
+    any arguments:
 
-    time()
+    ```Timestamp()```
 
-Will return something like: 1311972653
-    EOS
-  ) do |arguments|
+    DOC
+             ) do |arguments|
 
     # The Time Zone argument is optional ...
     time_zone = arguments[0] if arguments[0]
 
-    if (arguments.size != 0) and (arguments.size != 1) then
+    if !arguments.empty? && (arguments.size != 1)
       raise(Puppet::ParseError, "time(): Wrong number of arguments given #{arguments.size} for 0 or 1")
     end
 
     time = Time.new
 
     # There is probably a better way to handle Time Zone ...
-    if time_zone and not time_zone.empty?
+    if time_zone && !time_zone.empty?
       original_zone = ENV['TZ']
 
       local_time = time.clone