veye 0.0.8.1 → 0.0.9
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/Gemfile.lock +9 -9
- data/README.md +196 -154
- data/bin/veye +23 -0
- data/lib/veye/package/info.rb +2 -2
- data/lib/veye/package/references.rb +54 -0
- data/lib/veye/package.rb +4 -3
- data/lib/veye/version.rb +5 -5
- data/lib/veye/views/package/references_csv.rb +28 -0
- data/lib/veye/views/package/references_json.rb +11 -0
- data/lib/veye/views/package/references_pretty.rb +23 -0
- data/lib/veye/views/package/references_table.rb +25 -0
- data/lib/veye/views/package.rb +7 -1
- data/lib/veye/views/project/info_markdown.rb +2 -2
- metadata +10 -14
- data/README.rdoc +0 -6
- data/veye.rdoc +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed87ae6f638f1aeed2602575a9988254d9e12ddc
|
4
|
+
data.tar.gz: 713504f09b4dd5adfd1a22529009d2e7e2605ad5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9e8b894dc55cadb9a7bc5744d6e9d085301a83262aaefd0eba3756a2bede2e853e50c193ed50b14ba2c5ed7389c37404680a63d11984752a214cd865cc9db49
|
7
|
+
data.tar.gz: 33cf0c557cbde68f816733defc2b231cb0a53bf9a3e9c156e02d8a1ab3b7a7cb68a79a6da8064d3f305967b32654c37a3505c925ed36c58d86b279ff657474b2
|
data/Gemfile.lock
CHANGED
@@ -2,12 +2,12 @@ PATH
|
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
4
|
veye (0.0.8.1)
|
5
|
-
awesome_print (~> 1.2
|
6
|
-
gli (~> 2.11
|
7
|
-
rainbow (~> 2.0
|
8
|
-
render-as-markdown (~> 0.0
|
9
|
-
rest-client (~> 1.6
|
10
|
-
terminal-table (~> 1.4
|
5
|
+
awesome_print (~> 1.2)
|
6
|
+
gli (~> 2.11)
|
7
|
+
rainbow (~> 2.0)
|
8
|
+
render-as-markdown (~> 0.0)
|
9
|
+
rest-client (~> 1.6)
|
10
|
+
terminal-table (~> 1.4)
|
11
11
|
|
12
12
|
GEM
|
13
13
|
remote: https://rubygems.org/
|
@@ -52,7 +52,7 @@ PLATFORMS
|
|
52
52
|
ruby
|
53
53
|
|
54
54
|
DEPENDENCIES
|
55
|
-
aruba (~> 0.6
|
56
|
-
rake (~> 10.3
|
57
|
-
rdoc (~> 4.1
|
55
|
+
aruba (~> 0.6)
|
56
|
+
rake (~> 10.3)
|
57
|
+
rdoc (~> 4.1)
|
58
58
|
veye!
|
data/README.md
CHANGED
@@ -1,32 +1,33 @@
|
|
1
1
|
# Veye
|
2
2
|
|
3
|
-
[](https://www.versioneye.com/ruby/veye/0.0.8.1)
|
4
4
|
|
5
|
-
[
|
5
|
+
[](https://gitter.im/versioneye?utm_source=share-link&utm_medium=link&utm_campaign=share-link)
|
6
6
|
|
7
|
-
|
7
|
+
|
8
|
+
[VersionEye](http://www.versioneye.com/) is a cross-platform search engine and crowdsourcing app for opensource software libraries.
|
9
|
+
|
10
|
+
* Take advantage of the extended search to find any library you look for.
|
8
11
|
* Follow and track your favorite software packages via RSS feed.
|
9
|
-
* Leave comments and add additional meta information to the libraries to improve the quality of the data.
|
12
|
+
* Leave comments and add additional meta information to the libraries to improve the quality of the data.
|
10
13
|
* Contribute to this crowdsourcing project to make the world a better place for software developers.
|
11
14
|
|
12
15
|
|
13
|
-
**veye** is commandline tool to make all this available on
|
14
|
-
|
15
|
-
**PS:** Our _premium customers_ can also use offline search. Please send your email to `contact@versioneye.com` to get more information.
|
16
|
+
**veye** is opensouce commandline tool to make all this available on your console and allows you write scripts for continous updating and due diligence.
|
16
17
|
|
17
18
|
Most endpoints require the api-key, which you can get [here](https://www.versioneye.com/settings/api).
|
18
19
|
|
19
20
|

|
20
21
|
|
21
22
|
|
22
|
-
|
23
|
+
## Install
|
23
24
|
|
24
25
|
|
25
26
|
```
|
26
27
|
$> gem install veye
|
27
28
|
```
|
28
29
|
|
29
|
-
###
|
30
|
+
### only for dev-version
|
30
31
|
|
31
32
|
###### Download source
|
32
33
|
|
@@ -40,7 +41,7 @@ Most endpoints require the api-key, which you can get [here](https://www.version
|
|
40
41
|
$> bundle
|
41
42
|
$> bundle exec bin/veye ping
|
42
43
|
```
|
43
|
-
|
44
|
+
|
44
45
|
###### Or build Gem file and install it as global command
|
45
46
|
|
46
47
|
```
|
@@ -48,12 +49,12 @@ Most endpoints require the api-key, which you can get [here](https://www.version
|
|
48
49
|
$> veye help
|
49
50
|
$> veye ping
|
50
51
|
```
|
51
|
-
|
52
|
-
### Initial configuration
|
53
52
|
|
54
|
-
|
53
|
+
## Initial configuration
|
54
|
+
|
55
|
+
The tool will raise exception when a configuration file is missing. The tool needs configuration file to keep user specific settings and authorization key.
|
55
56
|
|
56
|
-
|
57
|
+
#### create config file
|
57
58
|
|
58
59
|
```
|
59
60
|
$> veye initconfig
|
@@ -64,324 +65,365 @@ The tool will raise exception when a configuration file is missing. The tool nee
|
|
64
65
|
:port: "3000"
|
65
66
|
....
|
66
67
|
```
|
67
|
-
|
68
|
-
|
68
|
+
|
69
|
+
#### initialize api key
|
69
70
|
|
70
71
|
Please visit [your settings page](https://www.versioneye.com/settings/api) on VersionEye for the api-key and then use command `veye change_key` to save your api key.
|
71
72
|
|
72
73
|
```
|
73
74
|
$> veye change_key abj23j2bj33k14
|
74
75
|
Success: your's key is now saved.
|
75
|
-
```
|
76
|
+
```
|
76
77
|
|
77
78
|
# Basic usage
|
78
79
|
|
79
80
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
```bash
|
84
|
-
$> veye ping
|
81
|
+
```bash
|
82
|
+
$> veye ping
|
85
83
|
pong
|
86
|
-
```
|
87
84
|
|
88
|
-
|
89
|
-
|
90
|
-
This command opens window to magnificient world of software packages - VersionEye has ~ 250K software libraries and it's reachable via your commandline.
|
91
|
-
|
92
|
-
###### Get command help
|
93
|
-
|
94
|
-
```bash
|
95
|
-
$> veye search help
|
96
|
-
```
|
97
|
-
|
98
|
-
###### Basic package search with language filtering
|
99
|
-
|
100
|
-
```bash
|
101
|
-
$> veye search junit
|
102
|
-
$> veye search -l java
|
103
|
-
$> veye search --language java
|
104
|
-
$> veye search --language-name=java
|
105
|
-
|
106
|
-
#search packages for multiple languages
|
107
|
-
$> veye search --lang=nodejs,php
|
108
|
-
```
|
85
|
+
$> veye search json --lang=r,php --page=2
|
109
86
|
|
110
|
-
|
87
|
+
#you can cancel pagination with --no-pagination argument
|
88
|
+
$> veye search junit --page 3 --no-pagination
|
89
|
+
```
|
111
90
|
|
112
|
-
```
|
113
|
-
$> veye search junit --page 2
|
114
|
-
$> veye search junit --page-number=2
|
115
|
-
$> veye search json --lang=r,php --page=2
|
116
|
-
|
117
|
-
#you can cancel pagination with --no-pagination argument
|
118
|
-
$> veye search junit --page 3 --no-pagination
|
119
|
-
```
|
120
91
|
|
121
|
-
|
92
|
+
## Output formats
|
122
93
|
|
123
94
|
All commands support format-flag, that allows you change output format.
|
124
95
|
|
125
|
-
|
96
|
+
#### pretty print
|
97
|
+
|
98
|
+
Prettyprint is human readable output with colors to highlight an most important piece of information on a screen.
|
99
|
+
It's designed after other ruby command-line tools.
|
126
100
|
|
127
|
-
Prettyprint is human readable output with colors. It's designed after other ruby command-line tools.
|
128
|
-
|
129
101
|
```bash
|
130
102
|
$> veye search json --format=pretty
|
131
103
|
```
|
132
|
-
|
133
|
-

|
137
|
-
|
104
|
+
|
105
|
+

|
106
|
+
|
107
|
+
#### CSV
|
108
|
+
CSV is good format for unix command line tools such as [awk](http://www.gnu.org/software/gawk/manual/gawk.html)
|
109
|
+
|
138
110
|
```bash
|
139
111
|
$> veye search json --format=csv
|
140
112
|
```
|
141
113
|
|
142
|
-

|
115
|
+
|
116
|
+
#### JSON
|
143
117
|
|
144
|
-
|
145
|
-
|
146
|
-
It also supports JSON to manipulate results with [jq](http://stedolan.github.com/jq/) .
|
118
|
+
JSON output is great, if you're going to manipulate output results with [jq](http://stedolan.github.com/jq/).
|
147
119
|
Check out our jq recipes in [wiki](https://github.com/versioneye/veye/wiki/jq-recipes) .
|
148
|
-
|
149
|
-
|
120
|
+
|
121
|
+
|
150
122
|
```bash
|
151
123
|
$> veye search json --format=json
|
152
124
|
```
|
153
|
-
|
154
|
-

|
155
|
-
|
156
|
-
###### Table view
|
157
125
|
|
158
|
-
|
159
|
-
|
126
|
+

|
127
|
+
|
128
|
+
#### Table view
|
129
|
+
It's shows results as one Excel sheet - title and content.
|
130
|
+
A Tabular view is best suited for bigger screens.
|
131
|
+
|
160
132
|
```bash
|
161
133
|
$> veye search json --format=table
|
162
134
|
```
|
163
|
-

|
164
|
-
|
165
135
|
|
166
|
-
|
136
|
+

|
137
|
+
|
138
|
+
|
139
|
+
#### Markdown
|
167
140
|
|
168
141
|
This flag formats your results in markdown.
|
169
|
-
|
142
|
+
|
170
143
|
Here's dependencies of demo project formatted as [markdown table](https://gist.github.com/timgluz/6857422).
|
171
144
|
|
172
145
|
```
|
146
|
+
$> veye projects show rubygem_gemfile_lock_1 --format=md
|
147
|
+
$> veye projects show rubygem_gemfile_lock_1 --format=md > dependencies.md
|
173
148
|
|
174
|
-
$> veye projects show rubygem_gemfile_lock_1 --format=md
|
175
|
-
$> veye projects show rubygem_gemfile_lock_1 --format=md > dependencies.md
|
176
149
|
```
|
177
150
|
|
178
151
|
|
179
|
-
|
152
|
+
#### Empty response
|
180
153
|
|
181
154
|
There will be situation, when [VersionEye](http://versioneye.com) dont have information about your search, then you will see similar response on commandline:
|
182
155
|
|
183
156
|
```
|
184
|
-
No results for 'json' with given parameters:
|
157
|
+
No results for 'json' with given parameters:
|
185
158
|
{:q=>"json", :lang=>"python", :page=>1}
|
186
159
|
```
|
187
|
-
|
188
|
-
|
160
|
+
#### Extra information
|
161
|
+
|
162
|
+
Commands that show list of items, always show pagination information by default. You can always cancel this information by using `no-pagination` flag and feed data into unix tools.
|
163
|
+
|
164
|
+
```
|
165
|
+
$> veye search junit --page 3 --no-pagination
|
166
|
+
```
|
167
|
+
|
168
|
+
## Global options
|
189
169
|
|
190
170
|
You can override your default global options by adding proper keyword and value.
|
191
|
-
For example to
|
171
|
+
For example to overriding a port number:
|
192
172
|
|
193
173
|
```
|
194
|
-
|
174
|
+
$> veye --port=4567 search json --lang=php,nodejs
|
195
175
|
```
|
196
176
|
|
197
|
-
|
177
|
+
##### Timeouts
|
198
178
|
|
199
179
|
The best place to manage timeouts for a single run is to use commandline flags.
|
200
180
|
|
201
181
|
```
|
202
|
-
|
182
|
+
$> veye --timeout=100 --open_timeout=10 ping
|
203
183
|
```
|
204
184
|
|
205
185
|
**NB!** unit of timeout is a second and it's doesnt accepts milliseconds. Therefore smallest timeout is 1second and you can use -1 as infinite timeout.
|
206
186
|
|
207
|
-
If you want to change timeout settings permanently, then you shall change timeout values in your `.veye.rc` file.
|
187
|
+
If you want to change timeout settings permanently, then you shall change timeout values in your `.veye.rc` file.
|
208
188
|
|
209
|
-
|
189
|
+
#### Updating options file
|
210
190
|
|
211
191
|
There may be a situation when you need to update/re-write saved config file. Then you you can use `veye initconfig --force` command to re-write already existing configuration file.
|
212
192
|
|
213
|
-
|
193
|
+
# Commands
|
194
|
+
|
195
|
+
## Package
|
196
|
+
|
197
|
+
#### Package search
|
198
|
+
|
199
|
+
This command opens window to magnificient world of software packages - VersionEye has ~ 300K software libraries and it's reachable via your commandline.
|
200
|
+
|
201
|
+
###### Get command help
|
202
|
+
|
203
|
+
```bash
|
204
|
+
$> veye search help
|
205
|
+
```
|
206
|
+
|
207
|
+
###### Basic package search with language filtering
|
208
|
+
|
209
|
+
```bash
|
210
|
+
$> veye search junit
|
211
|
+
$> veye search -l java
|
212
|
+
$> veye search --language java
|
213
|
+
$> veye search --language-name=java
|
214
|
+
|
215
|
+
#search packages for multiple languages
|
216
|
+
$> veye search --lang=nodejs,php
|
217
|
+
```
|
218
|
+
|
219
|
+
###### Paginate through results
|
220
|
+
|
221
|
+
```
|
222
|
+
$> veye search junit --page 2
|
223
|
+
$> veye search junit --page-number=2
|
224
|
+
$> veye search json --lang=r,php --page=2
|
225
|
+
|
226
|
+
#you can cancel pagination with --no-pagination argument
|
227
|
+
$> veye search junit --page 3 --no-pagination
|
228
|
+
```
|
229
|
+
|
230
|
+
#### package information
|
214
231
|
|
215
232
|
Ok, thats most trickiest part of our tool. You need to prepend a language of package just before product's key. For example, if you have Java package with product key junit/junit, then you have to encode this value as: `java/junit/junit`.
|
216
233
|
|
217
234
|
|
218
235
|
It supports also `--format` flag with same values.
|
219
236
|
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-

|
226
|
-
|
237
|
+
```
|
238
|
+
$> veye info java/junit/junit
|
239
|
+
Asking information about: junit/junit
|
240
|
+
```
|
227
241
|
|
228
|
-
|
242
|
+

|
229
243
|
|
230
|
-
|
244
|
+
#### package references
|
245
|
+
|
246
|
+
You can use a `references` commands to fetch data about packages, which are using the package.
|
231
247
|
|
232
248
|
```
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
;; show the list of products in your's RSS feed
|
238
|
-
$> veye products
|
249
|
+
$> veye references java/log4j/log4j
|
250
|
+
$> veye references java/log4j/log4j --format=table
|
251
|
+
$> veye references java/log4j/log4j --no-pagination
|
239
252
|
```
|
240
253
|
|
241
|
-
|
254
|
+
#### personal connection with packages
|
242
255
|
|
243
|
-
|
256
|
+
`product` command has subcommands to control your personal connections with libraries.
|
244
257
|
|
245
258
|
```
|
246
|
-
|
259
|
+
;;follow some package to add it into your RSS feed
|
260
|
+
$> veye products follow clojure/ztellman/aleph
|
261
|
+
$> veye products unfollow clojure/ztellman/aleph
|
262
|
+
|
263
|
+
;; show the list of products in your's RSS feed
|
264
|
+
$> veye products
|
247
265
|
```
|
248
266
|
|
249
|
-
|
267
|
+
## Project
|
250
268
|
|
251
269
|
The `project` command holds a multiple subcommands for working with our project files.
|
252
270
|
|
253
|
-
|
271
|
+
#### show existing projects
|
254
272
|
|
255
273
|
```
|
256
|
-
|
257
|
-
|
274
|
+
$> veye projects list
|
275
|
+
$> veye projects --format=table
|
258
276
|
```
|
259
277
|
|
260
|
-
|
278
|
+
#### show information of specific project
|
261
279
|
|
262
280
|
A `show` command expects a proper project_key, which you can from the list of already existing projects.
|
263
281
|
|
264
282
|
```
|
265
|
-
|
266
|
-
|
283
|
+
$> veye projects show rubygem_gemfile_1
|
284
|
+
$> veye projects show rubygem_gemfile_1 --format=table
|
267
285
|
```
|
268
286
|
|
269
|
-
|
287
|
+
#### check project file
|
288
|
+
|
289
|
+
Use `check` command to upload your project file and check the state of dependencies. **NB!** it only shows information about dependencies, if you need also project info, then please use `veye project upload` command.
|
290
|
+
|
291
|
+
```
|
292
|
+
$> veye check test/files/Gemfile
|
293
|
+
```
|
294
|
+
|
295
|
+
#### upload project file
|
270
296
|
|
271
297
|
Use `upload` command to create new project. This command expects proper filepath to the file and the file is smaller than 500KB. VersionEye supports currently 8 different package managers(*Leiningen, Gem, Maven, NPM, Packagist, Pip, Setup.py, R*), Bower and Obj-C is already on pipeline.
|
272
298
|
|
273
299
|
```
|
274
|
-
|
275
|
-
|
300
|
+
$> veye projects upload test/files/Gemfile
|
301
|
+
$> veye projects upload test/files/maven.pom
|
276
302
|
```
|
277
303
|
|
278
|
-
|
304
|
+
#### re-upload project file for existing project
|
279
305
|
|
280
306
|
You can use `update` command to update the information of already existing project.
|
281
307
|
This command expects correct project_key and a path to file.
|
282
308
|
|
283
309
|
```
|
284
|
-
|
285
|
-
|
310
|
+
$> veye projects update rubygem_gemfile_1 test/files/Gemfile
|
311
|
+
$> veye projects update rubygem_gemfile_1 test/files/Gemfile --format=table
|
286
312
|
```
|
287
313
|
|
288
|
-
|
314
|
+
#### Delete project
|
289
315
|
|
290
316
|
This command removes the specified project from your project's list.
|
291
317
|
|
292
318
|
```
|
293
|
-
|
319
|
+
$> veye projects delete rubygem_gemfile_1
|
294
320
|
Deleted
|
295
321
|
```
|
296
322
|
|
297
|
-
|
323
|
+
#### Licences
|
298
324
|
|
299
325
|
`licence` command returns all licenses used in your project.
|
300
326
|
|
301
327
|
```
|
302
|
-
|
328
|
+
$> veye projects licences rubygem_gemfile_1 --format=table
|
303
329
|
```
|
304
330
|
|
305
331
|
|
306
|
-
|
332
|
+
## Me
|
307
333
|
|
308
334
|
`me` command returns short overview of your profile and your current payment plan.
|
309
335
|
|
310
336
|
```
|
311
|
-
|
312
|
-
```
|
337
|
+
$> veye me
|
338
|
+
```
|
313
339
|
|
314
|
-
|
340
|
+
#### Favorite packages
|
315
341
|
|
316
342
|
`me` command has a `favorite` subcommand, which returns all packages you're currently following.
|
317
343
|
|
318
344
|
```
|
319
|
-
|
320
|
-
|
345
|
+
$> veye me favorites
|
346
|
+
$> veye me favorites --page=2 --format=table
|
321
347
|
```
|
322
348
|
|
323
|
-
|
349
|
+
## Github
|
324
350
|
|
325
351
|
`Github` command includes subcommands to manage your Github repositories on VersionEye.
|
326
352
|
|
327
353
|
All subcommands expect that you had already connected your Github with your VersionEye account. Otherwise you'll get plain exception message.
|
328
354
|
|
329
|
-
|
355
|
+
#### Sync
|
330
356
|
|
331
357
|
Updates your Github data - this api's resource tries to be lazy: it pulls updates only if there's no cached repositories or Github shows there's any changes on your repositories. But you can use `--force` switch to re-import all data regardless there's any changes on your repositories. Beware this command can takes time.
|
332
358
|
|
333
359
|
```
|
334
|
-
|
335
|
-
|
360
|
+
$> veye github sync
|
361
|
+
$> veye github sync --force
|
336
362
|
```
|
337
363
|
|
338
|
-
|
364
|
+
#### List
|
339
365
|
|
340
366
|
`list` commands shows paginated view of your repositories.
|
341
367
|
|
342
368
|
```
|
343
|
-
|
369
|
+
$> veye github list --format=table
|
344
370
|
```
|
345
371
|
|
346
|
-
|
372
|
+
#### Info
|
347
373
|
|
348
374
|
This command shows more detailed information.
|
349
375
|
|
350
376
|
```
|
351
|
-
|
352
|
-
|
377
|
+
$> veye github info versioneye/veye
|
378
|
+
$> veye github info versioneye/veye --format=table
|
353
379
|
```
|
354
380
|
|
355
|
-
|
381
|
+
#### Import
|
356
382
|
|
357
383
|
`import` command takes fullname of repository and tries to import project file from that repository. Fullname have to include the owner and the name of repository.
|
358
384
|
|
359
|
-
By default, it tries to read project file on master branch; you can use a `--branch` flag to specify the name of branch.
|
385
|
+
By default, it tries to read project file on master branch; you can use a `--branch` flag to specify the name of branch.
|
360
386
|
|
361
387
|
This command gives exception when you are trying to import already imported repository.
|
362
388
|
|
363
389
|
|
364
390
|
```
|
365
|
-
|
366
|
-
|
391
|
+
$> veye github import versioneye/veye
|
392
|
+
$> veye github import versioneye/veye --branch=dev
|
367
393
|
```
|
368
394
|
|
369
395
|
|
370
|
-
|
396
|
+
#### Delete
|
371
397
|
|
372
398
|
It removes imported project.
|
373
399
|
|
374
400
|
```
|
375
|
-
|
376
|
-
|
401
|
+
$> veye github delete versioneye/veye
|
402
|
+
$> veye github delete versioneye/veye --branch=dev
|
377
403
|
```
|
378
404
|
|
379
|
-
|
405
|
+
#### Search
|
380
406
|
|
381
|
-
This command makes authorized request to the Github search api for repositories. As authorized user, you can make up to *5000* request per hour.
|
407
|
+
This command makes authorized request to the Github search api for repositories. As authorized user, you can make up to *5000* request per hour.
|
382
408
|
|
383
409
|
```
|
384
|
-
|
385
|
-
|
386
|
-
|
410
|
+
$> veye github search versioneye
|
411
|
+
|
412
|
+
;; filter results by language
|
413
|
+
$> veye github search json --language=php --page=2
|
414
|
+
|
415
|
+
;; filter results by users
|
416
|
+
$> veye github search veye --user versioneye
|
387
417
|
```
|
418
|
+
|
419
|
+
# Contibuting
|
420
|
+
|
421
|
+
All contributions are welcome - comments, new ideas, help with documentation & help with features;
|
422
|
+
|
423
|
+
# License
|
424
|
+
The MIT License (MIT)
|
425
|
+
|
426
|
+
Copyright (c)2015 **VersionEye GMHB**
|
427
|
+
|
428
|
+
|
429
|
+
[MIT licence](http://choosealicense.com/licenses/mit/)
|
data/bin/veye
CHANGED
@@ -115,6 +115,29 @@ command :info do |c|
|
|
115
115
|
end
|
116
116
|
end
|
117
117
|
|
118
|
+
desc 'check a references of package'
|
119
|
+
arg_name 'product_key'
|
120
|
+
command :references do |c|
|
121
|
+
c.desc "change output format"
|
122
|
+
c.flag [:format, 'format-name'], :default_value => 'pretty'
|
123
|
+
|
124
|
+
c.desc "page number for pagination"
|
125
|
+
c.flag [:page, 'page-number'], :default_value => 1
|
126
|
+
|
127
|
+
c.desc "show paging information"
|
128
|
+
c.switch [:pagination, 'show-pagination'], :default_value => true,
|
129
|
+
:negatable => true
|
130
|
+
|
131
|
+
|
132
|
+
c.action do |global_options, options, args|
|
133
|
+
error_msg = Rainbow("package_key is missing").red
|
134
|
+
help_now!(error_msg) if args.empty?
|
135
|
+
package_key = args.shift
|
136
|
+
response = Veye::Package::References.get_references(package_key, options)
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
|
118
141
|
desc 'analyzes given project file and returns version info'
|
119
142
|
arg_name 'product_file'
|
120
143
|
|
data/lib/veye/package/info.rb
CHANGED
@@ -23,9 +23,9 @@ module Veye
|
|
23
23
|
You missed language or product key.
|
24
24
|
Example: clojure/ztellman/aleph, which as required structure <prog lang>/<product_code>
|
25
25
|
]
|
26
|
-
error_msg =
|
26
|
+
error_msg = sprintf("%s. \n%s",
|
27
27
|
"Error: Malformed key.".color(:red),
|
28
|
-
|
28
|
+
msg)
|
29
29
|
exit_now!(error_msg)
|
30
30
|
end
|
31
31
|
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require_relative '../views/package.rb'
|
2
|
+
require_relative '../base_executor.rb'
|
3
|
+
|
4
|
+
module Veye
|
5
|
+
module Package
|
6
|
+
class References < BaseExecutor
|
7
|
+
@@output_formats = {
|
8
|
+
'csv' => Package::ReferencesCSV.new,
|
9
|
+
'json' => Package::ReferencesJSON.new,
|
10
|
+
'pretty' => Package::ReferencesPretty.new,
|
11
|
+
'table' => Package::ReferencesTable.new
|
12
|
+
}
|
13
|
+
|
14
|
+
def self.validate_input!(lang, safe_prod_key)
|
15
|
+
if lang.nil? or safe_prod_key.nil?
|
16
|
+
msg = %Q[
|
17
|
+
You missed language or product key.
|
18
|
+
Example: clojure/ztellman/aleph, which as required structure
|
19
|
+
<prog lang>/<product_code>
|
20
|
+
]
|
21
|
+
error_msg = sprintf("%s. \n%s",
|
22
|
+
"Error: Malformed key.".color(:red),
|
23
|
+
msg)
|
24
|
+
exit_now!(error_msg)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.get_references(package_key, options = {})
|
29
|
+
product_api = API::Resource.new(RESOURCE_PATH)
|
30
|
+
|
31
|
+
tokens = package_key.to_s.split('/')
|
32
|
+
lang = Package.encode_language(tokens.first).capitalize #endpoint bug
|
33
|
+
|
34
|
+
safe_prod_key = Package.encode_prod_key(tokens.drop(1).join("/"))
|
35
|
+
validate_input!(lang, safe_prod_key)
|
36
|
+
|
37
|
+
api_path = "/#{lang}/#{safe_prod_key}/references"
|
38
|
+
page_nr = options[:page] || "1"
|
39
|
+
qparams = {params: {page: page_nr}}
|
40
|
+
results = nil
|
41
|
+
|
42
|
+
product_api.resource[api_path].get(qparams) do |response, request, result, &block|
|
43
|
+
results = API::JSONResponse.new(request, result, response)
|
44
|
+
end
|
45
|
+
|
46
|
+
catch_request_error(results, "No references for: `#{package_key}`")
|
47
|
+
show_results(@@output_formats, results.data, options, results.data['paging'])
|
48
|
+
return results
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
data/lib/veye/package.rb
CHANGED
@@ -1,23 +1,24 @@
|
|
1
1
|
require_relative 'package/info.rb'
|
2
2
|
require_relative 'package/search.rb'
|
3
3
|
require_relative 'package/follow.rb'
|
4
|
+
require_relative 'package/references.rb'
|
4
5
|
|
5
6
|
# -- define module constants here
|
6
7
|
module Veye
|
7
8
|
module Package
|
8
9
|
RESOURCE_PATH = "/products"
|
9
|
-
|
10
|
+
|
10
11
|
def supported_languages
|
11
12
|
Set.new ["Clojure", "Java", "Javascript", "Node.JS", "PHP", "Python", "Ruby", "R"]
|
12
13
|
end
|
13
14
|
|
14
15
|
def self.encode_prod_key(prod_key)
|
15
16
|
prod_key = prod_key.to_s
|
16
|
-
prod_key.gsub(/\//, ":").gsub(/\./, "~")
|
17
|
+
prod_key.gsub(/\//, ":").gsub(/\./, "~")
|
17
18
|
end
|
18
19
|
|
19
20
|
def self.encode_language(lang)
|
20
|
-
lang.gsub(/\./, "").downcase
|
21
|
+
lang.gsub(/\./, "").downcase
|
21
22
|
end
|
22
23
|
end
|
23
24
|
end
|
data/lib/veye/version.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
module Veye
|
2
|
-
VERSION = '0.0.
|
2
|
+
VERSION = '0.0.9'
|
3
3
|
BIGEYE = %q{
|
4
4
|
|
5
|
-
_ __ _ ______
|
6
|
-
| | / /___ _____ _____ (_)____ ____ / ____/__ __ ___
|
5
|
+
_ __ _ ______
|
6
|
+
| | / /___ _____ _____ (_)____ ____ / ____/__ __ ___
|
7
7
|
| | / // _ \ / ___// ___// // __ \ / __ \ / __/ / / / // _ \
|
8
8
|
| |/ // __// / (__ )/ // /_/ // / / // /___ / /_/ // __/
|
9
|
-
|___/ \___//_/ /____//_/ \____//_/ /_//_____/ \__, / \___/
|
10
|
-
/____/
|
9
|
+
|___/ \___//_/ /____//_/ \____//_/ /_//_____/ \__, / \___/
|
10
|
+
/____/
|
11
11
|
|
12
12
|
}
|
13
13
|
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require_relative '../base_csv.rb'
|
2
|
+
|
3
|
+
module Veye
|
4
|
+
module Package
|
5
|
+
class ReferencesCSV < BaseCSV
|
6
|
+
def initialize
|
7
|
+
headers = "nr,name,language,prod_key,prod_type,version"
|
8
|
+
super(headers)
|
9
|
+
end
|
10
|
+
|
11
|
+
def format(response)
|
12
|
+
items = response['results']
|
13
|
+
return if items.nil?
|
14
|
+
|
15
|
+
items.each_with_index do |result, index|
|
16
|
+
printf("%d,%s,%s,%s,%s,%s\n",
|
17
|
+
index + 1,
|
18
|
+
result["name"],
|
19
|
+
result["language"],
|
20
|
+
result["prod_key"],
|
21
|
+
result["prod_type"],
|
22
|
+
result["version"])
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require_relative '../base_pretty.rb'
|
2
|
+
|
3
|
+
module Veye
|
4
|
+
module Package
|
5
|
+
class ReferencesPretty < BasePretty
|
6
|
+
def format(results)
|
7
|
+
items = results['results']
|
8
|
+
return if items.nil?
|
9
|
+
|
10
|
+
items.each_with_index do |result, index|
|
11
|
+
printf("%3d - %s\n",
|
12
|
+
index + 1,
|
13
|
+
"#{result["name"]}".color(:green).bright)
|
14
|
+
printf("\t%-15s: %s\n", "Product key", result["prod_key"].bright)
|
15
|
+
printf("\t%-15s: %s\n", "Product type", "#{result['prod_type']}")
|
16
|
+
printf("\t%-15s: %s\n", "Language", result["language"])
|
17
|
+
printf("\t%-15s: %s\n", "Version", "#{result['version']}".bright)
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require_relative '../base_table.rb'
|
2
|
+
|
3
|
+
module Veye
|
4
|
+
module Package
|
5
|
+
class ReferencesTable < BaseTable
|
6
|
+
def initialize
|
7
|
+
headings = %w(index name version product_key product_type language)
|
8
|
+
super("Package references", headings)
|
9
|
+
end
|
10
|
+
|
11
|
+
def format(results)
|
12
|
+
items = results['results']
|
13
|
+
return if items.nil?
|
14
|
+
items.each_with_index do |result, index|
|
15
|
+
row = [index+1, result["name"], result["version"], result["prod_key"]]
|
16
|
+
row << result["prod_type"]
|
17
|
+
row << result["language"]
|
18
|
+
|
19
|
+
@table << row
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
data/lib/veye/views/package.rb
CHANGED
@@ -8,7 +8,13 @@ require_relative 'package/search_json.rb'
|
|
8
8
|
require_relative 'package/search_pretty.rb'
|
9
9
|
require_relative 'package/search_table.rb'
|
10
10
|
|
11
|
+
require_relative 'package/references_csv.rb'
|
12
|
+
require_relative 'package/references_json.rb'
|
13
|
+
require_relative 'package/references_pretty.rb'
|
14
|
+
require_relative 'package/references_table.rb'
|
15
|
+
|
16
|
+
|
11
17
|
module Veye
|
12
18
|
module Github
|
13
19
|
end
|
14
|
-
end
|
20
|
+
end
|
@@ -4,7 +4,7 @@ module Veye
|
|
4
4
|
module Project
|
5
5
|
class InfoMarkdown < BaseMarkdown
|
6
6
|
def initialize
|
7
|
-
headings = %w(index name project_key project_type
|
7
|
+
headings = %w(index name project_key project_type public period source dependencies outdated created)
|
8
8
|
super("Project's information", headings)
|
9
9
|
end
|
10
10
|
|
@@ -18,7 +18,7 @@ module Veye
|
|
18
18
|
result["name"],
|
19
19
|
result["project_key"],
|
20
20
|
result["project_type"],
|
21
|
-
result["
|
21
|
+
result["public"].to_s,
|
22
22
|
result["period"],
|
23
23
|
result["source"],
|
24
24
|
result["dep_number"].to_s,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: veye
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- VersionEye GMBH
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2015-07-03 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
@@ -145,16 +145,13 @@ email: reiz@versioneye.com
|
|
145
145
|
executables:
|
146
146
|
- veye
|
147
147
|
extensions: []
|
148
|
-
extra_rdoc_files:
|
149
|
-
- README.rdoc
|
150
|
-
- veye.rdoc
|
148
|
+
extra_rdoc_files: []
|
151
149
|
files:
|
152
150
|
- DEPENDENCIES.md
|
153
151
|
- Gemfile
|
154
152
|
- Gemfile.lock
|
155
153
|
- Makefile
|
156
154
|
- README.md
|
157
|
-
- README.rdoc
|
158
155
|
- Rakefile
|
159
156
|
- bin/veye
|
160
157
|
- lib/veye.rb
|
@@ -175,6 +172,7 @@ files:
|
|
175
172
|
- lib/veye/package.rb
|
176
173
|
- lib/veye/package/follow.rb
|
177
174
|
- lib/veye/package/info.rb
|
175
|
+
- lib/veye/package/references.rb
|
178
176
|
- lib/veye/package/search.rb
|
179
177
|
- lib/veye/pagination.rb
|
180
178
|
- lib/veye/pagination/pagination_csv.rb
|
@@ -212,6 +210,10 @@ files:
|
|
212
210
|
- lib/veye/views/package/info_json.rb
|
213
211
|
- lib/veye/views/package/info_pretty.rb
|
214
212
|
- lib/veye/views/package/info_table.rb
|
213
|
+
- lib/veye/views/package/references_csv.rb
|
214
|
+
- lib/veye/views/package/references_json.rb
|
215
|
+
- lib/veye/views/package/references_pretty.rb
|
216
|
+
- lib/veye/views/package/references_table.rb
|
215
217
|
- lib/veye/views/package/search_csv.rb
|
216
218
|
- lib/veye/views/package/search_json.rb
|
217
219
|
- lib/veye/views/package/search_pretty.rb
|
@@ -244,18 +246,12 @@ files:
|
|
244
246
|
- test/files/Gemfile
|
245
247
|
- test/files/maven-1.0.1.pom.xml
|
246
248
|
- test/test_helper.rb
|
247
|
-
- veye.rdoc
|
248
249
|
homepage: https://github.com/versioneye/veye
|
249
250
|
licenses:
|
250
251
|
- MIT
|
251
252
|
metadata: {}
|
252
253
|
post_install_message: 'Thanks for installing! To get more info, use: veye help'
|
253
|
-
rdoc_options:
|
254
|
-
- "--title"
|
255
|
-
- veye
|
256
|
-
- "--main"
|
257
|
-
- README.rdoc
|
258
|
-
- "-ri"
|
254
|
+
rdoc_options: []
|
259
255
|
require_paths:
|
260
256
|
- lib
|
261
257
|
- lib
|
@@ -271,7 +267,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
271
267
|
version: '0'
|
272
268
|
requirements: []
|
273
269
|
rubyforge_project:
|
274
|
-
rubygems_version: 2.
|
270
|
+
rubygems_version: 2.4.3
|
275
271
|
signing_key:
|
276
272
|
specification_version: 4
|
277
273
|
summary: Commandline tool for VersionEye
|
data/README.rdoc
DELETED