Module: GraphQLAuthorizer::Validator::Timestamp

Included in:
Request
Defined in:
lib/graphql_authorizer/validator/timestamp.rb

Overview

Module for Validating Time Stamp

Instance Method Summary collapse

Instance Method Details

#request_timestamp_is_valid?(timestamp:) ⇒ Boolean

Returns:

  • (Boolean)


5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/graphql_authorizer/validator/timestamp.rb', line 5

def request_timestamp_is_valid?(timestamp:)
  current_time = Time.now
  request_time = Time.at(timestamp.to_i)
  one_minute     = 60
  time_difference_in_minutes = ((current_time - request_time) / one_minute)
                               .round
                               .abs # Get absolute Value

  # Check if request is received within a minute
  # the request has been sent from client
  time_difference_in_minutes < 1
end