Если не понимаете почему так уложены файлы, может стоит смотреть сначала на устройство небольших гемов? Никаких framework-ов не используется, файлы так уложены (в частности папка lib) согласно иерархии модулей классов. Если есть модуль первого уровня (условно), он просто лежит в lib, если в этот модуль вложен класс, то создается папка с именем этого модуля и в нем файл с именем класса. Можно все сваливать в одну папку, тоже будет работать. Просто в ruby принят такой стиль, в ruby в принципе много соглашений, которые обълегчают понимания кода и устройства в целом.
В качестве роутеров можно посмотреть и на микротики, разброс по ценам позволяет найти под разные задачи. А коммутатор можно и d-link взять, ту уже вопрос бюджета. Думаю принципиальной разницы не будет.
Да, но не хочется машину отдельную под нее заводить. Была попытка воткнуть его в виртуалку под Hyper-V. Но там какие-то религиозные проблемы у них. Они даже с legacy драйвером работать не хотят, хотя видят сетевую в устройствах, показывают MAC.
А вероятности появления 10GE пока не предвидится в обозримом будущем.
Ставил последние обновления на сервер, разрывы вроде прекратились, но какая-то непонятная фигня с роутингом началась. Завтра буду еще экспериментировать.
Простейший пример: проверки, чтобы не городить одну свою проверку, с определением типа внутри, даже с разбитием на подметоды, в виде отдельных классов, которые заточены под определенную задачу гораздо элегантней.
За ссылку спасибо =) решает другую задачу (за которую еще небрался). А я имел ввиду другое. Например пример по феншую. Условно есть следующий код:
class User < ActiveRecord::Base
end
class Customer < User
end
class Employee < User
end
class Supplier < User
end
То для него необходима таблица User, с минимальным набором полей: id и type. В поле type будет хранится имя того класса который необходимо создать. Таким образом, если будет две записи у одной в поле type Сustomer, в другой Supplier, то при выборке User.all будет возвращен массив объектов, соответствующих типов.
Собственно вот этот механизм и хочу как-то реализовать, НО поле type не существует, а есть ссылка на другую таблицу из которой можно этот тип извлечь. Вот как это сделать пока не понял.
Пытался найти точку создания объектов, но исходники большие. Попытка подмены метода type не решила задачу, т.к. видимо значение извлекается в другом классе где-то внутри.