As said here: http://docs.opscode.com/resource_service.html
````
Chef::Provider::Service::Init	When this short name is used, Chef will determine the correct provider during the Chef run.
````

So, https://github.com/opscode/chef/blob/master/lib/chef/provider/service/init.rb isn't the only file.
On debian there is also this one: https://github.com/opscode/chef/blob/master/lib/chef/provider/service/debian.rb
for redhat: https://github.com/opscode/chef/blob/master/lib/chef/provider/service/redhat.rb
etc

All of this use init.rb for common start stop reload, but they have a enable/disable for each specific platform.