diff options
Diffstat (limited to 'core/plugin/twitter/model/world.rb')
-rw-r--r-- | core/plugin/twitter/model/world.rb | 36 |
1 files changed, 13 insertions, 23 deletions
diff --git a/core/plugin/twitter/model/world.rb b/core/plugin/twitter/model/world.rb index 2704841c..368111ba 100644 --- a/core/plugin/twitter/model/world.rb +++ b/core/plugin/twitter/model/world.rb @@ -154,35 +154,19 @@ module Plugin::Twitter service.unfavorite(message).next{ Plugin.call(:unfavorite, service, service.user_obj, base) base } end } + deprecate :favorite, "spell (see: https://reference.mikutter.hachune.net/reference/2017/11/28/spell.html#favorite-twitter-twitter_tweet)", 2018, 12 define_postal :unfavorite def postable?(target=nil) - case target.class.slug - when :twitter_tweet, :twitter_user, :twitter - true - end if target.is_a?(Diva::Model) + Plugin[:twitter].compose?(self, target) end + deprecate :postable?, "spell (see: https://reference.mikutter.hachune.net/reference/2017/11/28/spell.html#compose-twitter)", 2018, 11 def post(to: nil, message:, **kwrest) - first_responder = Array(to).first || self - if defined?(first_responder.class.slug) - case first_responder.class.slug - when nil, :twitter - post_tweet(message: message) - when :twitter_tweet - post_tweet(replyto: first_responder, message: message) - when :twitter_user - post_tweet(receiver: first_responder, message: message) - when :twitter_direct_message - post_dm(user: first_responder.user, text: message) - else - raise "invalid responder slug #{first_responder.class.slug.inspect}" - end - else - raise "invalid responder #{first_responder.inspect}" - end + Plugin[:twitter].compose(self, to, body: message, **kwrest) end + deprecate :post, "spell (see: https://reference.mikutter.hachune.net/reference/2017/11/28/spell.html#compose-twitter)", 2018, 11 def inspect "#<#{self.class.to_s}: #{id.inspect} #{slug.inspect}>" @@ -194,8 +178,11 @@ module Plugin::Twitter result end - private - + # :nodoc: + # 内部で利用するために用意されています。 + # ツイートを投稿したい場合は、 + # https://reference.mikutter.hachune.net/reference/2017/11/28/spell.html#compose-twitter + # を参照してください。 def post_tweet(options) twitter.update(options).next{ |message| Plugin.call(:posted, self, [message]) @@ -204,6 +191,7 @@ module Plugin::Twitter } end + # :nodoc: def post_dm(options) twitter.send_direct_message(options).next do |dm| Plugin.call(:direct_messages, self, [dm]) @@ -211,6 +199,8 @@ module Plugin::Twitter end end + private + def user_initialize if self[:user] self[:user] = Plugin::Twitter::User.new_ifnecessary(self[:user]) |