X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Ftime.rb;h=d123cf68a6433dd399c7b5a449ce3571672ae34e;hb=30caaa85aed7015ca0d77216bff175eebd917eb7;hp=0cddaf86b9341cd4b2ed21fd68bafdce83914ce2;hpb=ad88f67c13ae0f1a08936dad643f1e3509ab5f40;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/lib/puppet/parser/functions/time.rb b/3rdparty/modules/stdlib/lib/puppet/parser/functions/time.rb index 0cddaf86b..d123cf68a 100644 --- a/3rdparty/modules/stdlib/lib/puppet/parser/functions/time.rb +++ b/3rdparty/modules/stdlib/lib/puppet/parser/functions/time.rb @@ -1,31 +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 - raise(Puppet::ParseError, "time(): Wrong number of arguments "+ - "given #{arguments.size} for 0 or 1") + 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 @@ -33,13 +41,14 @@ Will return something like: 1311972653 ENV['TZ'] = time_zone - time = local_time.localtime + result = local_time.localtime.strftime('%s') ENV['TZ'] = original_zone + else + result = time.localtime.strftime('%s') end # Calling Time#to_i on a receiver changes it. Trust me I am the Doctor. - result = time.strftime('%s') result = result.to_i return result