diff --git a/app/models/site.rb b/app/models/site.rb index ea49e147..26da426f 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -589,17 +589,34 @@ class Site < ApplicationRecord # * El archivo Gemfile.lock se modificó def install_gems return unless persisted? + return unless (!gems_installed? || theme_path.blank?) || gemfile_updated? || gemfile_lock_updated? - deploy_local = deploys.find_by_type('DeployLocal') - deploy_local.git_lfs - - return unless !gems_installed? || gemfile_updated? || gemfile_lock_updated? - - deploy_local.bundle + deploys.find_by_type('DeployLocal').bundle touch FileUtils.touch(gemfile_path) end + # El sitio tiene una plantilla + # + # @return [Bool] + def theme? + config['theme'].present? + end + + # El directorio donde se encuentran los archivos de la plantilla. Si + # es nil es que las dependencias todavía no se instalaron. + # + # @return [String,nil] + def theme_path + @theme_path ||= + if theme? + Dir[gem_path.join('gems', "#{config['theme']}-*").to_s].first + else + path + end + end + + # @return [Pathname] def gem_path @gem_path ||= begin