diff --git a/README.md b/README.md index 0c7715f..8a8b785 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,8 @@ sky.on_message do |m| end ``` +See complete example in [example/firehose.rb](https://github.com/mackuba/skyfall/blob/master/example/firehose.rb). + ## Credits diff --git a/example/firehose.rb b/example/firehose.rb new file mode 100755 index 0000000..da3ec5f --- /dev/null +++ b/example/firehose.rb @@ -0,0 +1,27 @@ +#!/usr/bin/env ruby + +lib = File.expand_path('../../lib', __FILE__) +$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) + +require 'skyfall' + +sky = Skyfall::Stream.new('bsky.social', :subscribe_repos) + +sky.on_message do |m| + next if m.type != :commit + + m.operations.each do |op| + next unless op.action == :create && op.type == :bsky_post + + puts "#{op.repo}:" + puts op.raw_record['text'] + puts + end +end + +sky.on_connect { puts "Connected" } +sky.on_disconnect { puts "Disconnected" } +sky.on_error { |e| puts "ERROR: #{e}" } + +sky.connect +sleep diff --git a/skyfall.gemspec b/skyfall.gemspec index 5d6d0c5..4f89517 100644 --- a/skyfall.gemspec +++ b/skyfall.gemspec @@ -28,7 +28,7 @@ Gem::Specification.new do |spec| } spec.files = Dir.chdir(__dir__) do - Dir['*.md'] + Dir['*.txt'] + Dir['lib/**/*'] + Dir['sig/**/*'] + Dir['*.md'] + Dir['*.txt'] + Dir['example/**/*'] + Dir['lib/**/*'] + Dir['sig/**/*'] end spec.require_paths = ["lib"]