
ojab
09.08.2016
09:14:17
о, type_cast_for_schema это хорошо
thx
хм
хотя не очень

Google

I
09.08.2016
09:15:14
с радостью узнаю про альтернативы - я это при отсутствии интернета просто в сорсах отрыл

ojab
09.08.2016
09:15:35
>MyModel.attribute_types['id'].type_cast_for_schema('id')
=> "\"id\""

Иван
09.08.2016
09:15:38
Model.columns.map(&:type)
не то?

ojab
09.08.2016
09:15:54
не совсем
непонятно как мне какой-нибудь :jsonb преобразовать во что следует

I
09.08.2016
09:16:57
а, во, лучше юзать type_cast_for_database
в 4.2.x совсем иначе, судя по всему
User.first.instance_values['attributes']['id'].value_for_database
что-то такое(

ojab
09.08.2016
09:30:18
(но в любом случае массивы там показываются как Integer/String/whatever)
но в этом случае можно проверить MyModel.column_for_attribute(:my_attribute).array?, по крайней мере для постгреса

Иван
09.08.2016
09:33:08
для хранения массивов используется array: true в миграции?

Google

ojab
09.08.2016
09:34:01
ага

Иван
09.08.2016
09:36:06
ну это же должно где то отразиться помимо миграции

Ivan
09.08.2016
09:38:16

ojab
09.08.2016
09:38:40
эм
ну ок
похоже об этом знает только TypeCaster и если мне тоже понадобилось это узнать — я что-то делаю не так

Иван
09.08.2016
09:42:37

Ivan
09.08.2016
09:43:52
В каком смысле?)

Иван
09.08.2016
09:46:40
MyModel.columns.map{ |c| c.inspect } ну вот сюда например вроде попадают всякие дефолтные значения является ли колонка примари итп
может туда и указание на array:true попадет?

Ivan
09.08.2016
09:48:52
А черт его знает

Иван
09.08.2016
10:00:04
но вообще наверно можно указать массивам дефолтное знаение в миграции [] и при проверке на тип аттрибута проверять еще дефолтное значение на []
если дефолтное значение установлено как [] значит у нас массив

Vitaliy
09.08.2016
11:17:38
#работа
Rails dev, оплата почасовая - 500 руб./ч
Проект melp.pro - облачный сервис для поиска частных исполнителей (аналоги - youdo.com, thumbtack.com). Год назад запустили MVP - чисто рельсовое приложение - получили отдачу от первых пользователей, и ушли в оптимизацию.
Сейчас у нас сервер с API, iOS-приложение, новый дизайн и верстка. Готово все на 90%.
Человека ищем для веб-версии - взять верстку (slim, sass, производный от bootstrap фреймворк), и сделать рабочее RoR приложение, общающееся в API-сервером.
Пишите в личку - я сооснователь, занимаюсь версткой, над рельсовым приложением будем работать совместно.

yopp
09.08.2016
11:18:46
«Мы пишем белым по белому»
https://yopp.in/Vpo

Nikolay
09.08.2016
18:04:59
о да,дада
а за шрифт и размер цен на домены вообще убить надо отетих https://gmhost.com.ua/service/domain-registration

Vitaliy
09.08.2016
18:10:18
Roboto плохой шрифт?

Nikolay
09.08.2016
18:11:25
размер. размер
у меня этот размер < 6 пикселей

Google

Vitaliy
09.08.2016
18:13:14
интересно, а какая OS/браузер?

Nikolay
09.08.2016
18:16:52
win10/ms edge
я им только что отрепортил багу
в хроме, в прочем они читаемы не сильно лучше

Vitaliy
09.08.2016
18:20:01
скриншот таки читабелен, серый текст 12 шрифтом, и не думаю, что они его увеличат
а, понял
понял :)
цены
"а за шрифт и размер цен" прочел так "убить надо за шрифт и за высокие цены на домены" :)

Nikolay
09.08.2016
18:23:53
да нихрена оно нечитабельно
у меня и так -18 на оба галаза, и ломать зрение вот этим - я нахрен такой сайт закрою и пойду к дургому
благо регистраторов сейчас как говна

Nikolay
09.08.2016
18:25:48
я в общем-то и сам в двух регистраторах работаю %)
регистрация доменов на самом деле вместе с хостингом щас писец неприбыльна

