Class: Zakuro::Operation::Number

Inherits:
Object
  • Object
show all
Defined in:
lib/zakuro/operation/month/type.rb

Overview

Number 月

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(src: -1,, dest: -1)) ⇒ Number

初期化

Parameters:

  • src (Integer) (defaults to: -1,)

    移動元

  • dest (Integer) (defaults to: -1))

    移動先



353
354
355
356
# File 'lib/zakuro/operation/month/type.rb', line 353

def initialize(src: -1, dest: -1)
  @src = src
  @dest = dest
end

Instance Attribute Details

#destInteger (readonly)

Returns 移動先.

Returns:

  • (Integer)

    移動先



345
346
347
# File 'lib/zakuro/operation/month/type.rb', line 345

def dest
  @dest
end

#srcInteger (readonly)

Returns 移動元.

Returns:

  • (Integer)

    移動元



343
344
345
# File 'lib/zakuro/operation/month/type.rb', line 343

def src
  @src
end

Instance Method Details

#change_year?True, False

年変化するか

Returns:

  • (True)

    変化あり

  • (False)

    変化なし



393
394
395
396
397
398
399
400
# File 'lib/zakuro/operation/month/type.rb', line 393

def change_year?
  return false unless valid?

  # 1年分の変化(12ヶ月以上)なしと見なす
  return false if interval.abs < 11

  true
end

#intervalInteger

差分の間隔

Returns:

  • (Integer)

    間隔



383
384
385
# File 'lib/zakuro/operation/month/type.rb', line 383

def interval
  src - dest
end

#invalid?True, False

無効か

Returns:

  • (True)

    無効

  • (False)

    有効



364
365
366
# File 'lib/zakuro/operation/month/type.rb', line 364

def invalid?
  src == -1 || dest == -1
end

#last_year?True, False

昨年の月か

Returns:

  • (True)

    昨年

  • (False)

    昨年ではない



408
409
410
411
412
# File 'lib/zakuro/operation/month/type.rb', line 408

def last_year?
  return false unless change_year?

  interval.negative?
end

#next_year?True, False

来年の月か

Returns:

  • (True)

    来年

  • (False)

    来年ではない



420
421
422
423
424
# File 'lib/zakuro/operation/month/type.rb', line 420

def next_year?
  return false unless change_year?

  interval.positive?
end

#valid?True, False

無効か

Returns:

  • (True)

    無効

  • (False)

    有効



374
375
376
# File 'lib/zakuro/operation/month/type.rb', line 374

def valid?
  !invalid?
end