Module: RSchema::Coercers::Time

Extended by:
Time
Included in:
Time
Defined in:
lib/rschema/coercers/time.rb

Instance Method Summary collapse

Instance Method Details

#build(schema) ⇒ Object



7
8
9
# File 'lib/rschema/coercers/time.rb', line 7

def build(schema)
  self
end

#call(value) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/rschema/coercers/time.rb', line 11

def call(value)
  case value
  when ::Time
    Result.success(value)
  when ::String
    time = ::Time.parse(value) rescue nil
    time ? Result.success(time) : Result.failure
  else
    Result.failure
  end
end

#will_affect?(value) ⇒ Boolean

Returns:



23
24
25
# File 'lib/rschema/coercers/time.rb', line 23

def will_affect?(value)
  not value.is_a?(Time)
end