Class: Surfer::Support
- Inherits:
-
Object
- Object
- Surfer::Support
- Defined in:
- lib/surfer/support.rb
Instance Method Summary collapse
-
#create_field(argv) ⇒ Object
Parsing command line argument for table creating.
-
#create_table(argv) ⇒ Object
Table creation query.
-
#generate_dindex(tab_name, argv) ⇒ Object
# Generating the index deletion command.
-
#generate_index(tab_name, argv) ⇒ Object
Generating the index command.
-
#generate_insert(tab_name, argv) ⇒ Object
Parsing insert command attribute.
-
#generate_remove(tab_name, argv) ⇒ Object
Parsing coditional parameter for delete command.
-
#generate_update(tab_name, argv, cond_argv) ⇒ Object
Parsing attributes and values for update command.
-
#generate_where(tab_name, argv) ⇒ Object
Parsing attribute for where clouse.
-
#get_data_type(key) ⇒ Object
Getting sql specific datatype.
-
#get_pluralize(name) ⇒ Object
Plural method for pluralization purpose.
Instance Method Details
#create_field(argv) ⇒ Object
Parsing command line argument for table creating.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/surfer/support.rb', line 30 def create_field argv i = 3 str = "" str = " id INTEGER AUTO_INCREMENT PRIMARY KEY, " begin att = argv[i] str << att str << " " i = i.to_i + 2 att1 = get_data_type(argv[i]) str << att1 if i.to_i != argv.length.to_i-1 str << "," str << "\n" i = i.to_i + 2 else return str end end while i < argv.length.to_i end |
#create_table(argv) ⇒ Object
Table creation query.
53 54 55 56 57 |
# File 'lib/surfer/support.rb', line 53 def create_table argv query = "CREATE TABLE #{get_pluralize(argv[2])}( #{create_field(argv)} )" puts query return query end |
#generate_dindex(tab_name, argv) ⇒ Object
# Generating the index deletion command.
209 210 211 212 213 |
# File 'lib/surfer/support.rb', line 209 def generate_dindex tab_name,argv query = " ALTER TABLE #{tab_name} DROP INDEX #{argv[argv.keys[0]]} " puts query return query end |
#generate_index(tab_name, argv) ⇒ Object
Generating the index command.
202 203 204 205 206 |
# File 'lib/surfer/support.rb', line 202 def generate_index tab_name, argv query = " CREATE INDEX #{argv[argv.keys[0]]} ON #{tab_name} (#{argv[argv.keys[1]]}) " puts query return query end |
#generate_insert(tab_name, argv) ⇒ Object
Parsing insert command attribute.
61 62 63 64 65 66 67 68 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/surfer/support.rb', line 61 def generate_insert tab_name, argv # Attribute of table. attribute = "" attribute << "id" i = 0 argv.each do |k,v| if i == 0 and argv.length != 0 attribute << "," end attribute << k i = i.to_i + 1 if i != argv.length attribute << "," end end # Values of the Attributes. val = [] val << "NULL" i = 0 if argv.length != 0 begin val << "\"#{argv[argv.keys[i]]}\"" i = i.to_i + 1 end while i < argv.length.to_i end if argv.length == 0 query = " INSERT INTO #{tab_name}(#{attribute}) VALUES (#{val * ""}) " return query else query = " INSERT INTO #{tab_name}(#{attribute}) VALUES (#{val * ","}) " return query end end |
#generate_remove(tab_name, argv) ⇒ Object
Parsing coditional parameter for delete command.
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/surfer/support.rb', line 99 def generate_remove tab_name, argv condition = "" condition << "( " i = 0 begin if "condition" != argv.keys[i] condition << argv.keys[i] condition << "=" condition << "\"#{argv[argv.keys[i]]}\"" condition << " " i = i.to_i + 1 else condition << "\"#{argv[argv.keys[i]]}\"" condition << " " i = i.to_i + 1 end end while i < argv.length condition << ")" query = " DELETE FROM #{tab_name} WHERE#{condition} " #puts query return query end |
#generate_update(tab_name, argv, cond_argv) ⇒ Object
Parsing attributes and values for update command.
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 |
# File 'lib/surfer/support.rb', line 124 def generate_update tab_name, argv, cond_argv # Parsing updatable attribute attribute = "" i = 0 begin attribute << argv.keys[i] attribute << " = " attribute << "\"#{argv[argv.keys[i]]}\"" i = i.to_i + 1 if i != argv.length attribute << "," end end while i < argv.length # Parsing conditional hashing argument. condition = "" condition << "( " i = 0 begin if "condition" != cond_argv.keys[i] condition << cond_argv.keys[i] condition << "=" condition << "\"#{cond_argv[cond_argv.keys[i]]}\"" condition << " " i = i.to_i + 1 else condition << "\"#{cond_argv[cond_argv.keys[i]]}\"" condition << " " i = i.to_i + 1 end end while i < cond_argv.length condition << ")" query = " UPDATE #{tab_name} SET #{attribute} WHERE #{condition} " puts query return query end |
#generate_where(tab_name, argv) ⇒ Object
Parsing attribute for where clouse.
166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/surfer/support.rb', line 166 def generate_where tab_name, argv #, att_argv # Parsing conditional hashing argument. condition = "" condition << "( " i = 0 begin if "condition" != argv.keys[i] condition << argv.keys[i] condition << "=" condition << "\"#{argv[argv.keys[i]]}\"" condition << " " i = i.to_i + 1 else condition << "\"#{argv[argv.keys[i]]}\"" condition << " " i = i.to_i + 1 end end while i < argv.length condition << ")" #if att_argv.length == 0 query = " SELECT * FROM #{tab_name} WHERE #{condition} " puts query return query #else #query = " SELECT #{att_argv * ","} FROM #{tab_name} WHERE #{condition} " #puts query #return query #end end |
#get_data_type(key) ⇒ Object
Getting sql specific datatype.
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/surfer/support.rb', line 15 def get_data_type key data_type = Hash.new data_type["int"] = "INTEGER" data_type["mobile"] = "BIGINT(20)" data_type["string"] = "VARCHAR(50)" data_type["float"] = "INTEGER(20,5)" data_type["integer"] = "INTEGER" data_type["text"] = "TEXT" data_type["date"] = "DATE" tdata = data_type[key] end |
#get_pluralize(name) ⇒ Object
Plural method for pluralization purpose.
6 7 8 9 10 11 |
# File 'lib/surfer/support.rb', line 6 def get_pluralize name until name.empty? str = name.downcase.concat('s') return str end end |