A Ruby gem for streaming data from the Bluesky/ATProto firehose
1# frozen_string_literal: true
2
3require_relative "lib/skyfall/version"
4
5Gem::Specification.new do |spec|
6 spec.name = "skyfall"
7 spec.version = Skyfall::VERSION
8 spec.authors = ["Kuba Suder"]
9 spec.email = ["jakub.suder@gmail.com"]
10
11 spec.summary = "A Ruby gem for streaming data from the Bluesky/ATProto firehose"
12 spec.homepage = "https://ruby.sdk.blue"
13
14 spec.description = %(
15 Skyfall is a Ruby gem for connecting to the "firehose" of the AT Protocol network that Bluesky is built on,
16 i.e. a websocket which streams all new posts and everything else happening on the network in real time. The code
17 connects to the websocket endpoint, decodes the messages which are encoded in some binary formats, and returns
18 the data as Ruby objects and hashes, which you can filter and save to some kind of database (e.g. in order
19 to create a custom feed).
20 )
21
22 spec.license = "Zlib"
23 spec.required_ruby_version = ">= 2.6.0"
24
25 spec.metadata = {
26 "bug_tracker_uri" => "https://tangled.org/mackuba.eu/skyfall/issues",
27 "changelog_uri" => "https://tangled.org/mackuba.eu/skyfall/blob/master/CHANGELOG.md",
28 "source_code_uri" => "https://tangled.org/mackuba.eu/skyfall",
29 }
30
31 spec.files = Dir.chdir(__dir__) do
32 Dir['*.md'] + Dir['*.txt'] + Dir['lib/**/*'] + Dir['sig/**/*']
33 end
34
35 spec.require_paths = ["lib"]
36
37 spec.add_dependency 'base32', '~> 0.3', '>= 0.3.4'
38 spec.add_dependency 'base64', '~> 0.1'
39 spec.add_dependency 'cbor', '~> 0.5', '>= 0.5.9.6'
40 spec.add_dependency 'eventmachine', '~> 1.2', '>= 1.2.7'
41 spec.add_dependency 'faye-websocket', '~> 0.12'
42end