veye 0.0.9 → 0.1

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.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +80 -29
  3. data/Makefile +6 -0
  4. data/README.md +12 -224
  5. data/bin/veye +13 -22
  6. data/changelogs.md +95 -0
  7. data/lib/veye/api/base_resource.rb +8 -9
  8. data/lib/veye/api/github.rb +77 -0
  9. data/lib/veye/api/json_response.rb +21 -25
  10. data/lib/veye/api/package.rb +98 -0
  11. data/lib/veye/api/project.rb +107 -0
  12. data/lib/veye/api/resource.rb +9 -8
  13. data/lib/veye/api/service.rb +15 -0
  14. data/lib/veye/api/user.rb +32 -0
  15. data/lib/veye/api.rb +22 -2
  16. data/lib/veye/base_executor.rb +13 -9
  17. data/lib/veye/github/delete.rb +10 -20
  18. data/lib/veye/github/import.rb +7 -14
  19. data/lib/veye/github/info.rb +6 -12
  20. data/lib/veye/github/list.rb +9 -19
  21. data/lib/veye/github/search.rb +9 -17
  22. data/lib/veye/github/sync.rb +9 -18
  23. data/lib/veye/github.rb +1 -1
  24. data/lib/veye/helpers/format_helpers.rb +15 -5
  25. data/lib/veye/package/follow.rb +24 -47
  26. data/lib/veye/package/info.rb +8 -25
  27. data/lib/veye/package/references.rb +9 -36
  28. data/lib/veye/package/search.rb +14 -24
  29. data/lib/veye/package.rb +14 -6
  30. data/lib/veye/pagination.rb +2 -0
  31. data/lib/veye/project/check.rb +39 -117
  32. data/lib/veye/project/license.rb +23 -0
  33. data/lib/veye/project.rb +4 -3
  34. data/lib/veye/service.rb +13 -17
  35. data/lib/veye/user/me.rb +11 -30
  36. data/lib/veye/user.rb +2 -1
  37. data/lib/veye/version.rb +1 -1
  38. data/lib/veye/views/github/info_csv.rb +3 -3
  39. data/lib/veye/views/github/info_json.rb +4 -0
  40. data/lib/veye/views/github/list_csv.rb +5 -3
  41. data/lib/veye/views/github/list_pretty.rb +2 -2
  42. data/lib/veye/views/github/list_table.rb +3 -2
  43. data/lib/veye/views/package/info_pretty.rb +1 -1
  44. data/lib/veye/views/package/search_csv.rb +2 -3
  45. data/lib/veye/views/package/search_table.rb +1 -3
  46. data/lib/veye/views/package.rb +1 -1
  47. data/lib/veye/views/project/licence_csv.rb +3 -3
  48. data/lib/veye/views/project/licence_json.rb +1 -1
  49. data/lib/veye/views/project/licence_pretty.rb +1 -1
  50. data/lib/veye/views/project/licence_table.rb +3 -3
  51. data/lib/veye/views/user/profile_table.rb +4 -1
  52. data/lib/veye/views/user.rb +3 -1
  53. data/lib/veye.rb +29 -61
  54. data/test/api/github_test.rb +84 -0
  55. data/test/api/package_test.rb +80 -0
  56. data/test/api/project_test.rb +118 -0
  57. data/test/api/service_test.rb +15 -0
  58. data/test/api/user_test.rb +30 -0
  59. data/test/fixtures/vcr_cassettes/github_delete.yml +48 -0
  60. data/test/fixtures/vcr_cassettes/github_import.yml +53 -0
  61. data/test/fixtures/vcr_cassettes/github_info.yml +49 -0
  62. data/test/fixtures/vcr_cassettes/github_list.yml +80 -0
  63. data/test/fixtures/vcr_cassettes/github_sync.yml +48 -0
  64. data/test/fixtures/vcr_cassettes/package_follow.yml +52 -0
  65. data/test/fixtures/vcr_cassettes/package_follow_status.yml +48 -0
  66. data/test/fixtures/vcr_cassettes/package_info.yml +56 -0
  67. data/test/fixtures/vcr_cassettes/package_reference.yml +46 -0
  68. data/test/fixtures/vcr_cassettes/package_search.yml +46 -0
  69. data/test/fixtures/vcr_cassettes/package_unfollow.yml +48 -0
  70. data/test/fixtures/vcr_cassettes/project_delete.yml +48 -0
  71. data/test/fixtures/vcr_cassettes/project_get.yml +49 -0
  72. data/test/fixtures/vcr_cassettes/project_license.yml +49 -0
  73. data/test/fixtures/vcr_cassettes/project_list.yml +48 -0
  74. data/test/fixtures/vcr_cassettes/project_update.yml +105 -0
  75. data/test/fixtures/vcr_cassettes/project_upload.yml +104 -0
  76. data/test/fixtures/vcr_cassettes/services_ping.yml +46 -0
  77. data/test/fixtures/vcr_cassettes/user_get_favorites.yml +48 -0
  78. data/test/fixtures/vcr_cassettes/user_get_profile.yml +48 -0
  79. data/test/github_delete_test.rb +31 -0
  80. data/test/github_import_test.rb +94 -0
  81. data/test/github_info_test.rb +73 -0
  82. data/test/github_list_test.rb +84 -0
  83. data/test/github_sync_test.rb +20 -0
  84. data/test/package_follow_test.rb +38 -0
  85. data/test/package_info_test.rb +73 -0
  86. data/test/package_reference_test.rb +67 -0
  87. data/test/package_search_test.rb +66 -0
  88. data/test/project_check_test.rb +326 -0
  89. data/test/project_license_test.rb +72 -0
  90. data/test/service_test.rb +29 -0
  91. data/test/test_helper.rb +29 -4
  92. data/test/user_me_test.rb +126 -0
  93. data/veye.gemspec +45 -0
  94. metadata +163 -37
  95. data/DEPENDENCIES.md +0 -25
  96. data/lib/veye/helpers/repo_helpers.rb +0 -5
  97. data/lib/veye/project/licence.rb +0 -38
  98. data/test/default_test.rb +0 -14
