Sha256: 5c380dbef2d66c28459102250212f18cb8d0f4b742e73b6d613fe264294b2be9

Contents?: true

Size: 1.19 KB

Versions: 1

Compression:

Stored size: 1.19 KB

Contents

# 日付・時刻を扱うクラス DateTime に機能を追加するモジュール
module PositiveTimeSupport::DateTimeExt

  extend ::ActiveSupport::Concern

  # 日付・時刻を扱うクラス DateTime にクラスメソッドを追加するためのモジュール
  module ClassMethods

    # hh:mm の形の文字列を、DateTime のインスタンスに変換するメソッド
    # @param str [String] 変換する文字列
    # @param time_now [DateTime] 生成されるインスタンスに年月日の情報を付加するためのインスタンス(デフォルトは現在時刻)
    # @return [DateTime]
    def convert_str( str , time_now = ::DateTime.now , time_zone: "+09:00" )
      rational_for_time_zone = ::Kernel.Rational(9,24)
      time_now = time_now.new_offset( rational_for_time_zone )

      if str.string? and time_now.instance_of?( ::DateTime ) and ::PositiveStringSupport::RegexpLibrary.string_of_hour_and_min =~ str
        return ::DateTime.new( time_now.year , time_now.month , time_now.day , $1.to_i , $2.to_i , 0 , rational_for_time_zone )
      end

      raise "Error: The variable(s) are not valid. (\'str\'\: #{str} / Class: #{str.class.name})"
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
positive_time_support-0.2.0 lib/positive_time_support/date_time_ext.rb