Skip to content

Instantly share code, notes, and snippets.

@charger
charger / basic.ru
Created October 19, 2012 13:40 — forked from Paxa/basic.ru
Async request handling with sinatra and EM, freeze if request not exist URL
#!/usr/bin/env rackup -Ilib:../lib -s thin
# async message handling
# using gem https://github.com/raggi/async_sinatra
require 'sinatra/async'
require "em-http-request"
require 'open-uri'
require "em-synchrony"
@charger
charger / test.rb
Created October 22, 2012 11:59
Try to test sinatra app
require 'test/unit'
require 'rack/test'
require 'sinatra/async'
class MyAppTest < Test::Unit::TestCase
include Rack::Test::Methods
def app
Sinatra::Application
end
@charger
charger / edit.html.haml
Created January 22, 2013 13:59
import/edit.html.haml
%h1 Импорт перевода
.tabbable
- data=@import.import_values.group_by(&:language_id)
%ul#myTab.nav.nav-tabs
- t="active"
- data.each do |language_id, values|
%li{class:"#{t}"}
- t=''
%a{href:"#lang_#{language_id}", "data-toggle"=>:tab}= language_id
@charger
charger / translation_processor.rb
Created January 23, 2013 08:29
TranslationProcessor
module TranslationProcessor
extend ActiveSupport::Concern
ALLOWED_FILES = ['common', "city", "energy", "farm", "market", "poker_common", "poker_mobile", "poker_flash"]
KEY_DOWNLOAD_AT = "__downloaded_at_do_not_edit__"
def parse_yml
if denied_name?
e = "#{path} was not allowed. allowed files should start with #{ALLOWED_FILES.join(",")}"
raise CarrierWave::ProcessingError, I18n.translate(:"errors.messages.translation_yml_processing_error", :e => e)
@charger
charger / translation_structure.rb
Last active December 11, 2015 13:18
TranslationStructure
class TranslationStructure
attr_accessible :filename, :username, :comment
@filename
@languages
def initialize(filename, username, comment='')
@filename=filename
@username=username
@comment=comment
@languages={}
@charger
charger / tUser.php
Created June 24, 2013 18:59
Yii user register, model&controller example
<?php
/**
* This is the model class for table "{{user}}".
* The followings are the available columns in table '{{user}}':
* @property integer $id
* @property string $login
* @property string $pass
* @property string $name
*/
@charger
charger / em.rb
Last active December 20, 2015 02:09
require File.expand_path(File.join(File.dirname(__FILE__),'..', 'config', 'environment'))
require 'evma_httpserver'
class HttpServer < EventMachine::Connection
include EventMachine::HttpServer
def process_http_request
@content = Rack::Utils.parse_query(@http_post_content)
#or СGI.parse
end
@charger
charger / main.php
Last active December 29, 2015 13:58
Для Yii-framework (1.1) приложений
<?php
//protected/config/main.php
return array(
//..
'components'=>array(
//...
"clientScript"=>array(
"class"=>"myClientScript",
),
//..
@charger
charger / sftp_uploader.rb
Last active August 29, 2015 14:00
SftpUploader
class SftpUploader
def upload!(local_filename, remote_filename)
raise "#{local_filename} not readable" unless File.exist?(local_filename)
connect do |sftp|
dirs = File.dirname(remote_filename).split('/')
dir_to_create = credentials.path
dirs.each do |dir|
dir_to_create = File.join(dir_to_create, dir)
sftp.mkdir(dir_to_create)
end
@charger
charger / turbo_sms.rb
Last active January 27, 2017 13:04
Using Turbo SMS service with ruby
#для работы этого кода нужно установить гем 'savon'
#для этого выполните: gem install savon
#или пропишите в Gemfile: gem 'savon'
class TurboSMS
LOGIN = '...' # не забудьте активировать SOAP шлюз в личном кабинете и создать логин/пароль
PASSWORD = '...'
SENDER = 'MySite' #не забудьте добавить эту подпись в личном кабинете
def get_balance