class Zakuro::Condition
Condition
条件
Attributes
columns[R]
@return [Array<String>] 列
date[R]
@return [Date] 基準日
options[R]
@return [Array<String>] オプション
range[R]
@return [Hash<Symbol, Date>] 範囲
Public Class Methods
new(hash: {})
click to toggle source
初期化
@param [Hash<Symbol, Object>] hash パラメータ @option hash [Date] :date 基準日 @option hash [Hash<Symbol, Date>] :range 範囲 @option hash [Array<String>] :columns 列 @option hash [Array<String>] :options オプション
# File lib/zakuro/condition.rb, line 195 def initialize(hash: {}) @date = hash[:date] @range = hash[:range] @columns = hash[:columns] @options = hash[:options] end
validate(hash:)
click to toggle source
検証する
@param [Hash<Symbol, Object>] hash パラメータ
@return [Array<String>] エラーメッセージ
# File lib/zakuro/condition.rb, line 211 def self.validate(hash:) failed = [] unless hash.is_a?(Hash) failed.push("invalid condition type. #{hash}. should be hash") return failed end failed.concat(Catalog::BasisDate.validate(date: hash[:date])) failed.concat(Catalog::Range.validate(hash: hash[:range])) failed.concat(Catalog::Columns.validate(columns: hash[:columns])) failed.concat(Catalog::Options.validate(options: hash[:options])) failed end
Public Instance Methods
rewrite(hash: {})
click to toggle source
上書きする
@param [Hash<Symbol, Object>] hash パラメータ
# File lib/zakuro/condition.rb, line 232 def rewrite(hash: {}) instance_variables.each do |var| key = var.to_s.delete('@') val = hash[key.intern] next unless val instance_variable_set(var, val) end end