listing files in a directory with rails
via Shairon Toledo @ rails-br
1 Dir.glob("*").each{|f| puts "Name: #{f} | Created at: #{File.ctime(f)} | Updated at: #{File.mtime(f)}" }
via Shairon Toledo @ rails-br
1 Dir.glob("*").each{|f| puts "Name: #{f} | Created at: #{File.ctime(f)} | Updated at: #{File.mtime(f)}" }
1 // Smooth scrolling within page anchors 2 $('a[href*=#]').click(function() { 3 4 if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { 5 6 var $target = $(this.hash); 7 8 $target = $target.length && $target || $('[name=' + this.hash.slice(1) +']'); 9 10 if ($target.length) { 11 var targetOffset = $target.offset().top; 12 $('html,body').animate({scrollTop: targetOffset}, 1000); 13 return false; 14 } 15 } 16 });
http://github.com/adamwiggins/rest-client
1 require "rubygems" 2 require "rest_client" 3 4 RestClient::Resource.new("http://twitter.com/statuses/update.json", :user => "user", :password => "pass").post :status => "Hello, there!"
exercícios sobre pilhas e filas
1 public class exercicio_pilha_fila { 2 3 int topo = 0; 4 int maxPilha = 0; 5 int pilha[] = new int[maxPilha]; 6 int comeco = 0; 7 int fim = 0; 8 int total = 0; 9 int maxFila = 0; 10 int[] fila = new int[maxFila]; 11 12 // 15/03/2010 13 // Desenvolva um método para remover uma determinada quantidade de dados 14 // em uma pilha estática. Caso nao haja inserida, remova o possivel 15 public void remove() { 16 if (topo == 0) { 17 System.out.println("Pilha Vazia"); 18 } else { 19 int qtde = Leitura.readInteger(); 20 if (qtde > topo) { 21 System.out.println("Quantidade: " + (qtde - topo)); 22 topo = 0; 23 } else { 24 topo = topo - qtde; 25 } 26 } 27 } 28 29 // 15/03/2010 30 // Desenvolva um método que através de uma ED tipo pilha verifique 31 // se uma palavra é palíndroma. Ex.: ovo, ama, asa 32 public void Palavra() { 33 if (topo == 0) { 34 System.out.println("Lista Vazia"); 35 } else { 36 int cont = topo - 1; 37 int aux = 0; 38 while ((pilha[aux].equals(pilha[cont])) && (cont > aux)) { 39 cont--; 40 aux++; 41 } 42 43 if (aux > cont) { 44 System.out.println("Palíndroma"); 45 } else { 46 System.out.println("Não palíndroma"); 47 } 48 } 49 } 50 51 // 22/03/2010 52 // Exemplo do caderno: Insere fila 53 public void InsereFila() { 54 if (total == maxFila) { 55 System.out.println("fila cheia"); 56 } else { 57 if (fim == maxFila) { 58 fim = 0; 59 int tes = Leitura.readInteger(" Digite algo::"); 60 fila[fim] = tes; 61 fim++; 62 total++; 63 } 64 } 65 } 66 67 // 22/03/2010 68 // Exemplo do caderno: Remove fila 69 public void RemovaFila() { 70 if (total == 0) { 71 System.out.println("Fila vazia"); 72 } else { 73 if (comeco == maxFila) { 74 comeco = 0; 75 } 76 comeco++; 77 total--; 78 } 79 } 80 81 // 24/03/2010 82 // Considere 2 estruturas de fila estática. Verifica se 83 // ambas sequências de remoção e quantidade são iguais 84 public void Verifica_Igualdade() { 85 if (total1 != total2) { 86 System.out.println("Tamanhos diferentes"); 87 } else { 88 if (com1 != max) { 89 int aux1 = com1; 90 } else { 91 int aux1 = 0; 92 } 93 94 if (com2 != max) { 95 int aux2 = com2; 96 } else { 97 int aux2 = 0; 98 } 99 100 int cont = 0; 101 while ((cont != total1) && (fila1[aux1] == fila2[aux2])) { 102 aux1++; 103 aux2++; 104 105 if (aux1 == max) { 106 aux1 = 0; 107 } 108 if (aux2 == max) { 109 aux2 = 0; 110 } 111 cont++; 112 } 113 114 if (cont == total) { 115 System.out.println("Filas iguais"); 116 } else { 117 System.out.println("Filas diferentes"); 118 } 119 } 120 } 121 122 // 24/03/2010 123 // Desenvolva um método para verificar qual posição 124 // da fila um determinado valor foi encontrado 125 public void LocalizaPosicao() { 126 if (total == 0) { 127 System.out.println("Fila vazia"); 128 } else { 129 int valor = Leitura.readInteger("Digite valor a ser localizado: "); 130 if (comeco == maxFila) { 131 int aux = 0; 132 } else { 133 int aux = comeco; 134 int cont = 0; 135 while ((cont != total) && (valor != fila[aux])) { 136 aux++; 137 cont++; 138 if (aux == maxFila) { 139 System.out.println("Não encontrado"); 140 } else { 141 System.out.println("Encontrado: " + (cont + 1)); 142 } 143 } 144 } 145 } 146 } 147 148 // 24/03/2010 149 // Crie uma ED fila que ao receber a multiplicação dos valores cadastrados 150 // em 2 filas estáticas que possuem a mesma quantidade de dados 151 public void Multiplica() { 152 int maxFila2 = 0; 153 int comeco2 = 0; 154 155 if (total == 0) { 156 System.out.println("fila vazia"); 157 } else { 158 int[] fila3 = new int[total]; 159 if (comeco == maxFila) { 160 int aux = 0; 161 } else { 162 int aux = comeco; 163 } 164 if (comeco2 == maxFila2) { 165 int aux2 = 0; 166 } else { 167 int aux2 = comeco2; 168 int cont = 0; 169 while (cont != total) { 170 fila3[fim3] = (fila[aux] * fila2[aux2]); 171 aux++; 172 aux2++; 173 fim3++; 174 total3++; 175 if (aux == maxFila) { 176 aux = 0; 177 } 178 if (aux2 == maxFila) { 179 aux2 = 0; 180 cont++; 181 } 182 } 183 } 184 } 185 } 186 187 // Exemplo do caderno 188 // Desenvolva um método para apresentar o primeiro e o ultimo elemento da fila. 189 public void Apresenta() { 190 if (total == 0) { 191 System.out.println("Fila vazia"); 192 } else { 193 System.out.println("Começo: " + fila[comeco] + " último: " + fila[fim - 1]); 194 } 195 } 196 197 // 31/03/2010 198 // Remova os elementos de uma pilha e uma fila simultaneamente, 199 // enquanto ambos estruturas forem iguais 200 public void RemovePilhaFila() { 201 if ((topo == 0) || (total == 0)) { 202 System.out.println("Fila ou pilha vazias"); 203 } else { 204 while ((total > 0) && (topo > 0) && (pilha[topo - 1] == fila[comeco])) { 205 topo--; 206 comeco++; 207 total--; 208 209 if (comeco == maxFila) { 210 comeco = 0; 211 } 212 } 213 } 214 } 215 216 // 31/03/2010 217 // Considere uma agência de viagens, a qual trabalha com 218 // fila de espera. Considere o cliente cod 9783. Verifique 219 // em 2 filas, as quais este cliente esta cadastrado, qual 220 // apresenta a maior possibilidade de conseguir a passagem 221 public void Localiza() { 222 if (comeco1 == max) { 223 int aux1 = 0; 224 } else { 225 int aux1 = comeco1; 226 } 227 228 if (comeco2 == max) { 229 int aux2 = 0; 230 } else { 231 int aux2 = comeco2; 232 } 233 234 int cont1 = 0; 235 int cont2 = 0; 236 237 while (fila1[aux1] != 9783) { 238 cont1++; 239 aux1++; 240 if (aux1 == max) { 241 aux1 = 0; 242 } 243 } 244 245 while (fila2[aux2] != 9783) { 246 cont2++; 247 aux2++; 248 if (aux2 == max) { 249 aux2 = 0; 250 } 251 } 252 253 if (cont1 > cont2) { 254 System.out.println("Fila 1 menor"); 255 } else if (cont2 < cont1) { 256 System.out.println ("Fila 2 menor"); 257 } else { 258 System.out.println ("Tanto faz"); 259 } 260 } 261 262 // 31/03/2010 263 // Considere uma pilha a qual foi inserida de forma intermediária valores 264 // positivos e negativos altere a ED de forma a possuir somente os 265 // valores positivos. Não há a necessidade de manter a pilha original 266 public void PilhaPositiva() { 267 if (topo == 0) { 268 System.out.println("Pilha esta vazia!!"); 269 } else { 270 int PilhaN = new Int[(topo/2) + 1]; 271 int TopoN = 0; 272 273 while (TopoN > 0) { 274 if (pilha[topo - 1] > 0) { 275 PilhaN[TopoN] = pilha[topo -1]; 276 TopoN++; 277 } 278 topo--; 279 } 280 } 281 } 282 283 // Outro semestre 284 // Desenvolva um método para remover com exceção do 285 // primeiro, todos os outros elementos da fila 286 public void RestaUm() { 287 if (total == 0) { 288 System.out.println("fila vazia"); 289 } else { 290 total = 1; 291 comeco = fim - 1; 292 } 293 } 294 295 // Outro semestre 296 // Crie um método para apresentar todos os dados 297 // inseridos em uma fila (do primeiro ao ultimo) 298 public void ApresentaTodos() { 299 if (total == 0) { 300 System.out.println("Fila vazia"); 301 } else { 302 int aux = comeco; 303 int cont = 0; 304 305 while (cont != total) { 306 if (aux == maxFila) { 307 aux = 0; 308 } 309 System.out.println("Retorno: " + fila[aux]); 310 aux++; 311 cont++; 312 } 313 } 314 } 315 316 // Outro semestre 317 // Se pilha e fila são formas de listas por que existem especifidades para ambas? 318 // Porque existem situações computacionais que exigem restrições. 319 // Ex. Pilha: CTRL + Z, voltar do browser, recurvidade. 320 // Ex. Fila: Impressora 321 322 // Outro semestre 323 // Desenvolva um método para preencher todas alocacoes vazias 324 // de uma ED tipo pilha com um determinado valor digitado pelo usuário 325 public void PreencherPilha() { 326 if (total == maxPilha) { 327 System.out.println("Pilha vazia"); 328 } else { 329 int texto = Leitura.readInteger(" Digite algo::"); 330 331 while (topo < maxPilha) { 332 pilha[topo] = texto; 333 topo++; 334 } 335 } 336 } 337 338 // Outro semestre 339 // Crie um método para realizar o backup de uma lista ED tipo fila 340 public void BackupFilaOutro() { 341 if (total == 0) { 342 System.out.println("Fila vazia"); 343 } else { 344 int filaBackup[] = new int[total]; 345 int aux = comeco; 346 int totalBackup = 0; 347 int fimBackup = 0; 348 349 while (totalBackup != total) { 350 filaBackup[totalBackup] = fila[aux]; 351 totalBackup++; 352 aux++; 353 fimBackup++; 354 355 if (aux == maxFila) { 356 aux = 0; 357 } 358 int comecoBackup = 0; 359 } 360 } 361 } 362 363 // Outro semestre 364 // Desenvolva um método para apresentar na sequência de remoção 365 // todos os dados inseridos em uma ED tipo fila estática 366 public void apresentaFila() { 367 if (total == 0) { 368 System.out.println("Fila vazia"); 369 } else { 370 int cont = comeco; 371 int aux = 0; 372 373 while (aux != total) { 374 if (cont == maxFila) { 375 cont = 0; 376 System.out.println("Apresenta Fila" + fila[cont]); 377 cont++; 378 aux++; 379 } 380 } 381 } 382 } 383 }
1 gem install i18n tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler 2 3 gem install rails --pre
1 $('a.popup').live('click', function(){ 2 newwindow=window.open($(this).attr('href'),'','height=200,width=150'); 3 if (window.focus) {newwindow.focus()} 4 return false; 5 });
http://docs.jQuery.com/DOM/Traversing/Selectors
1 $('h1') // elementos h1 2 $('#meuID') // elementos com id "meuID" 3 $('.minhaClasse') // elementos definidos com a classe "minhaClasse" 4 $('[width]') // elementos que possuem o atributo width definido 5 $('[width=500]') // elementos que possuem o atributo width definido como 500 6 $('img[width=300]') // imagens que possuem largura = 300 7 $('img[src$=png]') // imagens com final png 8 $('a[href^=http://localhost]') // links que comecem com http://localhost 9 $('a[href$=pdf]') // links com final pdf 10 $('a[href*=www]') // links que contém www 11 $(':empty') // elementos vazio 12 $('div:empty') // elementos div vazios 13 $(':has(p)') // todos elementos que tenham um parágrafo 14 $('div:has(a)'); // elementos div que possuem link 15 $("p:contains('dinei')") // parágrafos que contém a palavra "dinei" 16 $("p:eq(0)") // seleciona o primeiro elemento p
rails 2.3.4 doen’t have i18n support in labels
http://lawrencesong.net/2009/04/i18n-label-in-rails-monkey-patch/
1 module ActionView 2 module Helpers 3 class InstanceTag 4 def to_label_tag_with_i18n(text = nil, options = {}) 5 text ||= object.class.human_attribute_name(method_name) if object.class.respond_to?(:human_attribute_name) 6 7 to_label_tag_without_i18n(text, options) 8 end 9 10 alias_method_chain :to_label_tag, :i18n 11 end 12 end 13 end
1 class MyModel < ActiveRecord::Base 2 default_scope :order => 'created_at desc' 3 end