Skip to content

Instantly share code, notes, and snippets.

View evg2108's full-sized avatar

Eugene Gavrilov evg2108

  • Russian Federation, Krasnoyarsk
View GitHub Profile
@evg2108
evg2108 / capistrano_deploy_strategies.md
Created October 12, 2015 15:06
Стратегии деплоймента в Capistrano

#Стратегии деплоймента в Capistrano Стратегии деплоймента в Rails настраиваются в файле config/deploy.rb. Сама настройка сводится к установке нескольких встроенных переменных в определённые значения.

# эта стратегия используется по умолчанию. Сводится она к тому,
# что на :app сервере запускается приложение svn которое обращается 
# к удалённому репозиторию и делает checkout указанного проекта.
set :deploy_via, :checkout
https://github.com/rvm/rvm/issues/3630#issuecomment-453430455
if [ -f '.ruby-gemset' ]; then cd .; fi
Is enough for me.
Also I put it in .bash_profile fo KDE Konsole
@evg2108
evg2108 / string_as_slim_template.md
Last active February 4, 2019 06:41
render string as slim template

#render string as slim template

example:

module WelcomeHelper
  def tile_link_to(title, href, icon_content = nil, &block)
    icon_content = capture { block.call }.strip.squish if block_given?
    content = <<-slim
 .tile

Очистка локальных веток, которые уже былы смерджены в master или develop:

Нужнодобавить приведённый ниже алиас в конфиг гита git config -e --global:

[alias]
    cleanup = "!git branch --merged master | grep -v -P '^\\*|master|develop' | xargs -n1 -r git branch -d"

И затем можно вызывать команду git cleanup.

@evg2108
evg2108 / ubuntu_dock_add_icon.md
Last active May 14, 2018 05:24
Add Icon to ubuntu 18.04 dock

cd /usr/share/applications

sudo nano jetbrains-rubymine.desktop

[Desktop Entry]
Version=2018.1
Type=Application
Terminal=false
Exec=/home/evg2108/Programs/RubyMine_new/bin/rubymine.sh

Иногда при взаимодействии с другим сайтом по SSL возникает ошибка, что мол используется устаревший вид шифрования, при этом подключиться к сайту не удаётся. Насколько я понял это происходит когда сайт использует сертификаты с устаревшим видом шифрования (КО). Не знаю точно как лучше это исправить, но помогает следующее - нужно указать в параметрах SSL по-умолчанию все виды шифрования (насколько я понял по-умолчанию используются далеко не все). Для этого выполняю следующий код:

OpenSSL::SSL::SSLContext::DEFAULT_PARAMS[:ciphers] = OpenSSL::Cipher.ciphers.join(':')
@evg2108
evg2108 / ubuntu.md
Created March 17, 2016 06:39
Ubuntu
sudo apt-get update && sudo apt-get upgrade --fix-missing --fix-broken

Эта штука вродеисправляет битые и пропущенные пакеты и их зависимости

  @agent = Mechanize.new
  @agent.user_agent_alias = 'Linux Mozilla'
  @agent.redirect_ok = true
  @agent.read_timeout = 60
  @agent.ssl_version = 'SSLv3'
  cert = OpenSSL::PKCS12.new(File.open('my_pfx.pfx'), 'password')
  @agent.cert = cert.certificate
  @agent.key = cert.key
 f = File.open('ca.crt', 'w')

need phantomjs >= 2.1

require 'capybara/poltergeist'
require 'phantomjs'

Capybara.register_driver :poltergeist do |app|
  path_to_certs = '/home/evg2108/RubymineProjects/megafon_sbms/certificates/'
  path_to_ca_certs = path_to_certs
  
@evg2108
evg2108 / spec_private_methods.md
Last active May 4, 2016 13:40
RSpec for private methods

add this to spec_helper.rb or rails_helper.rb

# for testing private methods of classes
RSpec.shared_context 'private', private: true do

  before :all do
    described_class.class_eval do
      @original_private_instance_methods = private_instance_methods
 public *@original_private_instance_methods