{"id":82012,"library":"dry-events","title":"Dry Events","description":"A pub/sub system for decoupling components in Ruby applications.","status":"active","version":"1.1.0","language":"ruby","source_language":null,"source_url":"https://github.com/dry-rb/dry-events","tags":["pubsub","events","decoupling"],"install":[{"cmd":"gem install dry-events","lang":"bash","label":"gem install"},{"cmd":"# Gemfile\ngem 'dry-events', '~> 1.1.0'","lang":"ruby","label":"Gemfile"}],"dependencies":[],"imports":[{"symbol":"Dry::Events","correct":"require 'dry/events'"}],"quickstart":{"code":"require 'dry/events'\n\nclass MyPublisher\n  include Dry::Events::Publisher[:my_publisher]\n\n  register_event(:user_created)\nend\n\npublisher = MyPublisher.new\npublisher.subscribe(:user_created) { |event| puts \"User created: #{event[:id]}\" }\npublisher.publish(:user_created, id: 1)","lang":"ruby","description":"Publish and subscribe to events"},"warnings":[],"env_vars":null,"search_vec":"'applic':11 'compon':8 'decoupl':7,14 'dri':1 'event':2,13 'pub/sub':4 'pubsub':12 'rubi':10 'system':5","created_at":"2026-06-19T05:08:14.638125+00:00","updated_at":"2026-06-19T05:08:14.638125+00:00","problems":[],"ecosystem":"rubygems","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://dry-rb.org/gems/dry-events","github":"https://github.com/dry-rb/dry-events","docs":"http://www.rubydoc.info/gems/dry-events/","changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["messaging","utility"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-19","next_check":"2026-12-16","install_tag":null}}