Permalink
Browse files

フィルタの設定変更を再起動無しでできるようにした

  • Loading branch information...
Toshiaki Asai
Toshiaki Asai committed Mar 16, 2012
1 parent 0bdb4ac commit b9cb9a3f7f8eda2837336d31e3066846e660aa2d
Showing with 15 additions and 18 deletions.
  1. +2 −2 README.org
  2. +13 −16 filter.rb
View
@@ -4,7 +4,7 @@ mikutterに
・単語
のフィルター機能を追加します。
* 動かないんだけど
-Rev.712以降のmikutterで動作します。
+0.1.1.712以降のmikutterで動作します。
mikutterのtrunkをお使いください。
* 設定が反映されないんだけど
-mikutterの再起動後に現在のフィルターの設定が有効になります。
+設定する前に受信したツイートに対しては動きません
View
29 filter.rb 100644 → 100755
@@ -1,38 +1,35 @@
#!/usr/bin/env ruby -Ku
# -*- coding: utf-8 -*-
-Plugin.create(:cilent_filter) do
- exclude_client = UserConfig[:filter_mute_kind_client]
- if exclude_client.is_a? Array then
- filter_show_filter do |msgs|
+Plugin.create(:filter) do
+ filter_show_filter do |msgs|
+ mute_words = UserConfig[:filter_mute_kind_client].select{|m|!m.empty?}
+ if mute_words
msgs = msgs.select{ |m|
- not exclude_client.any?{ |word|
+ not UserConfig[:filter_mute_kind_client].any?{ |word|
word.to_s.include?(m[:source]) if m[:source] != nil
}
}
- [msgs]
end
+ [msgs]
end
-end
-Plugin.create(:mute_word) do
- exclude_word = UserConfig[:filter_mute_word]
- if exclude_word.is_a? Array then
- filter_show_filter do |msgs|
+ filter_show_filter do |msgs|
+ mute_words = UserConfig[:filter_mute_word].select{|m|!m.empty?}
+ if mute_words
msgs = msgs.select{ |m|
- not exclude_word.any?{ |word|
+ not mute_words.any?{ |word|
m.to_s.include?(word)
- }
+ }
}
- [msgs]
end
+ [msgs]
end
-end
-Plugin.create :filter do
settings "ミュート" do
settings "フィルタする「種類」\n※設定は再起動後に有効になります" do
multi "クライアント", :filter_mute_kind_client
multi "単語", :filter_mute_word
end
end
+
end

0 comments on commit b9cb9a3

Please sign in to comment.