Class: DateTimeAttribute::Container

Inherits:
Object
  • Object
show all
Defined in:
lib/date_time_attribute/container.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(date_time = nil, date = nil, time = nil, time_zone = nil) ⇒ Container

Returns a new instance of Container.

Parameters:

  • date_time (String, Date, Time, DateTime, nil) (defaults to: nil)
  • date (String, Date, Time, DateTime, nil) (defaults to: nil)
  • time (String, Date, Time, DateTime, nil) (defaults to: nil)
  • time_zone (String) (defaults to: nil)


13
14
15
16
17
18
# File 'lib/date_time_attribute/container.rb', line 13

def initialize(date_time = nil, date = nil, time = nil, time_zone = nil)
  self.date_time = date_time
  self.date = date
  self.time = time
  self.time_zone = time_zone
end

Instance Attribute Details

#dateDate, String

Returns:

  • (Date, String)


64
65
66
# File 'lib/date_time_attribute/container.rb', line 64

def date
  @date
end

#date_timeObject

Returns the value of attribute date_time.



7
8
9
# File 'lib/date_time_attribute/container.rb', line 7

def date_time
  @date_time
end

#timeTime, String

Returns:

  • (Time, String)


69
70
71
# File 'lib/date_time_attribute/container.rb', line 69

def time
  @time
end

#time_zoneString?

Returns:

  • (String, nil)


40
41
42
# File 'lib/date_time_attribute/container.rb', line 40

def time_zone
  @time_zone
end

Class Method Details

.parserObject



89
90
91
# File 'lib/date_time_attribute/container.rb', line 89

def self.parser
  @parser || Time.zone || Time
end

.parser=(val) ⇒ Object

Parameters:

  • val

    Parser used for parsing date/time string values



94
95
96
# File 'lib/date_time_attribute/container.rb', line 94

def self.parser=(val)
  @parser = val
end

Instance Method Details

#dayObject



81
82
83
# File 'lib/date_time_attribute/container.rb', line 81

def day
  date_time.try(:day)
end

#hourObject



85
86
87
# File 'lib/date_time_attribute/container.rb', line 85

def hour
  date_time.try(:hour)
end

#in_time_zone(time_zone) ⇒ Container

Returns self.

Parameters:

  • time_zone (String)

Returns:



22
23
24
25
26
# File 'lib/date_time_attribute/container.rb', line 22

def in_time_zone(time_zone)
  self.time_zone = time_zone
  update_date_time
  self
end

#monthObject



77
78
79
# File 'lib/date_time_attribute/container.rb', line 77

def month
  date_time.try(:month)
end

#yearObject



73
74
75
# File 'lib/date_time_attribute/container.rb', line 73

def year
  date_time.try(:year)
end