neo4apis-github 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/neo4apis/github.rb +43 -8
- data/neo4apis-github.gemspec +2 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 774300728dd1f077c28e03d0a8e6a1e8bca049b1
|
4
|
+
data.tar.gz: 6126f205ac27fced87b2180fd7b6bb60fa31774a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d81101e1fe724e1a3a6b5d08cc948da26d6c0012352ba838e71a7c26eb07843bc5104bc7257ae8310cee0fc7f636a117357426f09c37f0955ce46644a5113378
|
7
|
+
data.tar.gz: 38c8559351c256bf6abdc50ce088957eed2a582d4cd1af5b4268f8031664865d95d5e9b07f6ea2d84115c0e38968d593388ce7ad67aa5e32274f4edecacbda3e
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
|
2
2
|
neo4apis-github is a ruby gem for making importing data from github to neo4j easy
|
3
3
|
|
4
|
-
This adapter supports objects created from the `
|
4
|
+
This adapter supports objects created from the `github_api` gem.
|
5
5
|
|
6
6
|
```ruby
|
7
7
|
|
@@ -24,4 +24,4 @@ end
|
|
24
24
|
|
25
25
|
```
|
26
26
|
|
27
|
-
|
27
|
+
Currently supports importing of User, Issue, Repository, Comment, and Commit entities
|
data/lib/neo4apis/github.rb
CHANGED
@@ -2,17 +2,22 @@ require 'neo4apis'
|
|
2
2
|
|
3
3
|
module Neo4Apis
|
4
4
|
class Github < Base
|
5
|
-
|
5
|
+
common_label :GitHub
|
6
6
|
|
7
7
|
uuid :Repository, :id
|
8
8
|
uuid :User, :id
|
9
9
|
uuid :Issue, :id
|
10
|
+
uuid :Comment, :id
|
11
|
+
uuid :Commit, :sha
|
10
12
|
|
11
13
|
importer :Repository do |repository|
|
12
14
|
owner_node = import :User, repository.owner
|
13
15
|
|
14
|
-
node = add_node :Repository, repository, [:id, :name, :full_name, :html_url, :description
|
15
|
-
:stargazers_count, :watchers_count, :language, :forks
|
16
|
+
node = add_node :Repository, repository, [:id, :name, :full_name, :html_url, :description,# :fork,
|
17
|
+
:stargazers_count, :watchers_count, :language, :forks,
|
18
|
+
:git_url, :ssh_url, :clone_url, :svn_url, :homepage,
|
19
|
+
:size, :forks_count, :mirror_url,
|
20
|
+
:created_at, :updated_at, :pushed_at]
|
16
21
|
|
17
22
|
add_relationship(:has_owner, node, owner_node)
|
18
23
|
|
@@ -21,21 +26,51 @@ module Neo4Apis
|
|
21
26
|
|
22
27
|
importer :Issue do |issue|
|
23
28
|
user_node = import :User, issue.user
|
24
|
-
assignee_node = import :User, issue.assignee
|
25
|
-
repository_node = import :Repository, issue.repository
|
29
|
+
assignee_node = import :User, issue.assignee if issue.assignee
|
26
30
|
|
27
31
|
node = add_node :Issue, issue, [:id, :number, :title, :body, :html_url, :comments,
|
28
32
|
:created_at, :updated_at, :closed_at]
|
29
33
|
|
30
|
-
add_relationship(:from_repository, node, repository_node)
|
31
34
|
add_relationship(:has_user, node, user_node)
|
32
|
-
add_relationship(:has_assignee, node, assignee_node)
|
35
|
+
add_relationship(:has_assignee, node, assignee_node) if assignee_node
|
36
|
+
|
37
|
+
node
|
38
|
+
end
|
39
|
+
|
40
|
+
importer :Comment do |comment|
|
41
|
+
user_node = import :User, comment.user
|
42
|
+
|
43
|
+
node = add_node :Comment, comment, [:id, :html_url, :body,
|
44
|
+
:position, :line, :path, :commit_id,
|
45
|
+
:created_at, :updated_at]
|
46
|
+
|
47
|
+
add_relationship(:made_comment, user_node, node)
|
48
|
+
|
49
|
+
node
|
50
|
+
end
|
51
|
+
|
52
|
+
importer :Commit do |commit|
|
53
|
+
author_node = import :User, commit.author if commit.author
|
54
|
+
committer_node = import :User, commit.committer if commit.committer
|
55
|
+
|
56
|
+
node = add_node(:Commit, commit, [:sha, :html_url]) do |props|
|
57
|
+
props.commit_author_date = commit.commit.author.date
|
58
|
+
props.commit_committer_date = commit.commit.committer.date
|
59
|
+
|
60
|
+
props.commit_message = commit.commit.message
|
61
|
+
|
62
|
+
props.stats = commit.stats.to_json
|
63
|
+
end
|
64
|
+
|
65
|
+
|
66
|
+
add_relationship(:authored, node, author_node) if author_node
|
67
|
+
add_relationship(:committed, node, committer_node) if committer_node
|
33
68
|
|
34
69
|
node
|
35
70
|
end
|
36
71
|
|
37
72
|
importer :User do |user|
|
38
|
-
add_node :User, user, [:id, :login, :html_url, :site_admin]
|
73
|
+
add_node :User, user, [:id, :login, :avatar_url, :gravatar_id, :type, :html_url, :site_admin]
|
39
74
|
end
|
40
75
|
|
41
76
|
end
|
data/neo4apis-github.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.unshift lib unless $:.include?(lib)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "neo4apis-github"
|
6
|
-
s.version = '0.
|
6
|
+
s.version = '0.2.0'
|
7
7
|
s.required_ruby_version = ">= 1.9.1"
|
8
8
|
|
9
9
|
s.authors = "Brian Underwood"
|
@@ -18,7 +18,7 @@ A ruby gem using neo4apis to make importing github data to neo4j easy
|
|
18
18
|
s.require_path = 'lib'
|
19
19
|
s.files = Dir.glob("{bin,lib,config}/**/*") + %w(README.md Gemfile neo4apis-github.gemspec)
|
20
20
|
|
21
|
-
s.add_dependency('neo4apis', "~> 0.
|
21
|
+
s.add_dependency('neo4apis', "~> 0.6.0")
|
22
22
|
s.add_dependency('github_api', "~> 0.12.2")
|
23
23
|
|
24
24
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neo4apis-github
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Underwood
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: neo4apis
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.6.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.6.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: github_api
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,7 +70,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
70
70
|
version: '0'
|
71
71
|
requirements: []
|
72
72
|
rubyforge_project:
|
73
|
-
rubygems_version: 2.
|
73
|
+
rubygems_version: 2.4.3
|
74
74
|
signing_key:
|
75
75
|
specification_version: 4
|
76
76
|
summary: An ruby gem to import github data to neo4j
|