@@ -0,0 +1,80 @@
1
+ require_relative '../test_helper'
2
+
3
+ class PackageTest < Minitest::Test
4
+ def setup
5
+ init_environment
6
+ @api_key = "ba7d93beb5de7820764e"
7
+ end
8
+
9
+ def test_info_api_call
10
+ VCR.use_cassette('package_info') do
11
+ res = Veye::API::Package::get_package('veye', 'ruby')
12
+
13
+ assert_equal 200, res.code
14
+ assert_equal true, res.success
15
+ assert_equal "veye", res.data["name"]
16
+ assert_equal "ruby", res.data["language"]
17
+ assert_equal "veye", res.data["prod_key"]
18
+ end
19
+ end
20
+
21
+ def test_search_api_call
22
+ VCR.use_cassette('package_search') do
23
+ res = Veye::API::Package.search('veye')
24
+ refute_nil res
25
+ assert_equal true, res.success
26
+ assert_equal 200, res.code
27
+ refute_nil res.data["results"], "Search results are empty"
28
+ dt = res.data["results"].first
29
+ assert_equal "veye", dt["name"]
30
+ assert_equal "ruby", dt["language"]
31
+ assert_equal "veye", dt["prod_key"]
32
+ assert_equal "RubyGem", dt["prod_type"]
33
+ end
34
+ end
35
+
36
+ def test_get_follow_status_api_call
37
+ VCR.use_cassette('package_follow_status') do
38
+ res = Veye::API::Package.get_follow_status(@api_key, 'ruby', 'ruby')
39
+ refute_nil res
40
+ assert_equal 200, res.code
41
+ assert_equal true, res.success
42
+ assert_equal "ruby", res.data["prod_key"]
43
+ assert_equal false, res.data["follows"]
44
+ end
45
+ end
46
+
47
+ def test_follow_api_call
48
+ VCR.use_cassette('package_follow') do
49
+ res = Veye::API::Package.follow(@api_key, 'ruby', 'ruby')
50
+ refute_nil res
51
+ assert_equal 201, res.code
52
+ assert_equal true, res.success
53
+ assert_equal "ruby", res.data["prod_key"]
54
+ assert_equal true, res.data["follows"]
55
+ end
56
+ end
57
+
58
+ def test_unfollow_api_call
59
+ VCR.use_cassette('package_unfollow') do
60
+ res = Veye::API::Package.unfollow(@api_key, 'ruby', 'ruby')
61
+ refute_nil res
62
+ assert_equal 200, res.code
63
+ assert_equal true, res.success
64
+ assert_equal "ruby", res.data["prod_key"]
65
+ assert_equal false, res.data["follows"]
66
+ end
67
+ end
68
+
69
+ def test_reference_api_call
70
+ VCR.use_cassette('package_reference') do
71
+ res = Veye::API::Package.get_references('ruby', 'ruby')
72
+ refute_nil res
73
+ assert_equal 200, res.code
74
+ assert_equal true, res.success
75
+ assert_equal "acts_as_dasherize_vanity", res.data['results'].first.fetch("name", nil)
76
+ end
77
+ end
78
+
79
+
80
+ end
@@ -0,0 +1,118 @@
1
+ require 'test_helper'
2
+
3
+ class ProjectTest < Minitest::Test
4
+ def setup
5
+ init_environment
6
+ @api_key = 'ba7d93beb5de7820764e'
7
+ @test_file = "test/files/maven-1.0.1.pom.xml"
8
+ @project_key = "maven2_openejb_maven_plugins_1"
9
+ end
10
+
11
+ def test_get_list_api_call
12
+ VCR.use_cassette('project_list') do
13
+ res = Veye::API::Project.get_list(@api_key)
14
+
15
+ assert_equal 200, res.code
16
+ assert_equal true, res.success
17
+
18
+ proj = res.data.first
19
+ assert_equal "bugtraqer", proj["name"]
20
+ assert_equal "lein_project_clj_1", proj["project_key"]
21
+ assert_equal "Lein", proj["project_type"]
22
+ assert_equal false, proj["public"]
23
+ assert_equal "upload", proj["source"]
24
+ end
25
+ end
26
+
27
+ def test_check_file
28
+ assert_match(
29
+ /.*veye\/test\/files\/maven-1\.0\.1\.pom\.xml$/,
30
+ Veye::API::Project.check_file(@test_file)
31
+ )
32
+
33
+ assert_nil(Veye::API::Project.check_file("files/nO_such_file.exe"))
34
+ end
35
+
36
+ def test_upload_api_call_when_file_doesnt_exists
37
+ assert_nil Veye::API::Project.upload(@api_key, "files/nofile.erb")
38
+ end
39
+
40
+ def test_upload_api_call_when_file_exists
41
+ VCR.use_cassette('project_upload') do
42
+ res = Veye::API::Project.upload(@api_key, @test_file)
43
+ refute_nil res
44
+ assert_equal 201, res.code
45
+ assert_equal true, res.success
46
+ assert_equal "maven2_openejb_maven_plugins_1", res.data["project_key"]
47
+ assert_equal "OpenEJB :: Maven Plugins", res.data["name"]
48
+ assert_equal "Maven2", res.data["project_type"]
49
+ assert_equal true, res.data["public"]
50
+ assert_equal "API", res.data["source"]
51
+ end
52
+ end
53
+
54
+ def test_update_api_call
55
+ VCR.use_cassette('project_update') do
56
+ res = Veye::API::Project.update(@api_key, @project_key, @test_file)
57
+ refute_nil res
58
+ assert_equal 201, res.code
59
+ assert_equal true, res.success
60
+ proj = res.data
61
+ assert_equal @project_key, proj["project_key"]
62
+ assert_equal "OpenEJB :: Maven Plugins", proj["name"]
63
+ assert_equal "Maven2", proj["project_type"]
64
+ assert_equal true, proj["public"]
65
+ assert_equal "API", proj["source"]
66
+ assert_equal 11, proj["dependencies"].count
67
+ end
68
+ end
69
+
70
+ def test_get_project_api_call
71
+ VCR.use_cassette("project_get") do
72
+ res = Veye::API::Project.get_project(@api_key, @project_key)
73
+ refute_nil res
74
+ assert_equal true, res.success
75
+ assert_equal 200, res.code
76
+
77
+ proj = res.data
78
+ assert_equal @project_key, proj["project_key"]
79
+ assert_equal "OpenEJB :: Maven Plugins", proj["name"]
80
+ assert_equal "Maven2", proj["project_type"]
81
+ assert_equal true, proj["public"]
82
+ assert_equal "API", proj["source"]
83
+ assert_equal 11, proj["dependencies"].count
84
+ end
85
+ end
86
+
87
+ def test_delete_project_api_call
88
+ VCR.use_cassette("project_delete") do
89
+ res = Veye::API::Project.delete_project(@api_key, @project_key)
90
+ refute_nil res
91
+ assert_equal 200, res.code
92
+ assert_equal true, res.success
93
+ assert_equal(
94
+ {"success"=>true, "message"=>"Project deleted successfully."},
95
+ res.data
96
+ )
97
+ end
98
+ end
99
+
100
+ def test_get_licenses_api_call
101
+ VCR.use_cassette('project_license') do
102
+ res = Veye::API::Project.get_licenses(@api_key, 'rubygem_gemfile_lock_1')
103
+ assert_equal 200, res.code
104
+ assert_equal true, res.success
105
+ assert_equal true, res.data["success"]
106
+
107
+ licenses = res.data["licenses"]
108
+ unknown_license = licenses["unknown"].first
109
+ assert_equal({"name" => "gli" , "prod_key" => "gli" }, unknown_license)
110
+
111
+ ruby_license = licenses["Ruby"].first
112
+ assert_equal({ "name" => "json" , "prod_key" => "json"}, ruby_license)
113
+ end
114
+ end
115
+
116
+
117
+
118
+ end
@@ -0,0 +1,15 @@
1
+ require 'test_helper'
2
+
3
+ class ServiceTest < Minitest::Test
4
+ def setup
5
+ init_environment
6
+ end
7
+
8
+ def test_ping_api_call
9
+ VCR.use_cassette('services_ping') do
10
+ resp = Veye::API::Service.ping
11
+ assert_equal 200, resp.code
12
+ assert_equal 'pong', resp.data['message']
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,30 @@
1
+ require 'test_helper'
2
+
3
+ class UserTest < Minitest::Test
4
+ def setup
5
+ init_environment
6
+ @api_key = "ba7d93beb5de7820764e"
7
+ end
8
+
9
+ def test_get_profile_api_call
10
+ VCR.use_cassette('user_get_profile') do
11
+ res = Veye::API::User.get_profile(@api_key)
12
+ refute_nil res
13
+ assert_equal 200, res.code
14
+ assert_equal true, res.success
15
+ assert_equal "timgluz", res.data["username"]
16
+ assert_equal "timgluz@gmail.com", res.data["email"]
17
+ end
18
+ end
19
+
20
+ def test_get_favorites_api_call
21
+ VCR.use_cassette("user_get_favorites") do
22
+ res = Veye::API::User.get_favorites(@api_key)
23
+ refute_nil res
24
+ assert_equal 200, res.code
25
+ assert_equal true, res.success
26
+ assert_equal "h2", res.data['favorites'].first["name"]
27
+ end
28
+ end
29
+
30
+ end
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: https://www.versioneye.com/api/v2/github/versioneye:veye?api_key=ba7d93beb5de7820764e&branch=master
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx/1.4.6 (Ubuntu)
23
+ Date:
24
+ - Fri, 14 Aug 2015 17:18:24 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Content-Length:
28
+ - '16'
29
+ Connection:
30
+ - keep-alive
31
+ Strict-Transport-Security:
32
+ - max-age=31536000
33
+ Set-Cookie:
34
+ - api_key=ba7d93beb5de7820764e; secure
35
+ Etag:
36
+ - W/"7363e85fe9edee6f053a4b319588c086"
37
+ Cache-Control:
38
+ - max-age=0, private, must-revalidate
39
+ X-Request-Id:
40
+ - ada5986b-de47-4f47-9a78-32ad6620bd6d
41
+ X-Runtime:
42
+ - '0.173011'
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"success":true}'
46
+ http_version:
47
+ recorded_at: Fri, 14 Aug 2015 17:18:15 GMT
48
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,53 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://www.versioneye.com/api/v2/github/versioneye:veye
6
+ body:
7
+ encoding: US-ASCII
8
+ string: api_key=ba7d93beb5de7820764e&branch=master&file=Gemfile.lock
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Length:
15
+ - '60'
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Server:
26
+ - nginx/1.4.6 (Ubuntu)
27
+ Date:
28
+ - Fri, 14 Aug 2015 15:13:33 GMT
29
+ Content-Type:
30
+ - application/json
31
+ Content-Length:
32
+ - '821'
33
+ Connection:
34
+ - keep-alive
35
+ Strict-Transport-Security:
36
+ - max-age=31536000
37
+ Set-Cookie:
38
+ - api_key=ba7d93beb5de7820764e; secure
39
+ Etag:
40
+ - W/"2f06df5540d8ed9db0699f432ca1c462"
41
+ Cache-Control:
42
+ - max-age=0, private, must-revalidate
43
+ X-Request-Id:
44
+ - 982539e7-0de1-4454-aa63-5ee5e4aaf49b
45
+ X-Runtime:
46
+ - '5.444198'
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"repo":{"name":"veye","fullname":"versioneye/veye","language":"ruby","owner_login":"versioneye","owner_type":"organization","description":"VersionEye
50
+ command line tool ","private":false,"fork":false,"branches":null,"git_url":"git://github.com/versioneye/veye.git","html_url":"https://github.com/versioneye/veye","created_at":"2012-12-27T11:15:03.000+00:00","cached_at":"2015-08-13T10:42:23.754+00:00","size":706,"homepage":null},"imported_projects":[{"id":"55ce0593cb3745000b00369d","project_key":"rubygem_versioneye_veye_1","name":"versioneye/veye","project_type":"RubyGem","public":true,"private_scm":false,"period":"daily","source":"github","dep_number":37,"out_number":7,"licenses_red":0,"licenses_unknown":3,"created_at":"2015-08-14T15:13:23.112Z","updated_at":"2015-08-14T15:13:24.471Z","license_whitelist":null}]}'
51
+ http_version:
52
+ recorded_at: Fri, 14 Aug 2015 15:13:24 GMT
53
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.versioneye.com/api/v2/github/versioneye:veye?api_key=ba7d93beb5de7820764e
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx/1.4.6 (Ubuntu)
23
+ Date:
24
+ - Sun, 09 Aug 2015 08:24:50 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Content-Length:
28
+ - '472'
29
+ Connection:
30
+ - keep-alive
31
+ Strict-Transport-Security:
32
+ - max-age=31536000
33
+ Set-Cookie:
34
+ - api_key=ba7d93beb5de7820764e; secure
35
+ Etag:
36
+ - W/"406a9cdb2b9d8e681a09871e01c96a18"
37
+ Cache-Control:
38
+ - max-age=0, private, must-revalidate
39
+ X-Request-Id:
40
+ - 2b7a1b05-fc6c-4cf6-97c8-104abf967792
41
+ X-Runtime:
42
+ - '0.045445'
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"repo":{"name":"veye","fullname":"versioneye/veye","language":"ruby","owner_login":"versioneye","owner_type":"organization","description":"VersionEye
46
+ command line tool ","private":false,"fork":false,"branches":["master","references"],"git_url":"git://github.com/versioneye/veye.git","html_url":"https://github.com/versioneye/veye","created_at":"2012-12-27T11:15:03.000+00:00","cached_at":"2015-07-26T19:11:37.810+00:00","size":706,"homepage":null},"imported_projects":[]}'
47
+ http_version:
48
+ recorded_at: Sun, 09 Aug 2015 08:22:18 GMT
49
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,80 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.versioneye.com/api/v2/github?api_key=ba7d93beb5de7820764e&page=1&private=false
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx/1.4.6 (Ubuntu)
23
+ Date:
24
+ - Mon, 27 Jul 2015 18:19:35 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Content-Length:
28
+ - '7244'
29
+ Connection:
30
+ - keep-alive
31
+ Strict-Transport-Security:
32
+ - max-age=31536000
33
+ Set-Cookie:
34
+ - api_key=ba7d93beb5de7820764e; secure
35
+ Etag:
36
+ - W/"abb355b3a177210b07044e8c618a58e7"
37
+ Cache-Control:
38
+ - max-age=0, private, must-revalidate
39
+ X-Request-Id:
40
+ - 34cc6040-bcd7-4cfc-a1b8-ed7c8f384576
41
+ X-Runtime:
42
+ - '0.132016'
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"repos":[{"name":"versioneye_update","fullname":"versioneye/versioneye_update","language":"shell","owner_login":"versioneye","owner_type":"organization","description":"Update
46
+ an existing project at VersionEye via the API with CURL","private":false,"fork":false,"branches":null},{"name":"versioneye_license_check","fullname":"versioneye/versioneye_license_check","language":"shell","owner_login":"versioneye","owner_type":"organization","description":"Shell
47
+ script for checking licenses quickly","private":false,"fork":false,"branches":null},{"name":"docker_web_ui","fullname":"versioneye/docker_web_ui","language":"ruby","owner_login":"versioneye","owner_type":"organization","description":"Web
48
+ Interface for the Docker Remote API","private":false,"fork":false,"branches":null},{"name":"versioneye-enterprise","fullname":"versioneye/versioneye-enterprise","language":"","owner_login":"versioneye","owner_type":"organization","description":"Ticket
49
+ System for VersionEye Enterprise","private":false,"fork":false,"branches":null},{"name":"Chart.js","fullname":"versioneye/Chart.js","language":"javascript","owner_login":"versioneye","owner_type":"organization","description":"Simple
50
+ HTML5 Charts using the \u003ccanvas\u003e tag","private":false,"fork":true,"branches":null},{"name":"jquery","fullname":"versioneye/jquery","language":"javascript","owner_login":"versioneye","owner_type":"organization","description":"jQuery
51
+ JavaScript Library","private":false,"fork":true,"branches":null},{"name":"backbone","fullname":"versioneye/backbone","language":"javascript","owner_login":"versioneye","owner_type":"organization","description":"Give
52
+ your JS App some Backbone with Models, Views, Collections, and Events","private":false,"fork":true,"branches":null},{"name":"versioneye_maven_plugin","fullname":"versioneye/versioneye_maven_plugin","language":"java","owner_login":"versioneye","owner_type":"organization","description":"Maven
53
+ Plugin for VersionEye","private":false,"fork":false,"branches":null},{"name":"naturalsorter","fullname":"versioneye/naturalsorter","language":"ruby","owner_login":"versioneye","owner_type":"organization","description":"Sorting
54
+ an array in a natural way","private":false,"fork":false,"branches":null},{"name":"dependency_wheel","fullname":"versioneye/dependency_wheel","language":"javascript","owner_login":"versioneye","owner_type":"organization","description":"JS
55
+ Lib to visualize recursive dependencies for software libraries. ","private":false,"fork":false,"branches":null},{"name":"veye","fullname":"versioneye/veye","language":"ruby","owner_login":"versioneye","owner_type":"organization","description":"VersionEye
56
+ command line tool ","private":false,"fork":false,"branches":null},{"name":"versioneye_issues","fullname":"versioneye/versioneye_issues","language":"","owner_login":"versioneye","owner_type":"organization","description":"open
57
+ tickets system for http://www.versioneye.com","private":false,"fork":false,"branches":null},{"name":"GoCast","fullname":"timoh/GoCast","language":"python","owner_login":"timoh","owner_type":"team","description":"","private":false,"fork":false,"branches":null},{"name":"tsp","fullname":"timgluz/tsp","language":"clojure","owner_login":"timgluz","owner_type":"user","description":"Expertiments
58
+ for Travelling Salesman problem in Clojure; currently just SimulatedAnnealing
59
+ and SVG visualization;","private":false,"fork":false,"branches":null},{"name":"timbre","fullname":"timgluz/timbre","language":"clojure","owner_login":"timgluz","owner_type":"user","description":"Clojure
60
+ logging \u0026 profiling library","private":false,"fork":true,"branches":null},{"name":"tikkba","fullname":"timgluz/tikkba","language":"clojure","owner_login":"timgluz","owner_type":"user","description":"Tikkba
61
+ is a Clojure library for the creation and the dynamic modification of SVG
62
+ documents.","private":false,"fork":true,"branches":null},{"name":"starter-cljmml","fullname":"timgluz/starter-cljmml","language":"clojure","owner_login":"timgluz","owner_type":"user","description":"Example
63
+ project to start MyMediaLite library via ClojureCLR","private":false,"fork":false,"branches":null},{"name":"sneakers","fullname":"timgluz/sneakers","language":"ruby","owner_login":"timgluz","owner_type":"user","description":"A
64
+ fast background processing framework for Ruby and RabbitMQ","private":false,"fork":true,"branches":null},{"name":"ShareFest","fullname":"timgluz/ShareFest","language":"javascript","owner_login":"timgluz","owner_type":"user","description":"Web
65
+ based p2p file sharing built on WebRTC Data Channels API","private":false,"fork":true,"branches":null},{"name":"shaman-movielens","fullname":"timgluz/shaman-movielens","language":"clojure","owner_login":"timgluz","owner_type":"user","description":"simple
66
+ example to demo shaman library;","private":false,"fork":false,"branches":null},{"name":"shaman","fullname":"timgluz/shaman","language":"clojure","owner_login":"timgluz","owner_type":"user","description":"clojure
67
+ client for Prediction.IO","private":false,"fork":false,"branches":null},{"name":"reagent-cursor","fullname":"timgluz/reagent-cursor","language":"clojure","owner_login":"timgluz","owner_type":"user","description":"Optional
68
+ cursors library for Reagent","private":false,"fork":true,"branches":null},{"name":"PredictionIO-Docs","fullname":"timgluz/PredictionIO-Docs","language":"css","owner_login":"timgluz","owner_type":"user","description":"PredictionIO
69
+ Documentation Project","private":false,"fork":true,"branches":null},{"name":"mongoid","fullname":"timgluz/mongoid","language":"ruby","owner_login":"timgluz","owner_type":"user","description":"Ruby
70
+ ODM framework for MongoDB","private":false,"fork":true,"branches":null},{"name":"monger.docs","fullname":"timgluz/monger.docs","language":"css","owner_login":"timgluz","owner_type":"user","description":"Documentation
71
+ site for Monger","private":false,"fork":true,"branches":null},{"name":"monger","fullname":"timgluz/monger","language":"clojure","owner_login":"timgluz","owner_type":"user","description":"Monger
72
+ is an idiomatic Clojure MongoDB driver for a more civilized age: with sane
73
+ defaults, batteries included, well documented, very fast","private":false,"fork":true,"branches":null},{"name":"mallet-lda","fullname":"timgluz/mallet-lda","language":"clojure","owner_login":"timgluz","owner_type":"user","description":"a
74
+ Clojure wrapper over the LDA topic modeling implementation in MALLET","private":false,"fork":true,"branches":null},{"name":"lein-simpleton","fullname":"timgluz/lein-simpleton","language":"clojure","owner_login":"timgluz","owner_type":"user","description":"A
75
+ Leiningen plugin to serve files out of a local directory -- very similar to
76
+ Python''s SimpleHTTPServer","private":false,"fork":true,"branches":null},{"name":"jubatus","fullname":"timgluz/jubatus","language":"c++","owner_login":"timgluz","owner_type":"user","description":"Framework
77
+ and Library for Distributed Online Machine Learning","private":false,"fork":true,"branches":null},{"name":"instaparse","fullname":"timgluz/instaparse","language":"clojure","owner_login":"timgluz","owner_type":"user","description":"","private":false,"fork":true,"branches":null}],"paging":{"current_page":1,"per_page":30,"total_pages":3,"total_entries":69}}'
78
+ http_version:
79
+ recorded_at: Mon, 27 Jul 2015 18:17:09 GMT
80
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.versioneye.com/api/v2/github/sync?api_key=ba7d93beb5de7820764e&force=false
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx/1.4.6 (Ubuntu)
23
+ Date:
24
+ - Mon, 27 Jul 2015 17:58:00 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Content-Length:
28
+ - '20'
29
+ Connection:
30
+ - keep-alive
31
+ Strict-Transport-Security:
32
+ - max-age=31536000
33
+ Set-Cookie:
34
+ - api_key=ba7d93beb5de7820764e; secure
35
+ Etag:
36
+ - W/"8fa085613a894ef3df0d3b493671a171"
37
+ Cache-Control:
38
+ - max-age=0, private, must-revalidate
39
+ X-Request-Id:
40
+ - bf003b7a-3dc3-4d31-9a03-6abbb3ca5b7c
41
+ X-Runtime:
42
+ - '0.108083'
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"status":"running"}'
46
+ http_version:
47
+ recorded_at: Mon, 27 Jul 2015 17:55:34 GMT
48
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://www.versioneye.com/api/v2/products/ruby/ruby/follow.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: api_key=ba7d93beb5de7820764e
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Length:
15
+ - '28'
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Server:
26
+ - nginx/1.4.6 (Ubuntu)
27
+ Date:
28
+ - Sat, 15 Aug 2015 10:46:17 GMT
29
+ Content-Type:
30
+ - application/json
31
+ Content-Length:
32
+ - '55'
33
+ Connection:
34
+ - keep-alive
35
+ Strict-Transport-Security:
36
+ - max-age=31536000
37
+ Set-Cookie:
38
+ - api_key=ba7d93beb5de7820764e; secure
39
+ Etag:
40
+ - W/"9d6323eb43938b708cb2b4b1d86ed307"
41
+ Cache-Control:
42
+ - max-age=0, private, must-revalidate
43
+ X-Request-Id:
44
+ - 8a09f4e7-b74d-4da4-abfd-f08f421adb8c
45
+ X-Runtime:
46
+ - '0.030867'
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"username":"timgluz","prod_key":"ruby","follows":true}'
50
+ http_version:
51
+ recorded_at: Sat, 15 Aug 2015 10:46:07 GMT
52
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.versioneye.com/api/v2/products/ruby/ruby/follow.json?api_key=ba7d93beb5de7820764e
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx/1.4.6 (Ubuntu)
23
+ Date:
24
+ - Sat, 15 Aug 2015 10:46:16 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Content-Length:
28
+ - '56'
29
+ Connection:
30
+ - keep-alive
31
+ Strict-Transport-Security:
32
+ - max-age=31536000
33
+ Set-Cookie:
34
+ - api_key=ba7d93beb5de7820764e; secure
35
+ Etag:
36
+ - W/"8ab7070f3b063b2378ca199ebe369d32"
37
+ Cache-Control:
38
+ - max-age=0, private, must-revalidate
39
+ X-Request-Id:
40
+ - b8df0aa6-b70d-4a6c-a4d3-929c05bea125
41
+ X-Runtime:
42
+ - '0.017819'
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"username":"timgluz","prod_key":"ruby","follows":false}'
46
+ http_version:
47
+ recorded_at: Sat, 15 Aug 2015 10:46:06 GMT
48
+ recorded_with: VCR 2.9.3