From fbb2b30d66c808bafe8c87b3b633f3e44b1b6b67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B1=E5=8D=9A=E4=BA=9E?= Date: Sat, 24 Feb 2024 20:49:09 +0800 Subject: [PATCH] Prepare to support ruby 3.3. --- lib/gallery/engine.rb | 186 +++++++++++++++++++++--------------------- 1 file changed, 94 insertions(+), 92 deletions(-) diff --git a/lib/gallery/engine.rb b/lib/gallery/engine.rb index c3f24a6..78ff87e 100644 --- a/lib/gallery/engine.rb +++ b/lib/gallery/engine.rb @@ -1,101 +1,103 @@ module Gallery class Engine < ::Rails::Engine initializer "gallery" do - begin - translate_data = Dir["#{Gallery::Engine.root}/config/locales/*.yml"] .map{|yaml_file| YAML.load(File.read(yaml_file))} - data = {} - key1 = {} - key1_options = ['grid_style','card_style','slideshow_style'] - key1_attrs = [] - key1_options.each_with_index do |v, i| - key1_attrs[i] = {} + Rails.application.config.to_prepare do + begin + translate_data = Dir["#{Gallery::Engine.root}/config/locales/*.yml"] .map{|yaml_file| YAML.load(File.read(yaml_file))} + data = {} + key1 = {} + key1_options = ['grid_style','card_style','slideshow_style'] + key1_attrs = [] + key1_options.each_with_index do |v, i| + key1_attrs[i] = {} + end + key2 = {} + key2_options = ['small_size','medium_size','large_size'] + key2_attrs = [] + + key2_options.each_with_index do |v, i| + key2_attrs[i] = {} + end + + + translate_data.each do |t_data| + v = t_data.values + k = t_data.keys[0] + key1[k] = v[0]['gallery']['inner_page_layout'] + key1_options.each_with_index do |kk, i| + key1_attrs[i][k] = v[0]['gallery'][kk] + end + + key2[k] = v[0]['gallery']['picture_thumb_size'] + key2_options.each_with_index do |kk, i| + key2_attrs[i][k] = v[0]['gallery'][kk] + end + end + + data[key1] = key1_attrs + data[key2] = key2_attrs + rescue => e + puts ['error in gallery',e] end - key2 = {} - key2_options = ['small_size','medium_size','large_size'] - key2_attrs = [] + + OrbitApp.registration "Gallery", :type => "ModuleApp" do + module_label "gallery.gallery" + base_url File.expand_path File.dirname(__FILE__) + widget_methods ["widget","album_widget"] + # widget_settings [] + widget_settings [{"data_count"=>30}] + models_to_cache [:album,:album_image] + taggable "Album" + categorizable + authorizable + frontend_enabled + data_count 1..30 - key2_options.each_with_index do |v, i| - key2_attrs[i] = {} + begin + show_option_items data + rescue => e + puts ['there_was_no_show_option_method',e] + end + side_bar do + head_label_i18n 'gallery.gallery', icon_class: "icons-pictures" + available_for "users" + active_for_controllers (['admin/galleries','admin/images']) + head_link_path "admin_galleries_path" + + context_link 'gallery.all', + :link_path=>"admin_galleries_path" , + :priority=>1, + :active_for_action=>{'admin/galleries'=>"index"}, + :available_for => 'users' + + context_link 'gallery.new', + :link_path=>"new_admin_gallery_path" , + :priority=>2, + :active_for_action=>{'admin/galleries'=>"new"}, + :available_for => 'sub_managers' + + context_link 'categories', + :link_path=>"admin_module_app_categories_path" , + :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'gallery').id}", + :priority=>3, + :active_for_action=>{'admin/galleries'=>'categories'}, + :active_for_category => 'Gallery', + :available_for => 'managers' + + context_link 'tags', + :link_path=>"admin_module_app_tags_path" , + :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'gallery').id}", + :priority=>4, + :active_for_action=>{'admin/galleries'=>'tags'}, + :active_for_tag => 'Gallery', + :available_for => 'managers' + context_link 'gallery.setting', + :link_path=>"admin_galleries_setting_path" , + :priority=>5, + :active_for_action=>{'admin/galleries'=>'setting'}, + :available_for => 'managers' + end end - - - translate_data.each do |t_data| - v = t_data.values - k = t_data.keys[0] - key1[k] = v[0]['gallery']['inner_page_layout'] - key1_options.each_with_index do |kk, i| - key1_attrs[i][k] = v[0]['gallery'][kk] - end - - key2[k] = v[0]['gallery']['picture_thumb_size'] - key2_options.each_with_index do |kk, i| - key2_attrs[i][k] = v[0]['gallery'][kk] - end - end - - data[key1] = key1_attrs - data[key2] = key2_attrs - rescue => e - puts ['error in gallery',e] - end - - OrbitApp.registration "Gallery", :type => "ModuleApp" do - module_label "gallery.gallery" - base_url File.expand_path File.dirname(__FILE__) - widget_methods ["widget","album_widget"] - # widget_settings [] - widget_settings [{"data_count"=>30}] - models_to_cache [:album,:album_image] - taggable "Album" - categorizable - authorizable - frontend_enabled - data_count 1..30 - - begin - show_option_items data - rescue => e - puts ['there_was_no_show_option_method',e] - end - side_bar do - head_label_i18n 'gallery.gallery', icon_class: "icons-pictures" - available_for "users" - active_for_controllers (['admin/galleries','admin/images']) - head_link_path "admin_galleries_path" - - context_link 'gallery.all', - :link_path=>"admin_galleries_path" , - :priority=>1, - :active_for_action=>{'admin/galleries'=>"index"}, - :available_for => 'users' - - context_link 'gallery.new', - :link_path=>"new_admin_gallery_path" , - :priority=>2, - :active_for_action=>{'admin/galleries'=>"new"}, - :available_for => 'sub_managers' - - context_link 'categories', - :link_path=>"admin_module_app_categories_path" , - :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'gallery').id}", - :priority=>3, - :active_for_action=>{'admin/galleries'=>'categories'}, - :active_for_category => 'Gallery', - :available_for => 'managers' - - context_link 'tags', - :link_path=>"admin_module_app_tags_path" , - :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'gallery').id}", - :priority=>4, - :active_for_action=>{'admin/galleries'=>'tags'}, - :active_for_tag => 'Gallery', - :available_for => 'managers' - context_link 'gallery.setting', - :link_path=>"admin_galleries_setting_path" , - :priority=>5, - :active_for_action=>{'admin/galleries'=>'setting'}, - :available_for => 'managers' - end end end end