Class: Zakuro::Japan::Type::Validation::VersionRange
- Inherits:
-
Object
- Object
- Zakuro::Japan::Type::Validation::VersionRange
- Defined in:
- lib/zakuro/era/japan/type/validation/version_range.rb
Overview
VersionRange 暦期間情報
Instance Attribute Summary collapse
-
#index ⇒ Integer
readonly
要素位置.
-
#name ⇒ String
readonly
元号名.
- #released ⇒ True, False readonly
-
#start_date ⇒ Hash<String, String>
readonly
開始日.
-
#start_year ⇒ Hash<String, String>
readonly
開始年.
Instance Method Summary collapse
-
#initialize(hash:, index:) ⇒ VersionRange
constructor
初期化.
-
#name? ⇒ True, False
元号名を検証する.
-
#released? ⇒ True, False
リリース有無を検証する.
-
#validate ⇒ Array<String>
検証する.
-
#validate_start_date ⇒ Array<String>
開始日を検証する.
-
#validate_start_year ⇒ Array<String>
開始年を検証する.
Constructor Details
#initialize(hash:, index:) ⇒ VersionRange
初期化
36 37 38 39 40 41 42 |
# File 'lib/zakuro/era/japan/type/validation/version_range.rb', line 36 def initialize(hash:, index:) @index = index @name = hash['name'] @start_year = hash['start_year'] @start_date = hash['start_date'] @released = hash['released'] end |
Instance Attribute Details
#index ⇒ Integer (readonly)
Returns 要素位置.
19 20 21 |
# File 'lib/zakuro/era/japan/type/validation/version_range.rb', line 19 def index @index end |
#name ⇒ String (readonly)
Returns 元号名.
21 22 23 |
# File 'lib/zakuro/era/japan/type/validation/version_range.rb', line 21 def name @name end |
#released ⇒ True, False (readonly)
28 29 30 |
# File 'lib/zakuro/era/japan/type/validation/version_range.rb', line 28 def released @released end |
#start_date ⇒ Hash<String, String> (readonly)
Returns 開始日.
25 26 27 |
# File 'lib/zakuro/era/japan/type/validation/version_range.rb', line 25 def start_date @start_date end |
#start_year ⇒ Hash<String, String> (readonly)
Returns 開始年.
23 24 25 |
# File 'lib/zakuro/era/japan/type/validation/version_range.rb', line 23 def start_year @start_year end |
Instance Method Details
#name? ⇒ True, False
元号名を検証する
70 71 72 73 74 |
# File 'lib/zakuro/era/japan/type/validation/version_range.rb', line 70 def name? return false unless name name.is_a?(String) end |
#released? ⇒ True, False
リリース有無を検証する
100 101 102 103 104 |
# File 'lib/zakuro/era/japan/type/validation/version_range.rb', line 100 def released? return false if released.nil? released.is_a?(TrueClass) || released.is_a?(FalseClass) end |
#validate ⇒ Array<String>
検証する
49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/zakuro/era/japan/type/validation/version_range.rb', line 49 def validate prefix = "list[#{index}]. " failed = [] failed.push(prefix + "invalid name. #{name}") unless name? failed |= validate_start_year failed |= validate_start_date failed.push(prefix + "invalid released. #{released}") unless released? failed end |