Примеры:
route_info: "Информация о\_рейсе"
title: "Билеты на\_автобус"| module ApplicationHelper | |
| def present(model) | |
| return if model.blank? | |
| klass = "#{model.class}Presenter".constantize | |
| presenter = klass.new(model, self) | |
| yield(presenter) if block_given? | |
| presenter | |
| end | |
| end |
| ssh -fNg -L 5555:localhost:5432 remote_user@remote_host -p123 |
| class Enum | |
| attr_reader :name | |
| attr_reader :value | |
| def initialize(name, value) | |
| @name = name | |
| @value = value | |
| end | |
| def to_i |
| /* Прокрутка всех столбцов одновременно, отступы, ширина столбца */ | |
| .project-columns { | |
| padding-left: 10px; | |
| padding-right: 10px; | |
| } | |
| .project-columns-container { | |
| height: auto; | |
| display: table; | |
| border-spacing: 10px; | |
| margin-top: -10px; |
| module Developer | |
| extend self | |
| delegate :establish_connection, :clear_all_connections!, :to => ActiveRecord::Base | |
| def delayed_debug(scope) | |
| detach_process do | |
| close_io_objects | |
| establish_connection | |
| setup_process_name | |
| notify_developers |
| require 'resque/tasks' | |
| namespace :resque do | |
| def del(key) | |
| Resque.redis.keys(key).each { |k| Resque.redis.del(k) } | |
| end | |
| desc "Resque setup according to installation guide" | |
| task :setup => :environment |
| # Source: https://discuss.dry-rb.org/t/examples-of-how-to-use-dry-container-dry-auto-inject/82/9 | |
| require 'dry-container' | |
| require 'dry-auto_inject' | |
| module Api | |
| def self.configure | |
| container.register :main_component, -> { MainComponent.new } | |
| container.register :dependency, -> { Dependency.new } | |
| container.freeze |
| module MigrationsHelper | |
| # Usage: | |
| # include MigrationsHelper | |
| # disable_ddl_transaction! | |
| # | |
| # def up | |
| # add_column_with_default :articles, :priority, :float, default: 1.0, null: false | |
| # end | |
| # | |
| # def down |
| VCR_COMMON_HEADERS = %w[Content-Type Accept Accept-Encoding Authorization].freeze | |
| VCR.configure do |config| | |
| common_headers_proc = ->(request) { request.headers.slice(*VCR_COMMON_HEADERS) } | |
| config.register_request_matcher :common_headers do |request1, request2| | |
| common_headers_proc[request1] == common_headers_proc[request2] | |
| end | |
| # https://github.com/vcr/vcr/blob/master/features/request_matching/README.md | |
| config.default_cassette_options = { |