Class: GitObjectBrowser::Models::GitDate

Inherits:
Object
  • Object
show all
Defined in:
lib/git-object-browser/models/git_date.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(unixtime, timezone) ⇒ GitDate



9
10
11
12
13
# File 'lib/git-object-browser/models/git_date.rb', line 9

def initialize(unixtime, timezone)
  @unixtime = unixtime
  @timezone = timezone
  @date = DateTime.strptime(unixtime.to_s, '%s').new_offset(parse_timezone(timezone))
end

Instance Attribute Details

#dateObject (readonly)

Returns the value of attribute date.



7
8
9
# File 'lib/git-object-browser/models/git_date.rb', line 7

def date
  @date
end

#timezoneObject (readonly)

Returns the value of attribute timezone.



7
8
9
# File 'lib/git-object-browser/models/git_date.rb', line 7

def timezone
  @timezone
end

#unixtimeObject (readonly)

Returns the value of attribute unixtime.



7
8
9
# File 'lib/git-object-browser/models/git_date.rb', line 7

def unixtime
  @unixtime
end

Instance Method Details

#parse_timezone(timezone) ⇒ Object



15
16
17
18
19
# File 'lib/git-object-browser/models/git_date.rb', line 15

def parse_timezone(timezone)
  timezone = '+00:00' if timezone == 'Z'
  return Rational(0, 24) unless timezone =~ /(\+|-)?(\d\d):?(\d\d)/
  Rational($2.to_i, 24) + Rational($3, 60) * (($1 == '-') ? -1 : 1)
end

#to_sObject



21
22
23
# File 'lib/git-object-browser/models/git_date.rb', line 21

def to_s
  @date.iso8601
end