lib/ayadn/databases.rb in ayadn-1.2.2 vs lib/ayadn/databases.rb in ayadn-1.2.3

- old
+ new

@@ -2,50 +2,73 @@ module Ayadn class Databases class << self - attr_accessor :users, :index, :pagination, :aliases, :blacklist, :bookmarks + attr_accessor :users, :index, :pagination, :aliases, :blacklist, :bookmarks, :nicerank end def self.open_databases @users = self.init "#{Settings.config[:paths][:db]}/users.db" @index = self.init "#{Settings.config[:paths][:pagination]}/index.db" @pagination = self.init "#{Settings.config[:paths][:pagination]}/pagination.db" @aliases = self.init "#{Settings.config[:paths][:db]}/aliases.db" @blacklist = self.init "#{Settings.config[:paths][:db]}/blacklist.db" @bookmarks = self.init "#{Settings.config[:paths][:db]}/bookmarks.db" + @nicerank = self.init "#{Settings.config[:paths][:db]}/nicerank.db" end def self.close_all - [@users, @index, @pagination, @aliases, @blacklist, @bookmarks].each do |db| - db.compact + [@users, @index, @pagination, @aliases, @blacklist, @bookmarks, @nicerank].each do |db| db.flush + db.compact db.close end end def self.init(path) - winPlatforms = ['mswin', 'mingw', 'mingw_18', 'mingw_19', 'mingw_20', 'mingw32'] - case RbConfig::CONFIG['host_os'] - when *winPlatforms - abort("\nSorry, Ayadn doesn't work on Windows.\n\n".color(:red)) - else + # winPlatforms = ['mswin', 'mingw', 'mingw_18', 'mingw_19', 'mingw_20', 'mingw32'] + # case RbConfig::CONFIG['host_os'] + # when *winPlatforms + # abort("\nSorry, Ayadn doesn't work on Windows.\n\n".color(:red)) + # else Daybreak::DB.new "#{path}" + # end + end + + def self.add_niceranks niceranks + niceranks.each do |id,infos| + @nicerank[id] = infos end end + def self.get_niceranks user_ids + ids = {} + user_ids.each do |id| + ids[id] = @nicerank[id] + end + ids + end + def self.add_mention_to_blacklist(target) - @blacklist[target.downcase] = :mention + target.each do |username| + @blacklist[username.downcase] = :mention + end end def self.add_client_to_blacklist(target) - @blacklist[target.downcase] = :client + target.each do |source| + @blacklist[source.downcase] = :client + end end def self.add_hashtag_to_blacklist(target) - @blacklist[target.downcase] = :hashtag + target.each do |tag| + @blacklist[tag.downcase] = :hashtag + end end def self.remove_from_blacklist(target) - @blacklist.delete(target.downcase) + target.each do |el| + @blacklist.delete(el.downcase) + end end def self.import_blacklist(blacklist) new_list = self.init blacklist new_list.each {|name,type| @blacklist[name] = type} new_list.close