A Ruby gem for streaming data from the Bluesky/ATProto firehose
at master 42 lines 1.6 kB view raw
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