Vitaly
09.08.2016
18:27:37

Nikolay
09.08.2016
18:27:54
потому что что первых что вторых как говна на рынке снг

Vitaly
09.08.2016
18:27:55
на некоторых регистраторах щас даже бесплатно сайт генерируют

Nikolay
09.08.2016
18:28:19
дядьку, знаешь сколько надо телодвижений чтбы сгенерить сайт на вордпрессе?:)
ровно одной галочкой
даже не кнопкой

Google

Vitaly
09.08.2016
18:29:00
серьезно?

Nikolay
09.08.2016
18:29:04
одна галочка "сделать зае..сь"
распаковать вп в каталог, создать базу с паролем, прописать пароль базы в конфиге вп - и все это одня кнопка

Vitaly
09.08.2016
18:29:50
ну так это круто же? можно делать сайты по 100 штук в день и дешево

Nikolay
09.08.2016
18:30:39
аналогов вордпресс.ком - как говна
который ихний облачный хостинг
и они тоже так себе выживают

Admin
ERROR: S client not available

Vitaly
09.08.2016
18:31:12
ну спрос наверное есть вот и много

Nikolay
09.08.2016
18:31:15
вот генераторы сайтов типа укоза - поинтереснее
угу
все ломанулись в нишу
и получилась херня - все демпингуют и в результате прибыль копеешная
на основной моей работе - хостинг с почтой - сбоку припеку
потому шо он копейки приносит по сравнению с телефонией и доступом в интернет
а второй проект который мне ЧПшные налоги закрывает приносит копейки (
выживают только сильнейшие и крупные

Dmitriy
09.08.2016
18:49:42
ребят подскажите плиз начинающему чайнику, когда я присваюваю массив переменной то она тоже становится массивом? cart = Cart.new
class Cart
def initialize
@cart = Array.new
end

ojab
09.08.2016
18:51:51
нет

Google

ojab
09.08.2016
18:52:12
в классе Cart появляется переменная (instance_variable) @cart
которая массив
то бишь в экземплярах класса

Dmitriy
09.08.2016
18:53:04
ага... вот почему метод each не работает
надо сделать все внутри класса, создав новый метод

ojab
09.08.2016
18:54:02
мы тут не имеем понятия что тебе надо сделать, к слову

Dmitriy
09.08.2016
18:54:47
сейчас)

ojab
09.08.2016
18:54:52
ну и инициализировать пустые массивы лучше через []
и инициализировать пустой массив в initialize тоже смысла большого не имеет
https://github.com/bbatsov/ruby-style-guide#literal-array-hash

Dmitriy
09.08.2016
18:57:39
в общем я просто только учусь, делаю что то вроде магазина(просто упражнение) написал два класса 1
class Item
attr_accessor :name, :price, :rating
def initialize(options = {})
@name = options[:name]
@price = options[:price]
@rating = options[:rating]
end
end
и второй
class Cart
attr_accessor :cart
def initialize
@cart = Array.new
end
def add_item (item)
@cart.push item
end
def remove_item
@cart.pop
end
end и вот пытаюсь сделать следующее
item1 = Item.new({:name => "car", :price => 100, :top => 2})
item2 = Item.new({:name => "Book", :price => 120, :top => 5})
cart = Cart.new
cart.add_item(item1)
cart.add_item(item2)
cart.each {|x| puts x}

ojab
09.08.2016
18:58:12
длинные куски кода лучше на gist закидывать

Dmitriy
09.08.2016
18:58:32
аа хорошо

ojab
09.08.2016
19:00:37
ну собственно ты можешь или делать .each на cart.cart, который у тебя через attr_accessor доступен, или сделать в Cart метод each и пробрасывать его к @cart
учитывая то что это туториал — прозреваю что имелось в виду cart.cart.each

Dmitriy
09.08.2016
19:02:21
о, спасибо огромное!
думаю наверно лучше сделать метод, внутри класса, тогда можно будет в cart убрать attr_accessor?

ojab
09.08.2016
19:04:25
ага

Dmitriy
09.08.2016
19:04:40
спасибо)

ojab
09.08.2016
19:05:33
но у тебя сразу вряд ли получится, гугли по ключевым словам ruby block block_given