Sha256: fad73a1e2103b0dede6bcd7b63110316022f1c9bc38c0356485043bcf00449b4

Contents?: true

Size: 1019 Bytes

Versions: 2

Compression:

Stored size: 1019 Bytes

Contents

class Japanese
  class << self
    def convert_wareki(year)
      [
        ["令和", 2019],
        ["平成", 1989],
        ["昭和", 1926],
        ["大正", 1912],
        ["明治", 1868],
      ].each do |a|
        gengo, start_at = a
        wareki = year - start_at + 1
        if wareki > 0
          wareki = "元" if wareki == 1
          return "#{gengo}#{wareki}"
        end
      end
    end

    def is_katakana?(str)
      return nil if !str || str.empty?
      return /^[ァ-ン\-ー―−]+$/ =~ str
    end

    def is_hiragana?(str)
      return nil if !str || str.empty?
      return /^[ぁ-ん\-ー―−]+$/ =~ str
    end

    def to_hiragana(str)
      return nil if !str
      return str.tr("ァ-ン\-ー―−", "ぁ-ん\-ー―−")
    end

    def to_katakana(str)
      return nil if !str
      return str.tr("ぁ-ん\-ー―−", "ァ-ン\-ー―−")
    end

    def to_wday(wday)
      return nil unless wday
      return %w(日 月 火 水 木 金 土)[wday]
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ezframe-0.1.1 lib/ezframe/japanese_utils.rb
ezframe-0.1.0 lib/ezframe/japanese_utils.rb