{"id":21657010,"url":"https://github.com/cotag/celluloid-presence","last_synced_at":"2025-10-12T02:40:10.876Z","repository":{"id":7658804,"uuid":"9020141","full_name":"cotag/celluloid-presence","owner":"cotag","description":"Node presence using ZooKeeper for celluloid services","archived":false,"fork":false,"pushed_at":"2013-03-27T09:16:58.000Z","size":132,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-10-07T14:21:44.470Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cotag.png","metadata":{"files":{"readme":"README.textile","changelog":null,"contributing":null,"funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-03-26T01:24:06.000Z","updated_at":"2013-10-09T19:49:07.000Z","dependencies_parsed_at":"2022-09-11T14:00:58.320Z","dependency_job_id":null,"html_url":"https://github.com/cotag/celluloid-presence","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cotag/celluloid-presence","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cotag%2Fcelluloid-presence","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cotag%2Fcelluloid-presence/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cotag%2Fcelluloid-presence/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cotag%2Fcelluloid-presence/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cotag","download_url":"https://codeload.github.com/cotag/celluloid-presence/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cotag%2Fcelluloid-presence/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006456,"owners_count":26084107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-25T09:18:44.992Z","updated_at":"2025-10-12T02:40:10.835Z","avatar_url":"https://github.com/cotag.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"h1. Celluloid Presence\n\nStart an instance of \"ZooKeeper\":http://zookeeper.apache.org/ on your dev machine then run:\n\n\u003cpre\u003e\u003ccode class=\"ruby\"\u003e\nrequire 'rubygems'\nrequire 'celluloid-presence'\n\nCelluloid::Presence::ZkService.init :server =\u003e 'localhost'\nCelluloid::Presence::ZkPresence.supervise_as :presence, :service_name =\u003e :presence\n\nclass Messaging\n\tinclude Celluloid\n\tinclude Celluloid::Notifications\n\t\n\tdef self.finalizer\n\t\t:finalize\n\tend\n\t\n\tdef initialize(service_name)\n\t\t@service_name = service_name\n\t\tsubscribe(\"#{@service_name}_nodes\", :node_update)\n\tend\n\t\n\tdef node_update(event, nodes)\n\t\tp \"\\nNode list updated!\"\n\t\tnodes.each do |node|\n\t\t\tp \" -\u003e #{Actor[@service_name].get(node)}\"\n\t\tend\n\tend\n\t\n\t\n\tprivate\n\t\n\t\n\tdef finalize\n\t\tActor[@service_name].terminate\n\tend\nend\n\nMessaging.run(:presence)\n\u003c/code\u003e\u003c/pre\u003e\n\n\nh2. Start using it now\n\n# Read the \"Documentation\":http://rubydoc.info/gems/celluloid-presence/Celluloid/Presence\n# Then @gem install celluloid-presence@\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcotag%2Fcelluloid-presence","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcotag%2Fcelluloid-presence","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcotag%2Fcelluloid-presence/lists"}