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