aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/addon/bugreport.rb6
-rw-r--r--core/addon/mentions.rb5
-rw-r--r--core/mui/gtk_mumble.rb4
-rw-r--r--core/plugin/gui.rb2
-rw-r--r--core/post.rb3
-rw-r--r--core/retriever.rb19
-rw-r--r--core/test/test_message.rb38
-rw-r--r--core/twitter_api.rb1
8 files changed, 49 insertions, 29 deletions
diff --git a/core/addon/bugreport.rb b/core/addon/bugreport.rb
index 98e40f1d..5e1e05f4 100644
--- a/core/addon/bugreport.rb
+++ b/core/addon/bugreport.rb
@@ -16,10 +16,9 @@ Module.new do
def self.popup
alert_thread = if(Thread.main != Thread.current) then Thread.current end
dialog = Gtk::Dialog.new("bug report")
- container = main
dialog.set_size_request(600, 400)
dialog.window_position = Gtk::Window::POS_CENTER
- dialog.vbox.pack_start(container, true, true, 30)
+ dialog.vbox.pack_start(main, true, true, 30)
dialog.add_button(Gtk::Stock::OK, Gtk::Dialog::RESPONSE_OK)
dialog.add_button(Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL)
dialog.default_response = Gtk::Dialog::RESPONSE_OK
@@ -41,7 +40,6 @@ Module.new do
dialog.signal_connect("destroy") {
false
}
- container.show
dialog.show_all
Gtk::Window.toplevels.first.hide
if(alert_thread)
@@ -80,7 +78,7 @@ Module.new do
Plugin.call(:update, nil, [Message.new(:message => "エラー報告を送信しました。ありがとう♡",
:system => true)])
rescue => e
- Plugin.call(:update, nil, [Message.new(:message => "ごめんなさい。エラー通知通知すらバグってるみたいだわ\n\n#{e.to_s}",
+ Plugin.call(:update, nil, [Message.new(:message => "エラー通知「#{e.to_s}」フォロワー監視「エラー通知がやられたようだな」スレッド「しかしやつは我々プラグインのバグ情報をフィードバックするための機能・・・」プロフィール「そのプラグインにバグがあるとはmikutterプラグインの面汚しよ」",
:system => true)])
end } end
diff --git a/core/addon/mentions.rb b/core/addon/mentions.rb
index 23f15250..51601605 100644
--- a/core/addon/mentions.rb
+++ b/core/addon/mentions.rb
@@ -8,14 +8,17 @@ miquire :mui, 'timeline'
Module.new do
main = Gtk::TimeLine.new()
+ image = Gtk::Image.new(Gdk::Pixbuf.new(MUI::Skin.get("reply.png"), 24, 24))
plugin = Plugin::create(:mentions)
plugin.add_event(:boot){ |service|
- Plugin.call(:mui_tab_regist, main, 'Replies', MUI::Skin.get("reply.png"))
+ # Plugin.call(:mui_tab_regist, main, 'Replies', MUI::Skin.get("reply.png"))
+ Plugin.call(:mui_tab_regist, main, 'Replies', image)
Gtk::TimeLine.addwidgetrule(/@([a-zA-Z0-9_]+)/){ |text|
user = User.selectby(:idname, text[1, text.size], -2).first
Gtk::WebIcon.new(user[:profile_image_url], 12, 12) if user } }
plugin.add_event(:mention){ |service, messages|
+ # image.set_pixbuf(Gdk::Pixbuf.new(MUI::Skin.get("icon.png"), 24, 24))
main.add(messages) }
end
diff --git a/core/mui/gtk_mumble.rb b/core/mui/gtk_mumble.rb
index bc3a3c3d..8d98e48e 100644
--- a/core/mui/gtk_mumble.rb
+++ b/core/mui/gtk_mumble.rb
@@ -272,11 +272,9 @@ module Gtk
MUI::Skin.get("overbutton_mouseover.png")) end
def reply
- puts @mumble.message.children.inspect
add(@@buttons[:reply], :always_show => lambda{
UserConfig[:show_replied_icon] && @mumble.message.children.any?{ |m| m.from_me? }
- }){ @mumble.gen_postbox(@mumble.replies, @msg) }
- end
+ }){ @mumble.gen_postbox(@mumble.replies, @msg) } end
def retweet
add(@@buttons[:retweet]){ @mumble.gen_postbox(@mumble.replies, @msg, :retweet => true) }
diff --git a/core/plugin/gui.rb b/core/plugin/gui.rb
index 7f1468bf..b95b7e8e 100644
--- a/core/plugin/gui.rb
+++ b/core/plugin/gui.rb
@@ -163,6 +163,8 @@ module Plugin
tab_label = Gtk::EventBox.new.tooltip(label)
if image.is_a?(String)
tab_label.add(Gtk::WebIcon.new(image, 24, 24))
+ elsif image.is_a?(Gtk::Image)
+ tab_label.add(image)
else
tab_label.add(Gtk::Label.new(label)) end
tab_label.extend(TabButton).label = label
diff --git a/core/post.rb b/core/post.rb
index b1042405..0697a623 100644
--- a/core/post.rb
+++ b/core/post.rb
@@ -210,6 +210,9 @@ class Post
else
twitter.unfavorite(msg[:id]) end end } end end
+ def inspect
+ "#<Post #{idname}>" end
+
private
def try_post(message, api)
diff --git a/core/retriever.rb b/core/retriever.rb
index bab62663..93b5e07c 100644
--- a/core/retriever.rb
+++ b/core/retriever.rb
@@ -43,12 +43,14 @@ module Retriever
# まだそのレコードのインスタンスがない場合、それを生成して返します。
def self.new_ifnecessary(hash)
- if not(hash.is_a?(Hash)) or not(hash[:id]) or hash[:id] == 0
- raise ArgumentError.new("incorrect type #{hash.inspect}") end
- result = @@storage[hash[:id]]
- return result if result
- self.new(hash)
- end
+ if hash.is_a?(Model)
+ hash
+ elsif not(hash.is_a?(Hash)) or not(hash[:id]) or hash[:id] == 0
+ raise ArgumentError.new("incorrect type #{hash.inspect}")
+ else
+ result = @@storage[hash[:id]]
+ return result if result
+ self.new(hash) end end
#
# インスタンスメソッド
@@ -196,7 +198,10 @@ module Retriever
result = detection
throw :found end } }
self.retrievers_reorder
- self.new_ifnecessary(result) if result.is_a? Hash end
+ if result.is_a? Retriever::Model
+ result
+ elsif result.is_a? Hash
+ self.new_ifnecessary(result) end end
def self.findbyid_ary(ids, count=-1)
result = []
diff --git a/core/test/test_message.rb b/core/test/test_message.rb
index 0f2573c8..871d1923 100644
--- a/core/test/test_message.rb
+++ b/core/test/test_message.rb
@@ -9,26 +9,29 @@ $logfile = nil
$daemon = false
class TC_Message < Test::Unit::TestCase
- def setup
- end # !> `*' interpreted as argument prefix
-
- def test_retrieve
- id = 23858662507
- puts Message.findbyid(id).inspect # !> already initialized constant HYDE
- puts Message.new_ifnecessary(:id => id).inspect
+ def setup # !> `*' interpreted as argument prefix
+ @service ||= Post.new
end
+ def test_retrieve # !> already initialized constant HYDE
+ id = 24006538707
+ x = Message.findbyid(id)
+ puts x.inspect
+ puts x.receive_message(true)
+ #puts Message.new_ifnecessary(:id => id).inspect
+ end # !> method redefined; discarding old miquire
+
def test_hierarchy
toshi = User.new_ifnecessary(:id => 123456, :idname => 'toshi_a', :name => 'toshi')
- miku = User.new_ifnecessary(:id => 393939, :idname => 'ha2ne39', :name => 'miku') # !> method redefined; discarding old miquire
+ miku = User.new_ifnecessary(:id => 393939, :idname => 'ha2ne39', :name => 'miku')
c5 = Message.new_ifnecessary(:id => 15, :message => 'inhibit ashamed words!', :user => miku, :replyto =>13, :created => Time.now)
c4 = Message.new_ifnecessary(:id => 14, :message => '...baka///', :user => miku, :replyto =>13, :created => Time.now)
c3 = Message.new_ifnecessary(:id => 13, :message => 'i happy. because u r cute!', :user => toshi, :replyto =>12, :created => Time.now)
- c2 = Message.new_ifnecessary(:id => 12, :message => 'hi master, how r u?', :user => miku, :replyto =>11, :created => Time.now)
+ c2 = Message.new_ifnecessary(:id => 12, :message => 'hi master, how r u?', :user => miku, :replyto =>11, :created => Time.now) # !> method redefined; discarding old inspect
c1 = Message.new_ifnecessary(:id => 11, :message => 'hey, miku!', :user => toshi, :created => Time.now)
assert_instance_of Array, c2.children
assert_equal c1.children[0], c2
- assert_equal c2.receive_message, c1 # !> method redefined; discarding old inspect
+ assert_equal c2.receive_message, c1
assert_equal c2.children[0], c3
assert_equal c3.receive_message, c2
assert c3.children.include?(c4)
@@ -37,11 +40,20 @@ class TC_Message < Test::Unit::TestCase
assert_equal c4.receive_message, c3
end
end
+# ~> notice: ./post.rb:58:in `initialize': -:13:in `new'
+# ~> ./retriever.rb:342: warning: instance variable @time not initialized
+# ~> ./retriever.rb:342: warning: instance variable @time not initialized
+# ~> notice: ./post.rb:58:in `initialize': -:13:in `new'
+# ~> notice: ./twitter_api.rb:174:in `get': /statuses/show/24006538707.json => #<Net::HTTPOK:0x7fd626d42430>
+# ~> ./retriever.rb:342: warning: instance variable @time not initialized
+# ~> notice: ./twitter_api.rb:203:in `query_with_auth': get /account/verify_credentials.json => #<Net::HTTPOK:0x7fd626d13770>
+# ~> notice: ./twitter_api.rb:174:in `get': /statuses/show/24005765187.json => #<Net::HTTPOK:0x7fd626cf5dd8>
+# ~> ./retriever.rb:342: warning: instance variable @time not initialized
# >> Loaded suite -
# >> Started
-# >> .#<Message:0x7f76f0cc1f50 @lock=#<Monitor:0x7f76f0cc1e88 @mon_owner=nil, @mon_waiting_queue=[], @mon_entering_queue=[], @mon_count=0>, @value={:image=>#<Message::Image:0x7f76f0cc1f00 @url=nil, @resource=nil>, :source=>"<a href="http://mikutter.d.hachune.net/" rel="nofollow">mikutter</a>", :message=>"でも、これCの人のクセなんかね。結構ifバーッと並べていくCerって確かに多いんだよ。逐次処理頼りにしてるのか。実は結構if〜elseとか書かないよな。ネットで散見してるの読む限り。", :user=>"82571791", :retweet=>nil, :replyto=>nil, :receiver=>nil, :geo=>nil, :created=>水 9月 08 07:37:30 +0900 2010, :exact=>nil, :id=>23858662507}>
-# >> #<Message:0x7f76f0cc1f50 @lock=#<Monitor:0x7f76f0cc1e88 @mon_owner=nil, @mon_waiting_queue=[], @mon_entering_queue=[], @mon_count=0>, @value={:image=>#<Message::Image:0x7f76f0cc1f00 @url=nil, @resource=nil>, :source=>"<a href="http://mikutter.d.hachune.net/" rel="nofollow">mikutter</a>", :message=>"でも、これCの人のクセなんかね。結構ifバーッと並べていくCerって確かに多いんだよ。逐次処理頼りにしてるのか。実は結構if〜elseとか書かないよな。ネットで散見してるの読む限り。", :user=>"82571791", :retweet=>nil, :replyto=>nil, :receiver=>nil, :geo=>nil, :created=>水 9月 08 07:37:30 +0900 2010, :exact=>nil, :id=>23858662507}>
+# >> .#<Message:0x7fd626d266e0 @value={:geo=>nil, :contributors=>nil, :exact=>true, :source=>"<a href="http://mikutter.d.hachune.net/" rel="nofollow">mikutter</a>", :retweet_count=>nil, :place=>nil, :message=>"@t_min 設定ファイル書き換えロジックは、ちょっとばっかりそれらしい書き方してるからなー。初学者向けではない。", :retweeted=>false, :user=>User(@kaorin_linux), :coordinates=>nil, :rule=>:status_show, :image=>#<Message::Image:0x7fd626d26690 @url=nil, @resource=nil>, :in_reply_to_screen_name=>"t_min", :receiver=>33031948, :replyto=>24005765187, :truncated=>false, :created=>木 9月 09 21:54:54 +0900 2010, :id=>24006538707, :favorited=>false, :created_at=>"Thu Sep 09 12:54:54 +0000 2010", :post=>#<Post toshi_a>}, @lock=#<Monitor:0x7fd626d26618 @mon_entering_queue=[], @mon_count=0, @mon_owner=nil, @mon_waiting_queue=[]>>
+# >> 急に理解した。けど設定ファイルの書き換えがわけわかめ。つかこれ、全部自分で書けって言われたらキツイな。追加とか書き換えとか置き換えはできそうだけど。
# >> .
-# >> Finished in 0.009562 seconds.
+# >> Finished in 1.022638 seconds.
# >>
# >> 2 tests, 9 assertions, 0 failures, 0 errors
diff --git a/core/twitter_api.rb b/core/twitter_api.rb
index 5990c210..b9099065 100644
--- a/core/twitter_api.rb
+++ b/core/twitter_api.rb
@@ -322,7 +322,6 @@ class TwitterAPI < Mutex
def status_show(args)
path = "/statuses/show/#{args[:id]}.#{FORMAT}"
head = {'Host' => HOST}
- puts caller(0).join("\n")
get(path, head)
end