# frozen_string_literal: true # HtmlFile Module module KepplerFrontend module Concerns module Partials module HelperFile extend ActiveSupport::Concern def create_helper file = "#{url_front}/app/helpers/keppler_frontend/app/frontend_helper.rb" index_html = File.readlines(file) head_idx = 0 index_html.each do |i| head_idx = index_html.find_index(i) if i.include?(" module App::FrontendHelper") end index_html.insert(head_idx.to_i + 1, " # begin #{name}\n") index_html.insert(head_idx.to_i + 2, " def #{name}(hash = {})\n") index_html.insert(head_idx.to_i + 3, " render 'keppler_frontend/app/partials/#{name}', hash: hash\n") index_html.insert(head_idx.to_i + 4, " end\n") index_html.insert(head_idx.to_i + 5, " # end #{name}\n") index_html = index_html.join('') File.write(file, index_html) true end def delete_helper file = "#{url_front}/app/helpers/keppler_frontend/app/frontend_helper.rb" index_html = File.readlines(file) begin_idx = 0 end_idx = 0 index_html.each do |i| begin_idx = index_html.find_index(i) if i.include?(" # begin #{name}\n") end_idx = index_html.find_index(i) if i.include?(" # end #{name}\n") end return if begin_idx==0 index_html.slice!(begin_idx..end_idx) index_html = index_html.join('') File.write(file, index_html) true end def update_helper(helper) file = "#{url_front}/app/helpers/keppler_frontend/app/frontend_helper.rb" index_html = File.readlines(file) begin_idx = 0 end_idx = 0 index_html.each do |i| begin_idx = index_html.find_index(i) if i.include?(" # begin #{name}\n") end_idx = index_html.find_index(i) if i.include?(" # end #{name}\n") end return if begin_idx==0 index_html[begin_idx] = " # begin #{helper[:name]}\n" index_html[begin_idx+1] = " def #{helper[:name]}(hash = {})\n" index_html[begin_idx+2] = " render 'keppler_frontend/app/partials/#{helper[:name]}', hash: hash\n" index_html[begin_idx+4] = " # end #{helper[:name]}\n" index_html = index_html.join('') File.write(file, index_html) true end private def url_front "#{Rails.root}/rockets/keppler_frontend" end end end end end