Тег ruby

poopoo

В openSUSE всілякі там Yast переписали на Ruby. Віконечно для встановлення запакетованої програмки через фірмовий One click install займає 131 Міб оперативки. Під час встановлення проце займає близько 200.

Linda-chan

Могло быть и хуже.
https://gist.github.com/Lin...403396b19f9b458b1758
Я для обновления сертификатов использую getssl с валидацией через записи в доменах, которые живут на DigitalOcean. Со временем таких записей становится слишком много, а ручками чистить лениво. Вот и написала такую фигню: используя doctl, генерирует Bash скрипт (или BAT файл, если убрать заголовок), который уже делает всю работу. Я могла бы вызывать doctl и для удаления записей, но в таком варианте можно хотя бы проинспектировать, что будет удаляться. Так что пока так.

Linda-chan

Вечный вопрос: нужно ли удалять ненужные гемы, если вопрос места на диске не стоит на повестке дня?

Linda-chan

Кстати, прикол от Nanoc. Там есть возможность писать свои фильтры и вообще внедрять свой код в процесс компиляции сайта, достаточно закинуть модули в папку lib. Ну я и закинула. А у меня один главный файл, к которому через require_relative прицеплены другие. В standalone режиме всё прекрасно работало, а тут компиляция начала валиться с сообщением, что дескать unicode normalization не применима к US-ASCII. С этого момента началось перелопачивание исходников в поисках, где он нашёл US-ASCII. Думала, что из-за включения гема unicode, пихала всё в module, чтобы не светилось наружу – нифига. Потом от отчаяния догадалась убрать require_relative, раз уж оно грузит все модули, что есть в папке без дополнительных пинков, и ошибка пропала. Короче, мистика.

Linda-chan

Собственно, чего это я? Сегодня вместо работы сидела портировала код, конвертирующий текст в HTML с сохранением внешнего вида (в том числе и табов), с VBScript на Руби. Тоесть код нужен был для обновления программы на VB6, но на работе VB6 нет поэтому сначала писала на VBScript, а потом в VBA приводила в чувства. Собственно, на Руби я это дело перевести тоже хотела, а всё для чего? Для того чтобы у меня был свой собственный фильтр для Nanoc, чтобы обычный текст выводился нормально без всех Markdown премудростей. И фильтр я таки сделала, теперь нужно допилить его для нормального состояния, чтобы параметры были и всё такое. А там уже можно будет придумать, как мелкие рассказики пачкой публиковать, конвертируя из CherryTree XML ^^'

Linda-chan

Терпеть не могу блоки в Руби. Тут пиши «then/end», там - «do/end», сям - «begin/end». Всё время путаюсь. Есть фигурные скобки, но смотрятся они некрасиво и как-то чужеродно =_=

Linda-chan

Взяла код на VBScript, взяла свой модуль vb.rb и начала построчно переводить код на Руби. Этим язык меня и привлекает.

Linda-chan

Из пятого HAML'а убрали опцию «ugly», и всё стало очень печально =_=

Linda-chan

Gopher сервер на Руби OO
https://github.com/muffinista/gopher2000
На нём сделан Gopher гейт к Википедии:
gopher://gopherpedia.com

Linda-chan

Если у нас сокеты, скажем, в каком-нибудь Net::HTTP, и случается ошибка, то вот вот это:

$stderr.puts "Ошибка: #{ e.message }"

может кончиться этим:

incompatible character encodings: UTF-8 and ASCII-8BIT (Encoding::CompatibilityError)

Поэтому нужно делать так:

$stderr.puts "Ошибка: #{ e.message.force_encoding("windows-1251").encode("UTF-8") }"

Собственно, это результат мышления в стиле «двух кодировок» и «какой-такой UTF-16 я в линупсах привык к UTF-8 и доки не читаю».

Linda-chan

Я, конечно, ещё только начинаю осваивать Руби, но из всех языков с которыми я за последнее время познакомилась, именно Руби оставляет какое-то чувство комфорта при написании кода. Словно пишешь на VB7.

Linda-chan

tumblelogs.sort_by! do |tumblelog|
tumblelog["title"]
end

Не перестаю удивляться!

Linda-chan

[ file_contents ].pack("u")

И никаких сторонних утилит OO

Linda-chan

Как заставить RVM работать не только в запущенном Баше, но и за его пределами, в тех же Иксах? А то Баш при запуске читает ~/.bashrc и запускает специальный скрипт, после чего все переменные окружения красиво устанавливаются, и нужная версия Руби подменяет системную (если есть). Иксы же при логоне запускают ~/.profile и даже выполняют указанный там скрипт, но переменные окружения так и не устанавливаются. В итоге работает только системная версия Руби, устаревшая лет пять назад == Приходится городить костыли с промежуточными скриптами, которые врукопашную устанавливают нужные переменные и запускают правильную версию Руби. Та же фигня с неинтерактивными пользователями вроде www-data в рамках вэб-сервера. У них вообще нет ~, а при системной установке RVM для них не выполняется обновлятор переменных окружения == И при запуске от суперпользователя (скажем, через крон) – RVM большими красными буквами не рекомендуют запускать от рута =_= Короче, пичалька.

Linda-chan

Bing Logger переписала на Руби. До этого было на VBScript только для Windows, а тут прямо кроссплатформенно всё.

Linda-chan

То, что у функций в Руби есть опциональные параметры с дефолтным значением, это, конечно, хорошо. А то, что нельзя пропустить один опциональный параметр и указать значения следующих вызовом вида «byaka(12, , 34)», это, конечно, очень плохо =_=

Linda-chan

Пилю модуль со строковыми функциями в стиле VB6. В качестве упражнения и безболезненного погружения. Сначала хотела стандартный класс переопределить, но потом решила не делать этого. Собственно, узнала кое-что новое про сами VB функции. Например, в Replace() есть параметр Start, который по идее только сообщает с какого символа начинать поиск и замену, а на деле (и это задокументировано!) срезает всё, что было до этого символа. Я прямо в шоке, всегда думала, что активно использую этот параметр, ан нет, видать, ни разу не использовала.

Linda-chan

То ли я невнимательно читала спецификацию syslog, то ли авторы класса Syslog в Руби, но ихние функции debug(), error() и прочие не соответствуют тому, что я вижу в своём syslog сервере. Тоесть отправляю error(), а оно появляется как Warning, falal() – как Error и так далее. Разве что только info() нормально выходит.

Linda-chan

Пишу в начале скрипта на Руби:

!/usr/bin/env ruby

Запускаю, Баш начинает вести себя неадекватно, словно это – его собственный скрипт. Вспоминаю, убираю BOM, запускаю. Баш сообщает, что файл не найден. Вспоминаю, CRLF превращаю в LF. Запускаю, скрипт стартует без проблем.
При этом самого Руби это всё не смущает. Башу не хватает гибкости™

partizan

Так, посоны рубисты. У меня в проекте используется compass.
И этот компасс требует sass-css-importer

Где мне написать что это его зависимость?

В питоне я пишу requirements.in; Для npm есть package.json; А тут куда?

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.