Class: Zakuro::Japan::Type::Validation::Gengou
- Inherits:
-
Object
- Object
- Zakuro::Japan::Type::Validation::Gengou
- Defined in:
- lib/zakuro/era/japan/type/validation/gengou.rb
Overview
Gengou 元号情報
Instance Attribute Summary collapse
-
#index ⇒ Integer
readonly
要素位置.
-
#name ⇒ String
readonly
元号名.
-
#start_date ⇒ Hash<String, String>
readonly
開始日.
-
#start_year ⇒ Hash<String, String>
readonly
開始年.
Instance Method Summary collapse
-
#initialize(hash:, index:) ⇒ Gengou
constructor
初期化.
-
#name? ⇒ True, False
元号名を検証する.
-
#validate ⇒ Array<String>
検証する.
-
#validate_start_date ⇒ Array<String>
開始日を検証する.
-
#validate_start_year ⇒ Array<String>
開始年を検証する.
Constructor Details
#initialize(hash:, index:) ⇒ Gengou
初期化
35 36 37 38 39 40 |
# File 'lib/zakuro/era/japan/type/validation/gengou.rb', line 35 def initialize(hash:, index:) @index = index @name = hash['name'] @start_year = hash['start_year'] @start_date = hash['start_date'] end |
Instance Attribute Details
#index ⇒ Integer (readonly)
Returns 要素位置.
21 22 23 |
# File 'lib/zakuro/era/japan/type/validation/gengou.rb', line 21 def index @index end |
#name ⇒ String (readonly)
Returns 元号名.
23 24 25 |
# File 'lib/zakuro/era/japan/type/validation/gengou.rb', line 23 def name @name end |
#start_date ⇒ Hash<String, String> (readonly)
Returns 開始日.
27 28 29 |
# File 'lib/zakuro/era/japan/type/validation/gengou.rb', line 27 def start_date @start_date end |
#start_year ⇒ Hash<String, String> (readonly)
Returns 開始年.
25 26 27 |
# File 'lib/zakuro/era/japan/type/validation/gengou.rb', line 25 def start_year @start_year end |
Instance Method Details
#name? ⇒ True, False
元号名を検証する
66 67 68 69 70 |
# File 'lib/zakuro/era/japan/type/validation/gengou.rb', line 66 def name? return false unless name name.is_a?(String) end |
#validate ⇒ Array<String>
検証する
47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/zakuro/era/japan/type/validation/gengou.rb', line 47 def validate prefix = "list[#{index}]. " failed = [] failed.push(prefix + "invalid name. #{name}") unless name? failed |= validate_start_year failed |= validate_start_date failed end |
#validate_start_date ⇒ Array<String>
開始日を検証する
86 87 88 |
# File 'lib/zakuro/era/japan/type/validation/gengou.rb', line 86 def validate_start_date SwitchDate.new(hash: start_date).validate end |
#validate_start_year ⇒ Array<String>
開始年を検証する
77 78 79 |
# File 'lib/zakuro/era/japan/type/validation/gengou.rb', line 77 def validate_start_year Both::Year.new(hash: start_year).validate end |