Class: Sheetah::Types::Scalars::DateStringCast
- Inherits:
-
Object
- Object
- Sheetah::Types::Scalars::DateStringCast
- Includes:
- Cast
- Defined in:
- lib/sheetah/types/scalars/date_string_cast.rb
Instance Method Summary collapse
- #call(value, _messenger) ⇒ Object
-
#initialize(date_fmt: DATE_FMT, accept_date: true) ⇒ DateStringCast
constructor
A new instance of DateStringCast.
Methods included from Cast
Constructor Details
#initialize(date_fmt: DATE_FMT, accept_date: true) ⇒ DateStringCast
Returns a new instance of DateStringCast.
16 17 18 19 |
# File 'lib/sheetah/types/scalars/date_string_cast.rb', line 16 def initialize(date_fmt: DATE_FMT, accept_date: true, **) @date_fmt = date_fmt @accept_date = accept_date end |
Instance Method Details
#call(value, _messenger) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/sheetah/types/scalars/date_string_cast.rb', line 21 def call(value, _messenger) case value when ::Date return value if @accept_date when ::String date = parse_date_string(value) return date if date end throw :failure, Messaging::Messages::MustBeDate.new(code_data: { format: @date_fmt }) end |