Class: Pindo::PindoUserLocalConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/pindo/config/pindouserlocalconfig.rb

Defined Under Namespace

Modules: PindoUserLocalMixin

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializePindoUserLocalConfig

Returns a new instance of PindoUserLocalConfig.



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
# File 'lib/pindo/config/pindouserlocalconfig.rb', line 11

def initialize( )
  
  # puts "initialize Pindoconfig"
  if !File.exist?(Pindoconfig.instance.pindo_dir) 
    FileUtils.mkdir(Pindoconfig.instance.pindo_dir)
  end

  @pindo_user_local_config_json = nil

  @pindo_user_local_config_file = File.join(File::expand_path(Pindoconfig.instance.pindo_dir), ".pindo_use_local_config.json")

  if File.exist?(@pindo_user_local_config_file) 
    begin
      @pindo_user_local_config_json = JSON.parse(File.read(@pindo_user_local_config_file))  
    rescue => exception
      puts "Error !!! +++++++++++ load Pindo local config error !!!"
    end

    if @pindo_user_local_config_json.nil?
      begin
        FileUtils.rm_rf(@pindo_user_local_config_file)
      rescue => exception
        
      end
    end
  end
end

Class Attribute Details

.instanceObject



103
104
105
# File 'lib/pindo/config/pindouserlocalconfig.rb', line 103

def self.instance
  @instance ||= new
end

Instance Attribute Details

#pindo_user_local_config_jsonObject

Returns the value of attribute pindo_user_local_config_json.



9
10
11
# File 'lib/pindo/config/pindouserlocalconfig.rb', line 9

def pindo_user_local_config_json
  @pindo_user_local_config_json
end

Class Method Details

.reload_instanceObject



99
100
101
# File 'lib/pindo/config/pindouserlocalconfig.rb', line 99

def self.reload_instance
  @instance = new
end

Instance Method Details

#get_last_work_project_arrayObject



59
60
61
62
63
64
65
66
# File 'lib/pindo/config/pindouserlocalconfig.rb', line 59

def get_last_work_project_array()
    last_work_project_array = nil
    if !@pindo_user_local_config_json.nil?
        last_work_project_array = @pindo_user_local_config_json["last_work_project_array"] || []
    end
    last_work_project_array = last_work_project_array || []
    return last_work_project_array;
end

#read_local_wechat_urlObject



39
40
41
42
43
44
45
46
# File 'lib/pindo/config/pindouserlocalconfig.rb', line 39

def read_local_wechat_url

  local_wechat_url = nil
  if !@pindo_user_local_config_json.nil?
      local_wechat_url = @pindo_user_local_config_json["local_wechat_url"]
  end
  return local_wechat_url;
end

#saveObject



117
118
119
120
121
122
123
# File 'lib/pindo/config/pindouserlocalconfig.rb', line 117

def save
  @pindo_user_local_config_json = @pindo_user_local_config_json || {}
  File.open(@pindo_user_local_config_file, "w") do |file|
    file.write(JSON.pretty_generate(@pindo_user_local_config_json))
    file.close
  end
end

#unity_versionObject



125
126
127
# File 'lib/pindo/config/pindouserlocalconfig.rb', line 125

def unity_version
  @pindo_user_local_config_json['unity_version'] if @pindo_user_local_config_json
end

#unity_version=(version) ⇒ Object



129
130
131
132
# File 'lib/pindo/config/pindouserlocalconfig.rb', line 129

def unity_version=(version)
  @pindo_user_local_config_json = @pindo_user_local_config_json || {}
  @pindo_user_local_config_json['unity_version'] = version
end

#write_last_work_project(proj_name: nil) ⇒ Object



69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/pindo/config/pindouserlocalconfig.rb', line 69

def write_last_work_project(proj_name:nil)
    if proj_name.nil? 
      return
    end
    if proj_name.length < 1
      return
    end

    @pindo_user_local_config_json = @pindo_user_local_config_json || {}

    last_work_project_array = @pindo_user_local_config_json["last_work_project_array"] || []  

    
    # 从数组中删除目标字符串
    last_work_project_array.delete(proj_name)
    # 将目标字符串插入到数组末尾
    last_work_project_array.unshift(proj_name)
    # 如果数组长度超过5,删除第一个元素
    last_work_project_array.pop if last_work_project_array.length > 6
    last_work_project_array.pop if last_work_project_array.length > 6

    @pindo_user_local_config_json["last_work_project_array"] = last_work_project_array
    File.open(@pindo_user_local_config_file, "w") do |file|
        file.write(JSON.pretty_generate(@pindo_user_local_config_json))
        file.close
    end
end

#write_local_wechat_url(wechat_msg_url: nil) ⇒ Object



48
49
50
51
52
53
54
55
56
# File 'lib/pindo/config/pindouserlocalconfig.rb', line 48

def write_local_wechat_url(wechat_msg_url:nil)
  
    @pindo_user_local_config_json =  @pindo_user_local_config_json || {}
    @pindo_user_local_config_json["local_wechat_url"] = wechat_msg_url
    File.open(@pindo_user_local_config_file, "w") do |file|
        file.write(JSON.pretty_generate(@pindo_user_local_config_json))
        file.close
    end
end