Sha256: 8ec003122680369a1b9790c7637c4cb58605efafd2ab50e14ed1d33bc4ace26c

Contents?: true

Size: 1.25 KB

Versions: 16

Compression:

Stored size: 1.25 KB

Contents

# 健康保健
class TaxJp::SocialInsurances::HealthInsurance
  attr_reader :grade
  attr_reader :valid_from, :valid_until
  attr_reader :prefecture
  attr_reader :general, :care
  attr_reader :particular, :basic
  
  attr_accessor :salary

  def initialize(attrs)
    if attrs.is_a?(Hash)
      @grade = attrs[:grade]
      @valid_from = attrs[:valid_from]
      @valid_until = attrs[:valid_until]
      @prefecture = attrs[:prefecture]
      @general= attrs[:general]
      @care = attrs[:care]
      @particular= attrs[:particular]
      @basic = attrs[:basic]
    elsif attrs.is_a?(Array)
      @valid_from = attrs[0]
      @valid_until = attrs[1]
      @prefecture = attrs[2]
      @general= attrs[3]
      @care = attrs[4]
      @particular= attrs[5]
      @basic = attrs[6]
    end
  end

  def general_amount
    (salary * general).round(1)
  end

  def general_amount_half
    (general_amount / 2).floor(1)
  end

  def general_amount_care
    (salary * (general + care)).round(1) 
  end

  def general_amount_care_half
    (general_amount_care / 2).floor(1) 
  end

  def salary
    @salary || monthly_standard
  end

  private

  def monthly_standard
    raise '等級が指定されていません' unless grade
    grade.grade > 0 ? grade.monthly_standard : 0
  end

end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
tax_jp-1.1.8 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-1.1.7 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-1.1.6 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-1.1.5 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-1.1.4 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-1.1.3 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-1.1.2 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-1.1.1 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-1.1.0 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-1.0.1 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-1.0.0 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-0.6.2 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-0.6.1 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-0.6.0 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-0.5.6 lib/tax_jp/social_insurances/health_insurance.rb
tax_jp-0.5.5 lib/tax_jp/social_insurances/health_insurance.rb