veye 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +2 -0
  3. data/Gemfile.lock +51 -0
  4. data/README.md +271 -0
  5. data/README.rdoc +6 -0
  6. data/Rakefile +44 -0
  7. data/bin/veye +390 -0
  8. data/lib/veye/api/base_resource.rb +29 -0
  9. data/lib/veye/api/json_response.rb +56 -0
  10. data/lib/veye/api/resource.rb +22 -0
  11. data/lib/veye/api.rb +3 -0
  12. data/lib/veye/package/follow.rb +50 -0
  13. data/lib/veye/package/info.rb +50 -0
  14. data/lib/veye/package/info_csv.rb +18 -0
  15. data/lib/veye/package/info_json.rb +14 -0
  16. data/lib/veye/package/info_pretty.rb +27 -0
  17. data/lib/veye/package/info_table.rb +29 -0
  18. data/lib/veye/package/search.rb +46 -0
  19. data/lib/veye/package/search_csv.rb +33 -0
  20. data/lib/veye/package/search_json.rb +19 -0
  21. data/lib/veye/package/search_pretty.rb +35 -0
  22. data/lib/veye/package/search_table.rb +40 -0
  23. data/lib/veye/package.rb +23 -0
  24. data/lib/veye/pagination/pagination_csv.rb +17 -0
  25. data/lib/veye/pagination/pagination_json.rb +12 -0
  26. data/lib/veye/pagination/pagination_pretty.rb +22 -0
  27. data/lib/veye/pagination/pagination_table.rb +22 -0
  28. data/lib/veye/pagination/show.rb +26 -0
  29. data/lib/veye/pagination.rb +7 -0
  30. data/lib/veye/project/check.rb +147 -0
  31. data/lib/veye/project/licence.rb +48 -0
  32. data/lib/veye/project/project_csv.rb +28 -0
  33. data/lib/veye/project/project_dependency_csv.rb +25 -0
  34. data/lib/veye/project/project_dependency_json.rb +12 -0
  35. data/lib/veye/project/project_dependency_pretty.rb +30 -0
  36. data/lib/veye/project/project_dependency_table.rb +27 -0
  37. data/lib/veye/project/project_json.rb +13 -0
  38. data/lib/veye/project/project_licence_csv.rb +19 -0
  39. data/lib/veye/project/project_licence_json.rb +12 -0
  40. data/lib/veye/project/project_licence_pretty.rb +23 -0
  41. data/lib/veye/project/project_licence_table.rb +29 -0
  42. data/lib/veye/project/project_pretty.rb +28 -0
  43. data/lib/veye/project/project_table.rb +30 -0
  44. data/lib/veye/project.rb +11 -0
  45. data/lib/veye/service.rb +14 -0
  46. data/lib/veye/user/favorite_csv.rb +28 -0
  47. data/lib/veye/user/favorite_json.rb +14 -0
  48. data/lib/veye/user/favorite_pretty.rb +25 -0
  49. data/lib/veye/user/favorite_table.rb +28 -0
  50. data/lib/veye/user/me.rb +75 -0
  51. data/lib/veye/user/profile_csv.rb +21 -0
  52. data/lib/veye/user/profile_json.rb +14 -0
  53. data/lib/veye/user/profile_pretty.rb +31 -0
  54. data/lib/veye/user/profile_table.rb +34 -0
  55. data/lib/veye/user.rb +7 -0
  56. data/lib/veye/version.rb +13 -0
  57. data/lib/veye.rb +82 -0
  58. data/test/default_test.rb +14 -0
  59. data/test/files/Gemfile +20 -0
  60. data/test/files/maven-1.0.1.pom +128 -0
  61. data/test/test_helper.rb +9 -0
  62. data/veye.rdoc +5 -0
  63. metadata +229 -0
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZDYwMzRlOWM5ZTI0MDI5OTMyNTIzYTVjMDhmYjRlYWJhYjE0YzM3OA==
5
+ data.tar.gz: !binary |-
6
+ N2QyYWE5NmZjMzgwODg1MDlkMjNjM2Q5YjgxZWE1ZjI0OTc4YjIwOQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ YWI3ZmZlYWY4YmY0YzY1MTUzMzUxYjkwOWY1OTllODhhZjZjYTMzOTE1MDJl
10
+ NDRmOWQ2NjA3OWY1N2E5YWY5NzJjY2YyOTRhNjY4YmQyMTVkYmI3MTVhZmUx
11
+ NDdkNmUyMGE0MGI1YjBkMTNhMmM0Njk5MDE3MTA2ODk3ODhhYTc=
12
+ data.tar.gz: !binary |-
13
+ YzZjYWVmZTIyMGU2ZjI4NGY4Y2JkNGFkZGQ1NzIzOTMyMWU2OTU5MDg4NGMy
14
+ NDRiNDNjYzkxNmUyYzNjZmMwM2FhMzc2ODg0ZTA3YzM0YWM5MjExMzRkMjk1
15
+ NTg3NWI2YTAwNjQ1YTEyYTM5YmQzZGE5ZTVlZmFlYWE2ZjM1MmM=
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,51 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ veye (0.0.2)
5
+ awesome_print (= 1.2.0)
6
+ gli (= 2.8.0)
7
+ rainbow
8
+ rest-client (= 1.6.7)
9
+ terminal-table (= 1.4.5)
10
+
11
+ GEM
12
+ remote: https://rubygems.org/
13
+ specs:
14
+ aruba (0.5.1)
15
+ childprocess (~> 0.3.6)
16
+ cucumber (>= 1.1.1)
17
+ rspec-expectations (>= 2.7.0)
18
+ awesome_print (1.2.0)
19
+ builder (3.1.4)
20
+ childprocess (0.3.6)
21
+ ffi (~> 1.0, >= 1.0.6)
22
+ cucumber (1.2.1)
23
+ builder (>= 2.1.2)
24
+ diff-lcs (>= 1.1.3)
25
+ gherkin (~> 2.11.0)
26
+ json (>= 1.4.6)
27
+ diff-lcs (1.1.3)
28
+ ffi (1.3.0)
29
+ gherkin (2.11.5)
30
+ json (>= 1.4.6)
31
+ gli (2.8.0)
32
+ json (1.7.6)
33
+ mime-types (1.25)
34
+ rainbow (1.1.4)
35
+ rake (10.0.3)
36
+ rdoc (3.12)
37
+ json (~> 1.4)
38
+ rest-client (1.6.7)
39
+ mime-types (>= 1.16)
40
+ rspec-expectations (2.12.1)
41
+ diff-lcs (~> 1.1.3)
42
+ terminal-table (1.4.5)
43
+
44
+ PLATFORMS
45
+ ruby
46
+
47
+ DEPENDENCIES
48
+ aruba
49
+ rake
50
+ rdoc
51
+ veye!
data/README.md ADDED
@@ -0,0 +1,271 @@
1
+ # Veye
2
+
3
+ [VersionEye](http://www.versioneye.com/) is a cross-platform search engine and crowdsourcing app for opensource software libraries.
4
+
5
+ * Take advantage of the extended search to find any library you look for.
6
+ * Follow and track your favorite software packages via RSS feed.
7
+ * Leave comments and add additional meta information to the libraries to improve the quality of the data.
8
+ * Contribute to this crowdsourcing project to make the world a better place for software developers.
9
+
10
+
11
+ **veye** is commandline tool to make all this available on command-line and manipulate results with awesome tools and scripts.
12
+
13
+ **PS:** Our _premium customers_ can also use offline search. Please send your email to `contact@versioneye.com` to get more information.
14
+
15
+ Most endpoints require the api-key, which you can get [here](https://www.versioneye.com/settings/api).
16
+
17
+ ![Main help](http://dl.dropbox.com/u/19578784/versioneye/cli_start_page.png)
18
+
19
+
20
+ ### Install
21
+
22
+
23
+ ```
24
+ $> gem install veye
25
+ ```
26
+
27
+ ### Using dev-version
28
+
29
+ ###### Download source
30
+
31
+ ```bash
32
+ $> git clone https://github.com/versioneye/veye.git
33
+ $> cd veye
34
+ ```
35
+
36
+ ###### Run without installing
37
+ ```
38
+ $> bundle
39
+ $> bundle exec bin/veye ping
40
+ ```
41
+
42
+ ###### Or build Gem file and install it as global command
43
+
44
+ ```
45
+ $> gem build veye.gemspec
46
+ $> veye help
47
+ $> veye ping
48
+ ```
49
+
50
+ ### Initial configuration
51
+
52
+ The tool will raise exception when a configuration file is missing. The tool needs configuration file to keep user specific settings and authorization key.
53
+
54
+
55
+ ```
56
+ $> veye initconfig
57
+ #it creates configuration file for VersionEye CLI
58
+ $> cat ~/.veye.rc
59
+ :api_key: <add your key>
60
+ :server: 127.0.0.1
61
+ :port: "3000"
62
+ ....
63
+ ```
64
+
65
+ # Basic usage
66
+
67
+
68
+ ### Check service
69
+ You can use this service to check does the tool works and tests is our API accessible. This command doesnt need authorization.
70
+
71
+ ```bash
72
+ $> veye ping
73
+ pong
74
+ ```
75
+
76
+ ### Search packages
77
+
78
+ This command opens window to magnificient world of software packages - VersionEye has ~ 200K software libraries and it's reachable via your commandline.
79
+
80
+ ###### Get command help
81
+
82
+ ```bash
83
+ $> veye search help
84
+ ```
85
+
86
+ ###### Basic package search with language filtering
87
+
88
+ ```bash
89
+ $> veye search junit
90
+ $> veye search -l java
91
+ $> veye search --language java
92
+ $> veye search --language-name=java
93
+
94
+ #search packages for multiple languages
95
+ $> veye search --lang=nodejs,php
96
+ ```
97
+
98
+ ###### Use result paging
99
+
100
+ ```
101
+ $> veye search junit --page 2
102
+ $> veye search junit --page-number=2
103
+ $> veye search json --lang=r,php --page=2
104
+
105
+ #you can cancel pagination with --no-pagination argument
106
+ $> veye search junit --page 3 --no-pagination
107
+ ```
108
+
109
+ ###### Use different output format
110
+
111
+ **pretty print** - human readable output
112
+
113
+ ```bash
114
+ $> veye search json --format=pretty
115
+ ```
116
+
117
+ ![Pretty format](https://s3-eu-west-1.amazonaws.com/veye/search_format_pretty.png)
118
+
119
+ **csv** - to pipeline output to [awk](http://www.gnu.org/software/gawk/manual/gawk.html)
120
+
121
+ ```bash
122
+ $> veye search json --format=csv
123
+ ```
124
+
125
+ ![CSV format](https://s3-eu-west-1.amazonaws.com/veye/search_format_csv.png)
126
+
127
+ **json** - for manipulating results with [jq](http://stedolan.github.com/jq/) .
128
+ Check out our jq recipes in [wiki](https://github.com/versioneye/veye/wiki/jq-recipes) .
129
+
130
+
131
+ ```bash
132
+ $> veye search json --format=json
133
+ ```
134
+
135
+ ![Json format](https://s3-eu-west-1.amazonaws.com/veye/search_format_json.png)
136
+
137
+ **table view**
138
+
139
+ ```bash
140
+ $> veye search json --format=table
141
+ ```
142
+ ![Table output](https://s3-eu-west-1.amazonaws.com/veye/search_format_table.png)
143
+
144
+
145
+ ###### Empty response
146
+
147
+ There will be situation, when [VersionEye](http://versioneye.com) dont have information about your search, then you will see similar response on commandline:
148
+
149
+ ```
150
+ No results for 'json' with given parameters:
151
+ {:q=>"json", :lang=>"python", :page=>1}
152
+ ```
153
+
154
+ ### Global options
155
+
156
+ You can override your default global options by adding proper keyword and value.
157
+ For example to override a number of port, when doing search:
158
+
159
+ ```
160
+ $> veye --port=4567 search json --lang=php,nodejs
161
+ ```
162
+
163
+ ### Package information
164
+
165
+ 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`.
166
+
167
+
168
+ It supports also `--format` flag with same values.
169
+
170
+ ```
171
+ $> veye info java/junit/junit
172
+ Asking information about: junit/junit
173
+ ```
174
+
175
+ ![Pretty print](https://s3-eu-west-1.amazonaws.com/veye/info_format_pretty2.png)
176
+
177
+
178
+ ### Products
179
+
180
+ This command has subcommands to control your personal connections with libraries.
181
+
182
+ ```
183
+ ;;follow some package to add it into your RSS feed
184
+ $> veye products follow clojure/ztellman/aleph
185
+ $> veye products unfollow clojure/ztellman/aleph
186
+
187
+ ;; show the list of products in your's RSS feed
188
+ $> veye products
189
+ ```
190
+
191
+ ### Check
192
+
193
+ 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.
194
+
195
+ ```
196
+ $> veye check test/files/Gemfile
197
+ ```
198
+
199
+ ### Project
200
+
201
+ The `project` command holds a multiple subcommands for working with our project files.
202
+
203
+ ###### show existing projects
204
+
205
+ ```
206
+ $> veye projects list
207
+ $> veye projects --format=table
208
+ ```
209
+
210
+ ###### show information of specific project
211
+
212
+ A `show` command expects a proper project_key, which you can from the list of already existing projects.
213
+
214
+ ```
215
+ $> veye projects show rubygem_gemfile_1
216
+ $> veye projects show rubygem_gemfile_1 --format=table
217
+ ```
218
+
219
+ ###### upload project file
220
+
221
+ 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.
222
+
223
+ ```
224
+ $> veye projects upload test/files/Gemfile
225
+ $> veye projects upload test/files/maven.pom
226
+ ```
227
+
228
+ ###### re-upload project file for existing project
229
+
230
+ You can use `update` command to update the information of already existing project.
231
+ This command expects correct project_key and a path to file.
232
+
233
+ ```
234
+ $> veye projects update rubygem_gemfile_1 test/files/Gemfile
235
+ $> veye projects update rubygem_gemfile_1 test/files/Gemfile --format=table
236
+ ```
237
+
238
+ ###### Delete project
239
+
240
+ This command removes the specified project from your project's list.
241
+
242
+ ```
243
+ $> veye projects delete rubygem_gemfile_1
244
+ Deleted
245
+ ```
246
+
247
+ ###### Licences
248
+
249
+ `licence` command returns all licenses used in your project.
250
+
251
+ ```
252
+ $> veye projects licences rubygem_gemfile_1 --format=table
253
+ ```
254
+
255
+
256
+ ### Me
257
+
258
+ `me` command returns short overview of your profile and your current payment plan.
259
+
260
+ ```
261
+ $> veye me
262
+ ```
263
+
264
+ ####### Favorite packages
265
+
266
+ `me` command has a `favorite` command, which returns all packages you're currently following.
267
+
268
+ ```
269
+ $> veye me favorites
270
+ $> veye me favorites --page=2
271
+ ```
data/README.rdoc ADDED
@@ -0,0 +1,6 @@
1
+ = veye
2
+
3
+ Describe your project here
4
+
5
+ :include:veye.rdoc
6
+
data/Rakefile ADDED
@@ -0,0 +1,44 @@
1
+ require 'rake/clean'
2
+ require 'rubygems'
3
+ require 'rubygems/package_task'
4
+ require 'rdoc/task'
5
+ require 'cucumber'
6
+ require 'cucumber/rake/task'
7
+ Rake::RDocTask.new do |rd|
8
+ rd.main = "README.rdoc"
9
+ rd.rdoc_files.include("README.rdoc","lib/**/*.rb","bin/**/*")
10
+ rd.title = 'VersionEye Commandline Tool'
11
+ end
12
+
13
+ spec = eval(File.read('veye.gemspec'))
14
+
15
+ Gem::PackageTask.new(spec) do |pkg|
16
+ end
17
+ CUKE_RESULTS = 'results.html'
18
+ CLEAN << CUKE_RESULTS
19
+ desc 'Run features'
20
+ Cucumber::Rake::Task.new(:features) do |t|
21
+ opts = "features --format html -o #{CUKE_RESULTS} --format progress -x"
22
+ opts += " --tags #{ENV['TAGS']}" if ENV['TAGS']
23
+ t.cucumber_opts = opts
24
+ t.fork = false
25
+ end
26
+
27
+ desc 'Run features tagged as work-in-progress (@wip)'
28
+ Cucumber::Rake::Task.new('features:wip') do |t|
29
+ tag_opts = ' --tags ~@pending'
30
+ tag_opts = ' --tags @wip'
31
+ t.cucumber_opts = "features --format html -o #{CUKE_RESULTS} --format pretty -x -s#{tag_opts}"
32
+ t.fork = false
33
+ end
34
+
35
+ task :cucumber => :features
36
+ task 'cucumber:wip' => 'features:wip'
37
+ task :wip => 'features:wip'
38
+ require 'rake/testtask'
39
+ Rake::TestTask.new do |t|
40
+ t.libs << "test"
41
+ t.test_files = FileList['test/*_test.rb']
42
+ end
43
+
44
+ task :default => [:test,:features]