Module: JIJI::Util
- Defined in:
- lib/jiji/util/util.rb
Defined Under Namespace
Modules: JsonSupport, Model
Class Method Summary collapse
-
.convert_currency_pair_code(code) ⇒ Object
通貨ペアコードをシンボルに変換する.
-
.convert_currency_pair_code_r(code) ⇒ Object
シンボルを通貨ペアコードに変換する.
-
.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
.convert_currency_pair_code(code) ⇒ Object
通貨ペアコードをシンボルに変換する
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/jiji/util/util.rb', line 11 def convert_currency_pair_code(code) case code when ClickClient::FX::USDJPY return :USDJPY when ClickClient::FX::EURJPY return :EURJPY when ClickClient::FX::GBPJPY return :GBPJPY when ClickClient::FX::AUDJPY return :AUDJPY when ClickClient::FX::NZDJPY return :NZDJPY when ClickClient::FX::CADJPY return :CADJPY when ClickClient::FX::CHFJPY return :CHFJPY when ClickClient::FX::ZARJPY return :ZARJPY when ClickClient::FX::EURUSD return :EURUSD when ClickClient::FX::GBPUSD return :GBPUSD when ClickClient::FX::AUDUSD return :AUDUSD when ClickClient::FX::EURCHF return :EURCHF when ClickClient::FX::GBPCHF return :GBPCHF when ClickClient::FX::USDCHF return :USDCHF end end |
.convert_currency_pair_code_r(code) ⇒ Object
シンボルを通貨ペアコードに変換する
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/jiji/util/util.rb', line 45 def convert_currency_pair_code_r(code) case code when :USDJPY return ClickClient::FX::USDJPY when :EURJPY return ClickClient::FX::EURJPY when :GBPJPY return ClickClient::FX::GBPJPY when :AUDJPY return ClickClient::FX::AUDJPY when :NZDJPY return ClickClient::FX::NZDJPY when :CADJPY return ClickClient::FX::CADJPY when :CHFJPY return ClickClient::FX::CHFJPY when :ZARJPY return ClickClient::FX::ZARJPY when :EURUSD return ClickClient::FX::EURUSD when :GBPUSD return ClickClient::FX::GBPUSD when :AUDUSD return ClickClient::FX::AUDUSD when :EURCHF return ClickClient::FX::EURCHF when :GBPCHF return ClickClient::FX::GBPCHF when :USDCHF return ClickClient::FX::USDCHF end end |
.decode(str) ⇒ Object
base64でエンコードした文字列をデコードする
103 104 105 |
# File 'lib/jiji/util/util.rb', line 103 def decode( str ) str.gsub(/_/, "/").unpack('m') end |
.encode(str) ⇒ Object
文字列をbase64でエンコードする
99 100 101 |
# File 'lib/jiji/util/util.rb', line 99 def encode( str ) [str].pack("m").gsub(/\//, "_").gsub(/\n/, "") end |
.log_if_error(logger) ⇒ Object
ブロック内で例外が発生したらログに出力する。発生した例外は内部で握る。
80 81 82 83 84 85 86 |
# File 'lib/jiji/util/util.rb', line 80 def log_if_error( logger ) begin return yield if block_given? rescue Exception logger.error($!) end end |
.log_if_error_and_throw(logger) ⇒ Object
ブロック内で例外が発生したらログに出力する。ログ出力後、例外を再スローする。
89 90 91 92 93 94 95 96 |
# File 'lib/jiji/util/util.rb', line 89 def log_if_error_and_throw( logger ) begin return yield if block_given? rescue Exception logger.error($!) throw $! end end |
.parse_scale(scale) ⇒ Object
期間を示す文字列を解析する
164 165 166 167 168 169 170 171 172 173 174 175 |
# File 'lib/jiji/util/util.rb', line 164 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 |