Class: Shokkenki::Term::DateTimeTerm

Inherits:
Term show all
Defined in:
lib/shokkenki/term/date_time_term.rb

Instance Attribute Summary

Attributes inherited from Term

#value

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Term

#to_shokkenki_term, #type

Constructor Details

#initialize(value) ⇒ DateTimeTerm

Returns a new instance of DateTimeTerm.



13
14
15
# File 'lib/shokkenki/term/date_time_term.rb', line 13

def initialize value
  @value = value.to_datetime
end

Class Method Details

.from_json(json) ⇒ Object



9
10
11
# File 'lib/shokkenki/term/date_time_term.rb', line 9

def self.from_json json
  new DateTime.parse(json[:value])
end

.typeObject



7
# File 'lib/shokkenki/term/date_time_term.rb', line 7

def self.type; :date_time; end

Instance Method Details

#exampleObject



24
25
26
# File 'lib/shokkenki/term/date_time_term.rb', line 24

def example
  @value
end

#match?(compare) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
31
32
# File 'lib/shokkenki/term/date_time_term.rb', line 28

def match? compare
  return false unless compare
  datecompare = compare.respond_to?(:to_datetime) ? compare.to_datetime : DateTime.parse(compare.to_s)
  datecompare == @value
end

#to_hashObject



17
18
19
20
21
22
# File 'lib/shokkenki/term/date_time_term.rb', line 17

def to_hash
  {
    :type => type,
    :value => @value.iso8601
  }
end