Sha256: 7e2cd3b06404c0dcbe6a1ac734df624fd244560e7624f77e39c30ff11def20f2

Contents?: true

Size: 1.28 KB

Versions: 11

Compression:

Stored size: 1.28 KB

Contents

require 'fileutils'
require 'yaml'
require 'jiji/util/fix_yaml_bug'
require 'jiji/util/file_lock'

module JIJI
  module Migration

    #===1.0.3 → 1.1.0
    class Migrator1_1_0
      def migrate( registry )
        #設定ファイルを更新
        conf_file = registry.base_dir + "/conf/configuration.yaml"
        return unless File.exist? conf_file
        tmp = key_to_sym(YAML.load_file(conf_file))
        
        # 証券会社アクセス関連の設定値を置換
        if( tmp[:securities] ) 
          old = tmp[:securities]
          tmp[:securities] = {
            :type=>:click_securities_demo,
            :user=>old[:account] &&old[:account][:user] ? old[:account][:user] : "",
            :password=>old[:account] &&old[:account][:password] ? old[:account][:password] : ""
          }
          open( conf_file, "w" ) {|f|
            f << YAML.dump( tmp )
          }
          # 設定値を再読み込み
          registry.conf.load
        end
      end
      
      # ハッシュのキーをシンボルに置換する
      def key_to_sym( map )
        map.inject({}) {|r,e|
           v = e[1].kind_of?(Hash) ? key_to_sym( e[1] ) : e[1]
           r.store(e[0].to_sym, v)
           r
        }
      end
    end
    
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
unageanu-jiji-1.1.0 lib/jiji/migration/migrator1_1_0.rb
unageanu-jiji-1.1.1 lib/jiji/migration/migrator1_1_0.rb
unageanu-jiji-1.1.2 lib/jiji/migration/migrator1_1_0.rb
unageanu-jiji-1.1.3 lib/jiji/migration/migrator1_1_0.rb
unageanu-jiji-1.1.4 lib/jiji/migration/migrator1_1_0.rb
unageanu-jiji-1.2.1 lib/jiji/migration/migrator1_1_0.rb
unageanu-jiji-1.2.3 lib/jiji/migration/migrator1_1_0.rb
unageanu-jiji-1.2.4 lib/jiji/migration/migrator1_1_0.rb
jiji-1.2.7 lib/jiji/migration/migrator1_1_0.rb
jiji-1.2.6 lib/jiji/migration/migrator1_1_0.rb
jiji-1.2.5 lib/jiji/migration/migrator1_1_0.rb