{"action":"opened","number":1,"pull_request":{"url":"https://api.github.com/repos/cthrax/angular-google-maps/pulls/1","id":28000722,"html_url":"https://github.com/cthrax/angular-google-maps/pull/1","diff_url":"https://github.com/cthrax/angular-google-maps/pull/1.diff","patch_url":"https://github.com/cthrax/angular-google-maps/pull/1.patch","issue_url":"https://api.github.com/repos/cthrax/angular-google-maps/issues/1","number":1,"state":"open","locked":false,"title":"Initial commit of very, very rough 3.0 prototype","user":{"login":"cthrax","id":102173,"avatar_url":"https://avatars.githubusercontent.com/u/102173?v=3","gravatar_id":"","url":"https://api.github.com/users/cthrax","html_url":"https://github.com/cthrax","followers_url":"https://api.github.com/users/cthrax/followers","following_url":"https://api.github.com/users/cthrax/following{/other_user}","gists_url":"https://api.github.com/users/cthrax/gists{/gist_id}","starred_url":"https://api.github.com/users/cthrax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cthrax/subscriptions","organizations_url":"https://api.github.com/users/cthrax/orgs","repos_url":"https://api.github.com/users/cthrax/repos","events_url":"https://api.github.com/users/cthrax/events{/privacy}","received_events_url":"https://api.github.com/users/cthrax/received_events","type":"User","site_admin":false},"body":"Hi have not cleaned out much if any of the existing code, so that it's there to reference easily, but all new code is in the following folders:\r\n\r\nsrc/core/*\r\nsrc/features/*\r\nsrc/util/*\r\nspec/unit/*\r\nlib/*\r\ndemos/*\r\n\r\nOverall premise is similar to the document I originally presented. One change is that ui-gmap is separate from ui-gmap-map, just because the map really presented itself as a feature rather than the core to base everything off of.\r\n\r\n# Highlevel overview\r\n1. The ui-gmap controller receives registration requests from the various features (presently just map and markers)\r\n1-a. A feature is the internal interface to dealing with google maps and storing metadata about the specific feature\r\n1-b. A feature has a public API that it registers on the global public API object, defined in ui-gmap-api\r\n2. After the google maps api is loaded, the ui-gmap-api notifies all the features, creates the public API for each feature and notifies the consumer that the API is loaded. While a consumer could attach to the google maps API promise, the typical use case will be to just wait for the API loaded callback.\r\n3. Once the consumer has received the api callback, the initial rendering of features is done. There needs to be a loop or method of initiating a re-rendering when certain API calls are made, but that's not done right now.\r\n3-a. All calls to the google API are abstracted behind the google-factory. This allows a testing model similar to angular's http and httpBackend. There are presently tests that use a mocked out googleFactoryBackend complete with expectations and assertions that all expectations have been met. This allows testing to be done at the directive level, but rather than verify the DOM, verify what we would send the google API, because that's ultimately what the DOM will boil down to. \r\n\r\nThe code is littered with comments on things that still need to be done, sort of a stream-of-consciousness of future features that I'm putting off until later, so I can get eyes on this sooner.\r\n\r\nSo, please look over, make comments, check it out and play with it.\r\n\r\nCheers\r\nMyles\r\n\r\n","created_at":"2015-01-26T00:08:04Z","updated_at":"2015-01-26T00:08:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/cthrax/angular-google-maps/pulls/1/commits","review_comments_url":"https://api.github.com/repos/cthrax/angular-google-maps/pulls/1/comments","review_comment_url":"https://api.github.com/repos/cthrax/angular-google-maps/pulls/comments/{number}","comments_url":"https://api.github.com/repos/cthrax/angular-google-maps/issues/1/comments","statuses_url":"https://api.github.com/repos/cthrax/angular-google-maps/statuses/d5b3752e35d11f7181a76a0efb026c61762aa2d6","head":{"label":"cthrax:3.0","ref":"3.0","sha":"d5b3752e35d11f7181a76a0efb026c61762aa2d6","user":{"login":"cthrax","id":102173,"avatar_url":"https://avatars.githubusercontent.com/u/102173?v=3","gravatar_id":"","url":"https://api.github.com/users/cthrax","html_url":"https://github.com/cthrax","followers_url":"https://api.github.com/users/cthrax/followers","following_url":"https://api.github.com/users/cthrax/following{/other_user}","gists_url":"https://api.github.com/users/cthrax/gists{/gist_id}","starred_url":"https://api.github.com/users/cthrax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cthrax/subscriptions","organizations_url":"https://api.github.com/users/cthrax/orgs","repos_url":"https://api.github.com/users/cthrax/repos","events_url":"https://api.github.com/users/cthrax/events{/privacy}","received_events_url":"https://api.github.com/users/cthrax/received_events","type":"User","site_admin":false},"repo":{"id":17843076,"name":"angular-google-maps","full_name":"cthrax/angular-google-maps","owner":{"login":"cthrax","id":102173,"avatar_url":"https://avatars.githubusercontent.com/u/102173?v=3","gravatar_id":"","url":"https://api.github.com/users/cthrax","html_url":"https://github.com/cthrax","followers_url":"https://api.github.com/users/cthrax/followers","following_url":"https://api.github.com/users/cthrax/following{/other_user}","gists_url":"https://api.github.com/users/cthrax/gists{/gist_id}","starred_url":"https://api.github.com/users/cthrax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cthrax/subscriptions","organizations_url":"https://api.github.com/users/cthrax/orgs","repos_url":"https://api.github.com/users/cthrax/repos","events_url":"https://api.github.com/users/cthrax/events{/privacy}","received_events_url":"https://api.github.com/users/cthrax/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/cthrax/angular-google-maps","description":"AngularJS directives for the Google Maps Javascript API","fork":true,"url":"https://api.github.com/repos/cthrax/angular-google-maps","forks_url":"https://api.github.com/repos/cthrax/angular-google-maps/forks","keys_url":"https://api.github.com/repos/cthrax/angular-google-maps/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cthrax/angular-google-maps/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cthrax/angular-google-maps/teams","hooks_url":"https://api.github.com/repos/cthrax/angular-google-maps/hooks","issue_events_url":"https://api.github.com/repos/cthrax/angular-google-maps/issues/events{/number}","events_url":"https://api.github.com/repos/cthrax/angular-google-maps/events","assignees_url":"https://api.github.com/repos/cthrax/angular-google-maps/assignees{/user}","branches_url":"https://api.github.com/repos/cthrax/angular-google-maps/branches{/branch}","tags_url":"https://api.github.com/repos/cthrax/angular-google-maps/tags","blobs_url":"https://api.github.com/repos/cthrax/angular-google-maps/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cthrax/angular-google-maps/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cthrax/angular-google-maps/git/refs{/sha}","trees_url":"https://api.github.com/repos/cthrax/angular-google-maps/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cthrax/angular-google-maps/statuses/{sha}","languages_url":"https://api.github.com/repos/cthrax/angular-google-maps/languages","stargazers_url":"https://api.github.com/repos/cthrax/angular-google-maps/stargazers","contributors_url":"https://api.github.com/repos/cthrax/angular-google-maps/contributors","subscribers_url":"https://api.github.com/repos/cthrax/angular-google-maps/subscribers","subscription_url":"https://api.github.com/repos/cthrax/angular-google-maps/subscription","commits_url":"https://api.github.com/repos/cthrax/angular-google-maps/commits{/sha}","git_commits_url":"https://api.github.com/repos/cthrax/angular-google-maps/git/commits{/sha}","comments_url":"https://api.github.com/repos/cthrax/angular-google-maps/comments{/number}","issue_comment_url":"https://api.github.com/repos/cthrax/angular-google-maps/issues/comments/{number}","contents_url":"https://api.github.com/repos/cthrax/angular-google-maps/contents/{+path}","compare_url":"https://api.github.com/repos/cthrax/angular-google-maps/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cthrax/angular-google-maps/merges","archive_url":"https://api.github.com/repos/cthrax/angular-google-maps/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cthrax/angular-google-maps/downloads","issues_url":"https://api.github.com/repos/cthrax/angular-google-maps/issues{/number}","pulls_url":"https://api.github.com/repos/cthrax/angular-google-maps/pulls{/number}","milestones_url":"https://api.github.com/repos/cthrax/angular-google-maps/milestones{/number}","notifications_url":"https://api.github.com/repos/cthrax/angular-google-maps/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cthrax/angular-google-maps/labels{/name}","releases_url":"https://api.github.com/repos/cthrax/angular-google-maps/releases{/id}","created_at":"2014-03-17T20:56:15Z","updated_at":"2014-12-06T22:34:42Z","pushed_at":"2015-01-25T23:52:23Z","git_url":"git://github.com/cthrax/angular-google-maps.git","ssh_url":"git@github.com:cthrax/angular-google-maps.git","clone_url":"https://github.com/cthrax/angular-google-maps.git","svn_url":"https://github.com/cthrax/angular-google-maps","homepage":null,"size":13280,"stargazers_count":0,"watchers_count":0,"language":"CoffeeScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"cthrax:3.0-MergeBase","ref":"3.0-MergeBase","sha":"04bb8964c9a66dca3dc452b783ffcd6af8c58d39","user":{"login":"cthrax","id":102173,"avatar_url":"https://avatars.githubusercontent.com/u/102173?v=3","gravatar_id":"","url":"https://api.github.com/users/cthrax","html_url":"https://github.com/cthrax","followers_url":"https://api.github.com/users/cthrax/followers","following_url":"https://api.github.com/users/cthrax/following{/other_user}","gists_url":"https://api.github.com/users/cthrax/gists{/gist_id}","starred_url":"https://api.github.com/users/cthrax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cthrax/subscriptions","organizations_url":"https://api.github.com/users/cthrax/orgs","repos_url":"https://api.github.com/users/cthrax/repos","events_url":"https://api.github.com/users/cthrax/events{/privacy}","received_events_url":"https://api.github.com/users/cthrax/received_events","type":"User","site_admin":false},"repo":{"id":17843076,"name":"angular-google-maps","full_name":"cthrax/angular-google-maps","owner":{"login":"cthrax","id":102173,"avatar_url":"https://avatars.githubusercontent.com/u/102173?v=3","gravatar_id":"","url":"https://api.github.com/users/cthrax","html_url":"https://github.com/cthrax","followers_url":"https://api.github.com/users/cthrax/followers","following_url":"https://api.github.com/users/cthrax/following{/other_user}","gists_url":"https://api.github.com/users/cthrax/gists{/gist_id}","starred_url":"https://api.github.com/users/cthrax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cthrax/subscriptions","organizations_url":"https://api.github.com/users/cthrax/orgs","repos_url":"https://api.github.com/users/cthrax/repos","events_url":"https://api.github.com/users/cthrax/events{/privacy}","received_events_url":"https://api.github.com/users/cthrax/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/cthrax/angular-google-maps","description":"AngularJS directives for the Google Maps Javascript API","fork":true,"url":"https://api.github.com/repos/cthrax/angular-google-maps","forks_url":"https://api.github.com/repos/cthrax/angular-google-maps/forks","keys_url":"https://api.github.com/repos/cthrax/angular-google-maps/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cthrax/angular-google-maps/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cthrax/angular-google-maps/teams","hooks_url":"https://api.github.com/repos/cthrax/angular-google-maps/hooks","issue_events_url":"https://api.github.com/repos/cthrax/angular-google-maps/issues/events{/number}","events_url":"https://api.github.com/repos/cthrax/angular-google-maps/events","assignees_url":"https://api.github.com/repos/cthrax/angular-google-maps/assignees{/user}","branches_url":"https://api.github.com/repos/cthrax/angular-google-maps/branches{/branch}","tags_url":"https://api.github.com/repos/cthrax/angular-google-maps/tags","blobs_url":"https://api.github.com/repos/cthrax/angular-google-maps/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cthrax/angular-google-maps/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cthrax/angular-google-maps/git/refs{/sha}","trees_url":"https://api.github.com/repos/cthrax/angular-google-maps/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cthrax/angular-google-maps/statuses/{sha}","languages_url":"https://api.github.com/repos/cthrax/angular-google-maps/languages","stargazers_url":"https://api.github.com/repos/cthrax/angular-google-maps/stargazers","contributors_url":"https://api.github.com/repos/cthrax/angular-google-maps/contributors","subscribers_url":"https://api.github.com/repos/cthrax/angular-google-maps/subscribers","subscription_url":"https://api.github.com/repos/cthrax/angular-google-maps/subscription","commits_url":"https://api.github.com/repos/cthrax/angular-google-maps/commits{/sha}","git_commits_url":"https://api.github.com/repos/cthrax/angular-google-maps/git/commits{/sha}","comments_url":"https://api.github.com/repos/cthrax/angular-google-maps/comments{/number}","issue_comment_url":"https://api.github.com/repos/cthrax/angular-google-maps/issues/comments/{number}","contents_url":"https://api.github.com/repos/cthrax/angular-google-maps/contents/{+path}","compare_url":"https://api.github.com/repos/cthrax/angular-google-maps/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cthrax/angular-google-maps/merges","archive_url":"https://api.github.com/repos/cthrax/angular-google-maps/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cthrax/angular-google-maps/downloads","issues_url":"https://api.github.com/repos/cthrax/angular-google-maps/issues{/number}","pulls_url":"https://api.github.com/repos/cthrax/angular-google-maps/pulls{/number}","milestones_url":"https://api.github.com/repos/cthrax/angular-google-maps/milestones{/number}","notifications_url":"https://api.github.com/repos/cthrax/angular-google-maps/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cthrax/angular-google-maps/labels{/name}","releases_url":"https://api.github.com/repos/cthrax/angular-google-maps/releases{/id}","created_at":"2014-03-17T20:56:15Z","updated_at":"2014-12-06T22:34:42Z","pushed_at":"2015-01-25T23:52:23Z","git_url":"git://github.com/cthrax/angular-google-maps.git","ssh_url":"git@github.com:cthrax/angular-google-maps.git","clone_url":"https://github.com/cthrax/angular-google-maps.git","svn_url":"https://github.com/cthrax/angular-google-maps","homepage":null,"size":13280,"stargazers_count":0,"watchers_count":0,"language":"CoffeeScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/cthrax/angular-google-maps/pulls/1"},"html":{"href":"https://github.com/cthrax/angular-google-maps/pull/1"},"issue":{"href":"https://api.github.com/repos/cthrax/angular-google-maps/issues/1"},"comments":{"href":"https://api.github.com/repos/cthrax/angular-google-maps/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/cthrax/angular-google-maps/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/cthrax/angular-google-maps/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/cthrax/angular-google-maps/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/cthrax/angular-google-maps/statuses/d5b3752e35d11f7181a76a0efb026c61762aa2d6"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":2,"additions":1041,"deletions":38,"changed_files":45}}