Module: JIJI::Util
- Defined in:
- lib/jiji/util/util.rb
Defined Under Namespace
Modules: JsonSupport, Model
Class Method Summary collapse
-
.decode(str) ⇒ Object
base64でエンコードした文字列をデコードする.
-
.encode(str) ⇒ Object
文字列をbase64でエンコードする.
-
.log_if_error(logger) ⇒ Object
ブロック内で例外が発生したらログに出力する。 発生した例外は内部で握る。.
-
.log_if_error_and_throw(logger) ⇒ Object
ブロック内で例外が発生したらログに出力する。 ログ出力後、例外を再スローする。.
-
.parse_scale(scale) ⇒ Object
期間を示す文字列を解析する.
Class Method Details
.decode(str) ⇒ Object
base64でエンコードした文字列をデコードする
36 37 38 |
# File 'lib/jiji/util/util.rb', line 36 def decode( str ) str.gsub(/_/, "/").unpack('m')[0] end |
.encode(str) ⇒ Object
文字列をbase64でエンコードする
32 33 34 |
# File 'lib/jiji/util/util.rb', line 32 def encode( str ) [str].pack("m").gsub(/\//, "_").gsub(/\n/, "") end |
.log_if_error(logger) ⇒ Object
ブロック内で例外が発生したらログに出力する。 発生した例外は内部で握る。
13 14 15 16 17 18 19 |
# File 'lib/jiji/util/util.rb', line 13 def log_if_error( logger ) begin return yield if block_given? rescue Exception logger.error($!) end end |
.log_if_error_and_throw(logger) ⇒ Object
ブロック内で例外が発生したらログに出力する。 ログ出力後、例外を再スローする。
22 23 24 25 26 27 28 29 |
# File 'lib/jiji/util/util.rb', line 22 def log_if_error_and_throw( logger ) begin return yield if block_given? rescue Exception logger.error($!) throw $! end end |
.parse_scale(scale) ⇒ Object
期間を示す文字列を解析する
97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/jiji/util/util.rb', line 97 def self.parse_scale( scale ) return nil if scale.to_s == "raw" unless scale.to_s =~ /(\d+)([smhd])/ raise JIJI::UserError.new( JIJI::ERROR_ALREADY_EXIST, "illegal scale. scale=#{scale}") end return case $2 when "s"; $1.to_i when "m"; $1.to_i * 60 when "h"; $1.to_i * 60 * 60 when "d"; $1.to_i * 60 * 60 * 24 end end |