class Flumtter::self::Profile
Public Class Methods
new(twitter)
click to toggle source
# File lib/flumtter/app/plugins/commands/change_profile.rb, line 7 def initialize(twitter) @twitter = twitter setting = Window::DynamicView.new("Change Profile", <<~EOF) Please select item you want to change with new profile. Syntax: '\#{item} \#{new profile}' EOF setting.dynamic_view do user = twitter.rest.user { "Current value": { name: user.name, description: user.description.split_num(40), location: user.location, url: user.website.to_s }, }.indent end %w(name description url location).each do |meth| setting.command(cvr(meth)) do |m| begin send(meth, m) rescue RangeError Window::Popup::Error.new("Too short or Too long.").show end raise Dispel::Recall end end setting.show(true) end
Public Instance Methods
description(m)
click to toggle source
# File lib/flumtter/app/plugins/commands/change_profile.rb, line 42 def description(m) m[1].range?(160) update_profile(description: m[1]) end
location(m)
click to toggle source
# File lib/flumtter/app/plugins/commands/change_profile.rb, line 52 def location(m) m[1].range?(100) update_profile(location: m[1]) end
name(m)
click to toggle source
# File lib/flumtter/app/plugins/commands/change_profile.rb, line 37 def name(m) m[1].range?(20) update_profile(name: m[1]) end
url(m)
click to toggle source
# File lib/flumtter/app/plugins/commands/change_profile.rb, line 47 def url(m) m[1].range?(30) update_profile(url: m[1]) end
Private Instance Methods
mutual()
click to toggle source
# File lib/flumtter/app/plugins/commands/user.rb, line 25 def mutual friendship = @twitter.rest.friendship(@twitter.account.id, @user) following = friendship.source.following? ? ">" : "/" follower = friendship.source.followed_by? ? "<": "/" "@#{@twitter.account.screen_name} #{following}=#{follower} @#{@user.screen_name}" end
parse(obj)
click to toggle source
# File lib/flumtter/app/plugins/commands/user.rb, line 50 def parse(obj) @user = case obj when Twitter::Tweet obj.user when Twitter::DirectMessage ob.sender when Twitter::Streaming::Event ob.source when Twitter::Streaming::DeletedTweet obj.user when String @twitter.rest.user(obj) else raise UnSupportError end end
profile(user)
click to toggle source
# File lib/flumtter/app/plugins/commands/user.rb, line 32 def profile(user) { name: user.name, description: user.description.split_num(44), location: user.location, url: user.website.to_s }.indent end
statistics(user)
click to toggle source
# File lib/flumtter/app/plugins/commands/user.rb, line 41 def statistics(user) { tweets: user.tweets_count, follow: user.friends_count, follower: user.followers_count, favorite: user.favorites_count }.indent end
update_profile(hash)
click to toggle source
# File lib/flumtter/app/plugins/commands/change_profile.rb, line 58 def update_profile(hash) @twitter.rest.update_profile(hash) rescue Twitter::Error::Forbidden => e Window::Popup::Error.new(e.message).show end