class Roma::Mkconfig::Base
Attributes
all[RW]
flag[RW]
Public Class Methods
new()
click to toggle source
# File lib/roma/tools/mkconfig.rb 28 def initialize 29 flag = false 30 @all = YAML.load <<-YAML 31 menu: 32 name: 33 path_name: menu 34 message: Please select by number. 35 choice: 36 - Select storage 37 - Select plugin 38 - Calculate File Descriptor 39 - Save 40 next: 41 - storage 42 - plugin 43 - language 44 - save 45 46 storage: 47 name: selected_storage 48 path_name: storage 49 message: Which storage will you use? 50 choice: 51 - Ruby Hash 52 - Tokyo Cabinet 53 - Groonga 54 default: 1 55 next: 56 - menu 57 - memory 58 - memory 59 memory: 60 name: memory_size_GB 61 path_name: 62 float_flg: on 63 message: How big memory size in 1 server? Please measure in GB. 64 default: 0.6 65 next: process 66 process: 67 name: process_num 68 path_name: 69 message: How many run ROMA process per machine? 70 default: 2 71 next: server 72 server: 73 name: server_num 74 path_name: 75 message: How many machine run as ROMA server? 76 default: 1 77 next: data 78 data: 79 name: data_num 80 path_name: 81 message: How many data will you store? 82 default: 10000 83 next: menu 84 85 plugin: 86 name: selected_plugin 87 path_name: plugin 88 message: Please select which plugin will you use.(plugin_storage.rb is essential unless you make alternative plugin.) 89 choice: 90 #{ 91 list = load_path(PLUGIN_DIR) << "Select all plugins" 92 list.delete("plugin_storage.rb") 93 list.unshift("plugin_storage.rb") 94 list 95 } 96 default: 1 97 next: 98 #{ 99 r = Array.new 100 load_path(PLUGIN_DIR).count.times{ r << "continue" } 101 r << "menu" 102 r 103 } 104 store_type: Array 105 continue: 106 name: 107 path_name: 108 message: Will you use other plugin? 109 choice: 110 - Select more 111 - No more 112 default: 2 113 next: 114 - plugin 115 - check_plugin 116 check_plugin: 117 name: 118 path_name: 119 message: ROMA requires plugin_storage.rb or substitute plugin.Will you continue without plugin_storage.rb? 120 choice: 121 - Add plugin_storage.rb 122 - Not necessary 123 default: 2 124 next: 125 - add_plugin 126 - menu 127 128 language: 129 name: client_language 130 path_name: 131 message: Please select programming language of client by number. 132 choice: 133 - Ruby 134 - Java 135 - PHP 136 default: 3 137 next: 138 - fd_server 139 - fd_server 140 - fd_server 141 fd_server: 142 name: server_num 143 path_name: FileDescriptor 144 message: How many machine run as ROMA server? 145 default: 1 146 next: fd_client 147 fd_client: 148 name: client_num 149 path_name: 150 message: How many machine run as ROMA client? 151 default: 1 152 next: menu 153 154 save: END 155 156 YAML 157 end
Public Instance Methods
[](s)
click to toggle source
# File lib/roma/tools/mkconfig.rb 163 def [](s) 164 all[s] 165 end
keys()
click to toggle source
# File lib/roma/tools/mkconfig.rb 159 def keys 160 all.keys 161 end
load_path(path)
click to toggle source
# File lib/roma/tools/mkconfig.rb 167 def load_path(path) 168 ret = Array.new 169 files = Dir::entries(path) 170 files.delete("plugin_stub.rb") if files.include?("plugin_stub.rb") 171 172 files.each do |file| 173 ret << file if File::ftype(File.join(path, file)) == "file" 174 end 175 176 ret 177 end
next(key, input)
click to toggle source
# File lib/roma/tools/mkconfig.rb 190 def next (key, input) 191 target = all[key]["next"] 192 193 if target.class == Array 194 return target[input.to_i - 1] 195 else 196 return target 197 end 198 end
print_question(key)
click to toggle source
# File lib/roma/tools/mkconfig.rb 179 def print_question(key) 180 target = all[key] 181 #print question 182 print "#{target["message"]}\n" 183 if target.key?("choice") 184 target["choice"].each_with_index do |k, i| 185 print "[#{i + 1}] #{k}\n" 186 end 187 end 188 end