Class: Shokkenki::Term::DateTerm

Inherits:
Term show all
Defined in:
lib/shokkenki/term/date_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) ⇒ DateTerm

Returns a new instance of DateTerm.



14
15
16
# File 'lib/shokkenki/term/date_term.rb', line 14

def initialize value
  @value = value.to_date
end

Class Method Details

.from_json(json) ⇒ Object



10
11
12
# File 'lib/shokkenki/term/date_term.rb', line 10

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

.typeObject



8
# File 'lib/shokkenki/term/date_term.rb', line 8

def self.type; :date; end

Instance Method Details

#exampleObject



25
26
27
# File 'lib/shokkenki/term/date_term.rb', line 25

def example
  @value
end

#match?(compare) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
32
33
# File 'lib/shokkenki/term/date_term.rb', line 29

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

#to_hashObject



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

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