require "yaml" module Announcement class Engine < ::Rails::Engine initializer "announcement" do translate_data = Dir["#{Announcement::Engine.root}/config/locales/*.yml"] .map{|yaml_file| YAML.load(File.read(yaml_file))} data = {} key1 = {} value1 = {} value2 = {} value3 = {} translate_data.each do |t_data| key1[t_data.keys[0]] = t_data.values[0]['announcement']['picture_showing_size'] value1[t_data.keys[0]] = t_data.values[0]['announcement']['small_size'] value2[t_data.keys[0]] = t_data.values[0]['announcement']['medium_size'] value3[t_data.keys[0]] = t_data.values[0]['announcement']['orignal_size'] end data[key1] = [value1,value2,value3] data_item = {} key_item1 = {} value_item1 = {} value_item2 = {} value_item3 = {} translate_data.each do |t_data| key_item1[t_data.keys[0]] = t_data.values[0]['announcement']['showing_back_and_next'] value_item1[t_data.keys[0]] = t_data.values[0]['announcement']['not_show'] value_item2[t_data.keys[0]] = t_data.values[0]['announcement']['show_bottom'] value_item3[t_data.keys[0]] = t_data.values[0]['announcement']['show_top'] end data_item[key_item1] = [value_item1,value_item2,value_item3] OrbitApp.registration "Announcement", :type => "ModuleApp" do module_label "announcement.announcement" base_url File.expand_path File.dirname(__FILE__) widget_methods ["widget","random_announcement_widget", "tag_cloud"] widget_settings [{"data_count"=>30}] taggable "Bulletin" categorizable authorizable frontend_enabled feeds_url "/xhr/announcements/feeds" data_count 1..30 begin show_options data show_option_items data_item rescue => e puts ['there_was_no_show_option_method',e] end side_bar do head_label_i18n 'announcement.announcement', icon_class: "icons-megaphone" available_for "users" active_for_controllers (['admin/announcements']) head_link_path "admin_announcements_path" context_link 'announcement.all_articles', :link_path=>"admin_announcements_path" , :priority=>1, :active_for_action=>{'admin/announcements'=>'index'}, :available_for => 'users' context_link 'new_', :link_path=>"new_admin_announcement_path" , :priority=>2, :active_for_action=>{'admin/announcements'=>'new'}, :available_for => 'sub_managers' context_link 'categories', :link_path=>"admin_module_app_categories_path" , :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'announcement').id}", :priority=>3, :active_for_action=>{'admin/announcements'=>'categories'}, :active_for_category => 'Announcement', :available_for => 'managers' context_link 'tags', :link_path=>"admin_module_app_tags_path" , :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'announcement').id}", :priority=>4, :active_for_action=>{'admin/announcements'=>'tags'}, :active_for_tag => 'Announcement', :available_for => 'managers' context_link 'announcement.feed_list', :link_path=>"admin_announcement_feed_path" , :priority=>5, :active_for_action=>{'admin/announcements'=>'feed'}, :available_for => 'managers' context_link 'announcement.import', :link_path=>"admin_announcement_import_path" , :priority=>6, :active_for_action=>{'admin/announcements'=>'import'}, :available_for => 'managers' context_link 'announcement.settings', :link_path=>"admin_announcement_settings_path" , :priority=>6, :active_for_action=>{'admin/announcements'=>'settings'}, :available_for => 'managers' end end # temp = YAML.load_file(File.join(Rails.root,"config","mongoid.yml")) # dbsettings = temp["production"]["sessions"]["default"] # s = Moped::Session.new(dbsettings["hosts"]) # s.use dbsettings["database"] # s[:bulletins].indexes.create({expirable_created_at: 1},{ expireAfterSeconds: 180 }) end end end