{"id":93871,"library":"publisher","title":"Publisher","description":"A module for extending a class with event subscription and firing capabilities, implementing the Observer design pattern.","status":"active","version":"1.1.2","language":"ruby","source_language":null,"source_url":"https://github.com/atomicobject/publisher","tags":["events","observer","pattern"],"install":[{"cmd":"gem install publisher","lang":"bash","label":"gem install"},{"cmd":"# Gemfile\ngem 'publisher', '~> 1.1.2'","lang":"ruby","label":"Gemfile"}],"dependencies":[],"imports":[{"symbol":"Publisher","correct":"require 'publisher'"}],"quickstart":{"code":"require 'publisher'\n\nclass MyClass\n  extend Publisher\n  can_fire :something_happened\nend\n\nobj = MyClass.new\nobj.when(:something_happened) { puts 'Event fired!' }\nobj.fire(:something_happened)","lang":"ruby","description":"Define and fire events"},"warnings":[],"env_vars":null,"search_vec":"'capabl':13 'class':7 'design':17 'event':9,19 'extend':5 'fire':12 'implement':14 'modul':3 'observ':16,20 'pattern':18,21 'publish':1 'subscript':10","created_at":"2026-06-19T09:57:24.209324+00:00","updated_at":"2026-06-19T09:57:24.209324+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":"http://atomicobject.github.com/publisher","github":"https://github.com/atomicobject/publisher","docs":"http://www.rubydoc.info/gems/publisher/","changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["utility","messaging"],"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}}