+4
-14
Rakefile
+4
-14
Rakefile
···
5
require 'sinatra/activerecord/rake'
6
7
require_relative 'app/config'
8
require_relative 'app/utils'
9
10
def get_feed
···
31
32
posts = FeedPost.where(feed_id: feed.feed_id).joins(:post).order('feed_posts.time DESC').limit(limit).map(&:post)
33
34
-
Rainbow.enabled = true
35
-
36
# this fixes an error when piping a long output to less and then closing without reading it all
37
Signal.trap("SIGPIPE", "SYSTEM_DEFAULT")
38
39
posts.each do |s|
40
-
print Rainbow(s.time).bold + ' * ' + Rainbow(s.id).bold + ' * '
41
-
puts Rainbow("https://bsky.app/profile/#{s.repo}/post/#{s.rkey}").darkgray
42
-
puts
43
-
puts feed.colored_text(s.text)
44
-
if s.record['embed']
45
-
json = JSON.generate(s.record['embed'])
46
-
colored = feed.colored_text(json)
47
-
puts colored unless colored == json
48
-
end
49
-
puts
50
-
puts "---"
51
-
puts
52
end
53
end
54
···
5
require 'sinatra/activerecord/rake'
6
7
require_relative 'app/config'
8
+
require_relative 'app/post_console_printer'
9
require_relative 'app/utils'
10
11
def get_feed
···
32
33
posts = FeedPost.where(feed_id: feed.feed_id).joins(:post).order('feed_posts.time DESC').limit(limit).map(&:post)
34
35
# this fixes an error when piping a long output to less and then closing without reading it all
36
Signal.trap("SIGPIPE", "SYSTEM_DEFAULT")
37
38
+
printer = PostConsolePrinter.new(feed)
39
+
40
posts.each do |s|
41
+
printer.display(s)
42
end
43
end
44
+24
app/post_console_printer.rb
+24
app/post_console_printer.rb
···
···
1
+
require 'json'
2
+
require 'rainbow'
3
+
4
+
class PostConsolePrinter
5
+
def initialize(feed)
6
+
@feed = feed
7
+
Rainbow.enabled = true
8
+
end
9
+
10
+
def display(post)
11
+
print Rainbow(post.time).bold + ' * ' + Rainbow(post.id).bold + ' * '
12
+
puts Rainbow("https://bsky.app/profile/#{post.repo}/post/#{post.rkey}").darkgray
13
+
puts
14
+
puts @feed.colored_text(post.text)
15
+
if post.record['embed']
16
+
json = JSON.generate(post.record['embed'])
17
+
colored = @feed.colored_text(json)
18
+
puts colored unless colored == json
19
+
end
20
+
puts
21
+
puts "---"
22
+
puts
23
+
end
24
+
end