読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

簡単なto_jsonモジュールを書いた

ruby-jsonではObjectのto_jsonは「オブジェクトをto_sした文字列のJSON表現」を返すので、以下のようなモジュールを書いてみました。インスタンス変数をハッシュのように出力します。

module JsonSupport 
  def to_json
    instance_variables.inject({}) { |h, name|
       h.store( name[1..-1], instance_variable_get(name))
       h
    }.to_json
  end
end

サンプルは以下。

require 'json/lexer'
require 'json/objects'

# テスト用クラス。
class Kitten
  include JsonSupport # JsonSupport をinclude
  def initialize( name,  age  )
    @name = name
    @age = age
  end
end

mii = Kitten.new( "mii", 1 )
puts mii.to_json

実行結果です。

{"age":1, "name":"mii"}