{"id":24698568,"url":"https://github.com/faradayio/emitter","last_synced_at":"2025-07-31T08:07:29.613Z","repository":{"id":56844590,"uuid":"834084","full_name":"faradayio/emitter","owner":"faradayio","description":"The umbrella library for all Brighter Planet environmental impact models.","archived":false,"fork":false,"pushed_at":"2012-09-13T15:31:02.000Z","size":316,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-28T17:09:08.691Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://impact.brighterplanet.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/faradayio.png","metadata":{"files":{"readme":"README.markdown","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-08-12T18:14:25.000Z","updated_at":"2020-09-10T18:52:49.000Z","dependencies_parsed_at":"2022-09-09T04:11:47.219Z","dependency_job_id":null,"html_url":"https://github.com/faradayio/emitter","commit_stats":null,"previous_names":["brighterplanet/emitter"],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/faradayio/emitter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faradayio%2Femitter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faradayio%2Femitter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faradayio%2Femitter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faradayio%2Femitter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/faradayio","download_url":"https://codeload.github.com/faradayio/emitter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faradayio%2Femitter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267376743,"owners_count":24077395,"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-07-27T02:00:11.917Z","response_time":82,"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":"2025-01-27T04:29:20.402Z","updated_at":"2025-07-31T08:07:29.549Z","avatar_url":"https://github.com/faradayio.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# emitter\n\nBase module for Brighter Planet's emitters. See the [Brighter Planet developer page](http://brighterplanet.github.com) for details on Brighter Planet's development environment.\n\n## Installation\n\n    $ gem install emitter\n\n## Usage\n\n    # my_emitter.rb\n    require 'emitter'\n    \n    class MyEmitter\n      include BrighterPlanet::Emitter\n    end\n\n### Required modules\n\nYour emitter must define some modules under `lib/my_emitter/`, they are:\n* `lib/my_emitter/impact_model.rb` - `module MyEmitter::ImpactModel` - defines the [Leap](http://rubygems.org/gems/leap) decisions that calculate an impact.\n* `lib/my_emitter/characterization.rb` - `module MyEmitter::Characterization` - defines the [Characteristics](http://rubygems.org/gems/charisma) that describe the model's inputs.\n* `lib/my_emitter/data.rb` - `module MyEmitter::Data` - defines the [schema](http://rubygems.org/gems/mini\\_record) definitions for the emitter and [DataMiner](http://rubygems.org/gems/data\\_miner) processes that fetch and store data for the emitter.\n* `lib/my_emitter/relationships.rb` - `module MyEmitter::Relationships` - defines the ActiveRecord relationships between the emitter and other [Earth](http://rubygems.org/gems/earth) models.\n* `lib/my_emitter/summarization.rb` - `moduel MyEmitter::Summarization` - defines phrases that describe various attributes ([SummaryJudgement descriptors](http://rubygems.org/gems/summary\\_judgement)) about an emitter that are displayed on CM1's methodology pages.\n\n## Tools\n\nYou can use the [bp gem](http://github.com/brighterplanet/bp) to generate the skeleton for a new emitter.\n\n## Magic\n\nEmitter, once included, will perform a couple tasks automatically:\n\n1. It converts committees into characterizations that are not already characterized.\n1. It adds `auto_upgrade!` and `run_data_miner_on_parent_associations!` tasks to DataMiner so that a call to `MyEmitter.run_data_miner!` will update the emitter's schema and run DataMiner tasks on any belongs\\_to associations.\n\n## Note on Patches/Pull Requests\n \n* Fork the project.\n* Make your feature addition or bug fix.\n* Add tests for it. This is important so I don't break it in a\n  future version unintentionally.\n* Commit, do not mess with rakefile, version, or history.\n  (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)\n* Send me a pull request. Bonus points for topic branches.\n\n## Copyright\n\nCopyright 2010, 2011 Brighter Planet, Inc. See LICENSE and LICENSE-PREAMBLE for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaradayio%2Femitter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffaradayio%2Femitter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaradayio%2Femitter/lists"}