exercism 0.0.27 → 0.0.28
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/exercism +14 -0
- data/lib/cli.rb +21 -2
- data/lib/exercism/api.rb +7 -0
- data/lib/exercism/version.rb +1 -1
- data/test/exercism/api_test.rb +10 -2
- data/test/fixtures/vcr_cassettes/alice-gets-current-assignments.yml +39 -0
- metadata +5 -2
data/bin/exercism
CHANGED
@@ -13,3 +13,17 @@ rescue StandardError => e
|
|
13
13
|
puts
|
14
14
|
raise e if ENV['EXERCISM_ENV'] =~ /test|development/
|
15
15
|
end
|
16
|
+
|
17
|
+
puts <<-DEPRECATED
|
18
|
+
|
19
|
+
The exercism ruby gem has been deprecated.
|
20
|
+
|
21
|
+
Please uninstall the gem, and install the latest CLI
|
22
|
+
from https://github.com/exercism/cli/releases/latest
|
23
|
+
|
24
|
+
For more info about getting started with the CLI, see
|
25
|
+
http://exercism.io/help/how-to-access-exercises
|
26
|
+
|
27
|
+
Thanks!
|
28
|
+
|
29
|
+
DEPRECATED
|
data/lib/cli.rb
CHANGED
@@ -122,6 +122,20 @@ class Exercism
|
|
122
122
|
puts "You are not logged in."
|
123
123
|
end
|
124
124
|
|
125
|
+
desc "current", "Get the current exercise that you are on"
|
126
|
+
method_option :host, :aliases => '-h', :default => 'http://exercism.io', :desc => 'the url of the exercism application'
|
127
|
+
def current
|
128
|
+
require 'exercism'
|
129
|
+
|
130
|
+
result = Exercism::Api.new(options[:host], Exercism.user).current
|
131
|
+
body = JSON.parse(result.body)
|
132
|
+
puts "Current Assignments"
|
133
|
+
body['assignments'].each do |assignment|
|
134
|
+
track = assignment['track']
|
135
|
+
puts "Language: " + track.ljust(17) + "Exercise: " + assignment['slug']
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
125
139
|
desc "stash [SUBCOMMAND]", "Stash or apply code that is in-progress"
|
126
140
|
subcommand "stash", Stash
|
127
141
|
|
@@ -166,7 +180,12 @@ class Exercism
|
|
166
180
|
end
|
167
181
|
end
|
168
182
|
end
|
169
|
-
end
|
170
183
|
|
171
|
-
|
184
|
+
def spacing(track)
|
185
|
+
len = 17 - track.length
|
186
|
+
space = ''
|
187
|
+
len.times {space += ' '}
|
188
|
+
space
|
189
|
+
end
|
190
|
+
end
|
172
191
|
end
|
data/lib/exercism/api.rb
CHANGED
data/lib/exercism/version.rb
CHANGED
data/test/exercism/api_test.rb
CHANGED
@@ -75,6 +75,16 @@ class ApiTest < Minitest::Test
|
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
|
+
def test_get_current_assignments
|
79
|
+
Exercism.stub(:home, home) do
|
80
|
+
VCR.use_cassette('alice-gets-current-assignments') do
|
81
|
+
response = Exercism::Api.new('http://localhost:4567', Exercism.user).current
|
82
|
+
body = JSON.parse(response.body)
|
83
|
+
assert_equal 200, response.status
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
78
88
|
def test_save_stash_to_api
|
79
89
|
submission = File.join(FileUtils.pwd, 'bob.rb')
|
80
90
|
File.open(submission, 'w') do |f|
|
@@ -116,6 +126,4 @@ class ApiTest < Minitest::Test
|
|
116
126
|
end
|
117
127
|
end
|
118
128
|
end
|
119
|
-
|
120
|
-
|
121
129
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://localhost:4567/api/v1/user/assignments/current?key=634abfb095ed621e1c793c9875fcd9fda455ea90
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- github.com/kytrinyx/exercism CLI v0.0.26
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- ! '*/*'
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Content-Type:
|
22
|
+
- application/json;charset=utf-8
|
23
|
+
Content-Length:
|
24
|
+
- '18'
|
25
|
+
X-Content-Type-Options:
|
26
|
+
- nosniff
|
27
|
+
Set-Cookie:
|
28
|
+
- rack.session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRiJFY2UzMTdhMTc3ZjlkMTZkYjc1ZjFk%0AMDcwNGIxM2I1OTRmMWZmMDFlNGYyYjJkNTIwZWUwYTc4MWVmZTIzZDU1YUki%0ADXRyYWNraW5nBjsARnsISSIUSFRUUF9VU0VSX0FHRU5UBjsARiItZjYxZWRk%0AYzg2NjFhZjU5M2JlYzNlZTY0MzIyZjgxZTBkNDBmMDdlMkkiGUhUVFBfQUND%0ARVBUX0VOQ09ESU5HBjsARiItZGRkMDk4OTE3NGYxOWE1YjE4NzkxMjEzY2M0%0AMGM1YTYwOWQyNTQ2Y0kiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsARiItZGEz%0AOWEzZWU1ZTZiNGIwZDMyNTViZmVmOTU2MDE4OTBhZmQ4MDcwOQ%3D%3D%0A--dff0a93591a346db42fd626ac38bcafc962c3467;
|
29
|
+
path=/; HttpOnly
|
30
|
+
Connection:
|
31
|
+
- keep-alive
|
32
|
+
Server:
|
33
|
+
- thin 1.5.1 codename Straight Razor
|
34
|
+
body:
|
35
|
+
encoding: US-ASCII
|
36
|
+
string: ! '{"assignments":[]}'
|
37
|
+
http_version:
|
38
|
+
recorded_at: Tue, 24 Sep 2013 01:23:54 GMT
|
39
|
+
recorded_with: VCR 2.5.0
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exercism
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.28
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-11-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
@@ -228,6 +228,7 @@ files:
|
|
228
228
|
- test/fixtures/home/.exercism
|
229
229
|
- test/fixtures/ruby/bob/bob.rb
|
230
230
|
- test/fixtures/vcr_cassettes/alice-gets-bob.yml
|
231
|
+
- test/fixtures/vcr_cassettes/alice-gets-current-assignments.yml
|
231
232
|
- test/fixtures/vcr_cassettes/alice-gets-stash-list.yml
|
232
233
|
- test/fixtures/vcr_cassettes/alice-gets-stash.yml
|
233
234
|
- test/fixtures/vcr_cassettes/alice-gets-word-count.yml
|
@@ -274,9 +275,11 @@ test_files:
|
|
274
275
|
- test/fixtures/home/.exercism
|
275
276
|
- test/fixtures/ruby/bob/bob.rb
|
276
277
|
- test/fixtures/vcr_cassettes/alice-gets-bob.yml
|
278
|
+
- test/fixtures/vcr_cassettes/alice-gets-current-assignments.yml
|
277
279
|
- test/fixtures/vcr_cassettes/alice-gets-stash-list.yml
|
278
280
|
- test/fixtures/vcr_cassettes/alice-gets-stash.yml
|
279
281
|
- test/fixtures/vcr_cassettes/alice-gets-word-count.yml
|
280
282
|
- test/fixtures/vcr_cassettes/alice-submits-bob.yml
|
281
283
|
- test/fixtures/vcr_cassettes/alice-submits-stash.yml
|
282
284
|
- test/test_helper.rb
|
285
|
+
has_rdoc:
|