+10
app/tootify.rb
+10
app/tootify.rb
···
4
require_relative 'mastodon_account'
5
6
class Tootify
7
+
attr_accessor :check_interval
8
+
9
def initialize
10
@bluesky = BlueskyAccount.new
11
@mastodon = MastodonAccount.new
12
+
@check_interval = 60
13
end
14
15
def login_bluesky(handle)
···
54
post_to_mastodon(record['value'])
55
56
@bluesky.delete_record_at(like_uri)
57
+
end
58
+
end
59
+
60
+
def watch
61
+
loop do
62
+
sync
63
+
sleep @check_interval
64
end
65
end
66
+15
-5
tootify
+15
-5
tootify
···
3
require 'bundler/setup'
4
require_relative 'app/tootify'
5
6
-
$app = Tootify.new
7
-
8
def run(argv)
9
options, args = argv.partition { |x| x.start_with?('-') }
10
11
case args.first
12
when 'login'
13
login(args[1])
14
when 'check'
15
-
$app.sync
16
else
17
print_help
18
end
···
25
end
26
27
def login(name)
28
if name =~ /\A[^@]+@[^@]+\z/
29
-
$app.login_mastodon(name)
30
elsif name =~ /\A@[^@]+\z/
31
-
$app.login_bluesky(name)
32
elsif name.nil?
33
print_help
34
else
···
3
require 'bundler/setup'
4
require_relative 'app/tootify'
5
6
def run(argv)
7
options, args = argv.partition { |x| x.start_with?('-') }
8
+
9
+
app = Tootify.new
10
+
11
+
options.each do |o|
12
+
if o.start_with?('--interval=')
13
+
app.check_interval = o.split('=')[1].to_i
14
+
end
15
+
end
16
17
case args.first
18
when 'login'
19
login(args[1])
20
when 'check'
21
+
app.sync
22
+
when 'watch'
23
+
app.watch
24
else
25
print_help
26
end
···
33
end
34
35
def login(name)
36
+
app = Tootify.new
37
+
38
if name =~ /\A[^@]+@[^@]+\z/
39
+
app.login_mastodon(name)
40
elsif name =~ /\A@[^@]+\z/
41
+
app.login_bluesky(name)
42
elsif name.nil?
43
print_help
44
else