Size: a a a

pro.rb (Ruby/Rails / RU)

2021 March 03

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
Типа это чисто шаблон посмотреть заказчику как документ выглядит и куда будут подставляться значения
источник

ML

Michael Lutsko in pro.rb (Ruby/Rails / RU)
просто gsub не решит твою проблему, так как на какое-то поле нужно пять нижних подчеркиваний а на какое-то два
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
Michael Lutsko
просто gsub не решит твою проблему, так как на какое-то поле нужно пять нижних подчеркиваний а на какое-то два
Согласен, но что с этим делать пока не знаю
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
Разве что реально писать дата миграции
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
Но типа
А) нет пока валидации документов которые попадают в базу (заказчик даёт их нашим людям (не обязательно разработчикам) и те ручками переписывают это в аштиэмэль еэрбэ)
Б) таких шаблонов сейчас уже около 150 в базе и что там и как понаписано ещё предстоит узнать
источник

ML

Michael Lutsko in pro.rb (Ruby/Rails / RU)
у меня когда-то было на такую задачу пять минут и я просто сделал что-то подобное MyModel.new(full_name: '_____________', age: '__')
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
Michael Lutsko
у меня когда-то было на такую задачу пять минут и я просто сделал что-то подобное MyModel.new(full_name: '_____________', age: '__')
Ну вот примерно так я хотел реализовать нул обджект
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
Максим Вейсгейм
действующего на основании
Устава, с одной стороны и <b><%= executor.full_name %>

или
<h1>Договор об оказании услуг</h1>\n\n<p class=\"agreement-date\"><%= I18n.with_locale(:ru) { I18n.l((signed_at || Time.now).to_date, format: :long) } %><br>
Но потом я вижу это
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
То что ниже экзекутора
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
И понимаю что в шаблонах меня может ждать абсолютно любая логика
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
Хотя наверное можно совместить два подхода
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
И там где просто берется поле объекта возвращать соответствующее поле нул обджекта с нужным количеством прочерков а где это поле возвращает какую либо ошибку из-за сложной логики ловить ошибку и возвращать фиксированное количество прочерков
источник

ML

Michael Lutsko in pro.rb (Ruby/Rails / RU)
ну если бы у меня на мою задачу было бы немного больше времени, то я бы разделил сам erb на паршалы и было бы что-то типа @render "dir/#{template_name}/full_name"
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
Michael Lutsko
ну если бы у меня на мою задачу было бы немного больше времени, то я бы разделил сам erb на паршалы и было бы что-то типа @render "dir/#{template_name}/full_name"
По хорошему да, но как я уже говорил у меня их там 150+ и растет
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
И типа совсем не обязательно что у них там есть какая либо логика в структуре
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
А ну и вообще они прямо в базе лежат 🤪
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
Текстом в поле
источник

ML

Michael Lutsko in pro.rb (Ruby/Rails / RU)
Максим Вейсгейм
Текстом в поле
а тут случайно не такой же вопрос?
https://stackoverflow.com/questions/2588967/library-to-parse-erb-files
источник

RU

Roman Usherenko in pro.rb (Ruby/Rails / RU)
Максим Вейсгейм
действующего на основании
Устава, с одной стороны и <b><%= executor.full_name %>

или
<h1>Договор об оказании услуг</h1>\n\n<p class=\"agreement-date\"><%= I18n.with_locale(:ru) { I18n.l((signed_at || Time.now).to_date, format: :long) } %><br>
корооче


pry@2.6.2(main)> module Blank
pry@2.6.2(main)*   PLACEHOLDER = '_______'
pry@2.6.2(main)*
pry@2.6.2(main)*   def const_missing(*); self; end
pry@2.6.2(main)*   def method_missing(*); self; end
pry@2.6.2(main)*   def to_s; PLACEHOLDER; end
pry@2.6.2(main)* end
=> :to_s
pry@2.6.2(main)>
pry@2.6.2(main)> class Template
pry@2.6.2(main)*   include Blank
pry@2.6.2(main)*   extend Blank
pry@2.6.2(main)*
pry@2.6.2(main)*   def get_binding
pry@2.6.2(main)*     binding
pry@2.6.2(main)*   end
pry@2.6.2(main)* end
=> :get_binding
pry@2.6.2(main)>
pry@2.6.2(main)> erb = '<h1>Договор об оказании услуг</h1>\n\n<p class=\"agreement-date\"><%= I18n.with_locale(:ru) { I18n.l((signed_at || Time.now).to_date, format: :long) } %><br>'
=> "<h1>Договор об оказании услуг</h1>\\n\\n<p class=\\\"agreement-date\\\"><%= I18n.with_locale(:ru) { I18n.l((signed_at || Time.now).to_date, format: :long) } %><br>"
pry@2.6.2(main)> require 'erb'
=> true
pry@2.6.2(main)> ERB.new(erb).result(Template.new.get_binding)
=> "<h1>Договор об оказании услуг</h1>\\n\\n<p class=\\\"agreement-date\\\">_______<br>"
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
Погляжу чере 10 мин
источник