{"action":"created","issue":{"url":"https://api.github.com/repos/seattlerb/debride/issues/25","repository_url":"https://api.github.com/repos/seattlerb/debride","labels_url":"https://api.github.com/repos/seattlerb/debride/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/seattlerb/debride/issues/25/comments","events_url":"https://api.github.com/repos/seattlerb/debride/issues/25/events","html_url":"https://github.com/seattlerb/debride/issues/25","id":148999868,"number":25,"title":"File extensions handled by plugins are coupled to gem name","user":{"login":"phiggins","id":22962,"avatar_url":"https://avatars.githubusercontent.com/u/22962?v=3","gravatar_id":"","url":"https://api.github.com/users/phiggins","html_url":"https://github.com/phiggins","followers_url":"https://api.github.com/users/phiggins/followers","following_url":"https://api.github.com/users/phiggins/following{/other_user}","gists_url":"https://api.github.com/users/phiggins/gists{/gist_id}","starred_url":"https://api.github.com/users/phiggins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phiggins/subscriptions","organizations_url":"https://api.github.com/users/phiggins/orgs","repos_url":"https://api.github.com/users/phiggins/repos","events_url":"https://api.github.com/users/phiggins/events{/privacy}","received_events_url":"https://api.github.com/users/phiggins/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"zenspider","id":9832,"avatar_url":"https://avatars.githubusercontent.com/u/9832?v=3","gravatar_id":"","url":"https://api.github.com/users/zenspider","html_url":"https://github.com/zenspider","followers_url":"https://api.github.com/users/zenspider/followers","following_url":"https://api.github.com/users/zenspider/following{/other_user}","gists_url":"https://api.github.com/users/zenspider/gists{/gist_id}","starred_url":"https://api.github.com/users/zenspider/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zenspider/subscriptions","organizations_url":"https://api.github.com/users/zenspider/orgs","repos_url":"https://api.github.com/users/zenspider/repos","events_url":"https://api.github.com/users/zenspider/events{/privacy}","received_events_url":"https://api.github.com/users/zenspider/received_events","type":"User","site_admin":false},"milestone":null,"comments":4,"created_at":"2016-04-17T21:43:24Z","updated_at":"2016-06-10T19:44:35Z","closed_at":"2016-06-10T19:44:35Z","body":"At $dayjob we've swapped out the original haml gem for an alternate implementation, hamlit: https://github.com/k0kubun/hamlit . Now we are in the delightful situation where the original haml gem can't properly parse our templates, so my plugin debride_haml just raises an exception when I try to run debride on the project. I made a new plugin to use hamlit for template parsing instead (https://github.com/phiggins/debride-hamlit), but it currently does not work because debride expects that the file name `lib/debride_hamlit.rb` means my plugin parses files with the file extension of `.hamlit`.\r\n\r\nI can think of a few ways to fix this but wanted to get your input:\r\n\r\n1. Rename `lib/debride_hamlit.rb` in my debride-hamlit plugin to just `lib/debride_haml.rb`. This might work but will probably cause weirdness with things like bundler expecting the name of the gem and the name of the file to require to be the same.\r\n1. Use some fancier introspection to determine the file extensions to examine based on the methods debride plugins define. I hacked out a quick version of this already to get me up and running: https://gist.github.com/phiggins/3052bfce1e843e2e6e38f01bf90e6f15\r\n1. Have debride plugins register the file extensions they parse by adding them to the file_extensions array, or something. I kind of like this idea because of the explicitness, but it would also cause it's own problems because of the need to keep the list of extensions and the `process_*` methods in sync."},"comment":{"url":"https://api.github.com/repos/seattlerb/debride/issues/comments/225277642","html_url":"https://github.com/seattlerb/debride/issues/25#issuecomment-225277642","issue_url":"https://api.github.com/repos/seattlerb/debride/issues/25","id":225277642,"user":{"login":"phiggins","id":22962,"avatar_url":"https://avatars.githubusercontent.com/u/22962?v=3","gravatar_id":"","url":"https://api.github.com/users/phiggins","html_url":"https://github.com/phiggins","followers_url":"https://api.github.com/users/phiggins/followers","following_url":"https://api.github.com/users/phiggins/following{/other_user}","gists_url":"https://api.github.com/users/phiggins/gists{/gist_id}","starred_url":"https://api.github.com/users/phiggins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phiggins/subscriptions","organizations_url":"https://api.github.com/users/phiggins/orgs","repos_url":"https://api.github.com/users/phiggins/repos","events_url":"https://api.github.com/users/phiggins/events{/privacy}","received_events_url":"https://api.github.com/users/phiggins/received_events","type":"User","site_admin":false},"created_at":"2016-06-10T19:44:35Z","updated_at":"2016-06-10T19:44:35Z","body":"This was a total red herring. Sorry for the noise."}}
{"actor":{"display_login":"phiggins"}}