exercism 0.0.12 → 0.0.13
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.
- data/exercism.gemspec +2 -2
- data/lib/cli.rb +9 -0
- data/lib/exercism/assignment.rb +2 -4
- data/lib/exercism/version.rb +1 -1
- data/test/exercism/api_test.rb +1 -1
- data/test/exercism/assignment_test.rb +11 -3
- data/test/exercism/config_test.rb +1 -1
- data/test/exercism_test.rb +1 -1
- data/test/test_helper.rb +1 -1
- metadata +26 -9
- checksums.yaml +0 -15
data/exercism.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["katrina.owen@gmail.com"]
|
11
11
|
spec.description = %q{Client gem for the exercism.io app}
|
12
12
|
spec.summary = %q{This gem provides a command line client to allow users of the exercism.io application to easily fetch and submit assignments.}
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "https://github.com/kytrinyx/exercism"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
@@ -25,5 +25,5 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_development_dependency "vcr", '~> 2.4'
|
26
26
|
spec.add_development_dependency "fakeweb"
|
27
27
|
spec.add_development_dependency "approvals"
|
28
|
-
spec.add_development_dependency "minitest", '~>
|
28
|
+
spec.add_development_dependency "minitest", '~> 5.0'
|
29
29
|
end
|
data/lib/cli.rb
CHANGED
@@ -3,6 +3,15 @@ require 'thor'
|
|
3
3
|
class Exercism
|
4
4
|
class CLI < Thor
|
5
5
|
|
6
|
+
desc "version", "Output current version of gem"
|
7
|
+
def version
|
8
|
+
require 'exercism'
|
9
|
+
|
10
|
+
puts Exercism::VERSION
|
11
|
+
end
|
12
|
+
|
13
|
+
map "-v" => "version", "--version" => "version"
|
14
|
+
|
6
15
|
desc "fetch", "Fetch current assignment from exercism.io"
|
7
16
|
method_option :host, aliases: '-h', default: 'http://exercism.io', desc: 'the url of the exercism application'
|
8
17
|
def fetch
|
data/lib/exercism/assignment.rb
CHANGED
@@ -2,11 +2,9 @@ class Exercism
|
|
2
2
|
class Assignment
|
3
3
|
|
4
4
|
def self.save(data, path)
|
5
|
-
assignments
|
6
|
-
|
7
|
-
assignments << Assignment.new(attributes.merge('project_dir' => path)).save
|
5
|
+
data['assignments'].map do |attributes|
|
6
|
+
Assignment.new(attributes.merge('project_dir' => path)).save
|
8
7
|
end
|
9
|
-
assignments
|
10
8
|
end
|
11
9
|
|
12
10
|
attr_reader :track, :slug, :readme, :test_file, :tests, :project_dir
|
data/lib/exercism/version.rb
CHANGED
data/test/exercism/api_test.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require './test/test_helper'
|
2
2
|
|
3
|
-
class AssignmentTest <
|
3
|
+
class AssignmentTest < Minitest::Test
|
4
4
|
|
5
5
|
def project_dir
|
6
6
|
'/tmp'
|
@@ -19,7 +19,7 @@ class AssignmentTest < MiniTest::Unit::TestCase
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def tests_path
|
22
|
-
File.join(tests_dir, '
|
22
|
+
File.join(tests_dir, 'queens_test.rb')
|
23
23
|
end
|
24
24
|
|
25
25
|
def assignment_data
|
@@ -27,7 +27,7 @@ class AssignmentTest < MiniTest::Unit::TestCase
|
|
27
27
|
'track' => 'ruby',
|
28
28
|
'slug' => 'queens',
|
29
29
|
'readme' => 'Do it',
|
30
|
-
'test_file' => '
|
30
|
+
'test_file' => 'queens_test.rb',
|
31
31
|
'tests' => 'assert true',
|
32
32
|
'project_dir' => project_dir
|
33
33
|
}
|
@@ -52,5 +52,13 @@ class AssignmentTest < MiniTest::Unit::TestCase
|
|
52
52
|
|
53
53
|
assert_equal "assert false", File.read(tests_path)
|
54
54
|
end
|
55
|
+
|
56
|
+
def test_save_and_return_assignments
|
57
|
+
data = { 'assignments' => [ assignment_data ] }
|
58
|
+
saved = Exercism::Assignment.save(data, project_dir)
|
59
|
+
|
60
|
+
assert_equal 1, saved.size
|
61
|
+
assert_equal assignment_data['slug'], saved.first.slug
|
62
|
+
end
|
55
63
|
end
|
56
64
|
|
data/test/exercism_test.rb
CHANGED
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
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.13
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Katrina Owen
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-06-
|
12
|
+
date: 2013-06-24 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: faraday
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,6 +30,7 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: thor
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
@@ -41,6 +46,7 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: bundler
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -48,6 +54,7 @@ dependencies:
|
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
@@ -55,6 +62,7 @@ dependencies:
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: rake
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
67
|
- - ! '>='
|
60
68
|
- !ruby/object:Gem::Version
|
@@ -62,6 +70,7 @@ dependencies:
|
|
62
70
|
type: :development
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
75
|
- - ! '>='
|
67
76
|
- !ruby/object:Gem::Version
|
@@ -69,6 +78,7 @@ dependencies:
|
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: vcr
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
83
|
- - ~>
|
74
84
|
- !ruby/object:Gem::Version
|
@@ -76,6 +86,7 @@ dependencies:
|
|
76
86
|
type: :development
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
91
|
- - ~>
|
81
92
|
- !ruby/object:Gem::Version
|
@@ -83,6 +94,7 @@ dependencies:
|
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: fakeweb
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
99
|
- - ! '>='
|
88
100
|
- !ruby/object:Gem::Version
|
@@ -90,6 +102,7 @@ dependencies:
|
|
90
102
|
type: :development
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
107
|
- - ! '>='
|
95
108
|
- !ruby/object:Gem::Version
|
@@ -97,6 +110,7 @@ dependencies:
|
|
97
110
|
- !ruby/object:Gem::Dependency
|
98
111
|
name: approvals
|
99
112
|
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
100
114
|
requirements:
|
101
115
|
- - ! '>='
|
102
116
|
- !ruby/object:Gem::Version
|
@@ -104,6 +118,7 @@ dependencies:
|
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
107
122
|
requirements:
|
108
123
|
- - ! '>='
|
109
124
|
- !ruby/object:Gem::Version
|
@@ -111,17 +126,19 @@ dependencies:
|
|
111
126
|
- !ruby/object:Gem::Dependency
|
112
127
|
name: minitest
|
113
128
|
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
114
130
|
requirements:
|
115
131
|
- - ~>
|
116
132
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
133
|
+
version: '5.0'
|
118
134
|
type: :development
|
119
135
|
prerelease: false
|
120
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
121
138
|
requirements:
|
122
139
|
- - ~>
|
123
140
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
141
|
+
version: '5.0'
|
125
142
|
description: Client gem for the exercism.io app
|
126
143
|
email:
|
127
144
|
- katrina.owen@gmail.com
|
@@ -158,29 +175,30 @@ files:
|
|
158
175
|
- test/fixtures/vcr_cassettes/alice-gets-word-count.yml
|
159
176
|
- test/fixtures/vcr_cassettes/alice-submits-bob.yml
|
160
177
|
- test/test_helper.rb
|
161
|
-
homepage:
|
178
|
+
homepage: https://github.com/kytrinyx/exercism
|
162
179
|
licenses:
|
163
180
|
- MIT
|
164
|
-
metadata: {}
|
165
181
|
post_install_message:
|
166
182
|
rdoc_options: []
|
167
183
|
require_paths:
|
168
184
|
- lib
|
169
185
|
required_ruby_version: !ruby/object:Gem::Requirement
|
186
|
+
none: false
|
170
187
|
requirements:
|
171
188
|
- - ! '>='
|
172
189
|
- !ruby/object:Gem::Version
|
173
190
|
version: '0'
|
174
191
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
|
+
none: false
|
175
193
|
requirements:
|
176
194
|
- - ! '>='
|
177
195
|
- !ruby/object:Gem::Version
|
178
196
|
version: '0'
|
179
197
|
requirements: []
|
180
198
|
rubyforge_project:
|
181
|
-
rubygems_version:
|
199
|
+
rubygems_version: 1.8.23
|
182
200
|
signing_key:
|
183
|
-
specification_version:
|
201
|
+
specification_version: 3
|
184
202
|
summary: This gem provides a command line client to allow users of the exercism.io
|
185
203
|
application to easily fetch and submit assignments.
|
186
204
|
test_files:
|
@@ -197,4 +215,3 @@ test_files:
|
|
197
215
|
- test/fixtures/vcr_cassettes/alice-gets-word-count.yml
|
198
216
|
- test/fixtures/vcr_cassettes/alice-submits-bob.yml
|
199
217
|
- test/test_helper.rb
|
200
|
-
has_rdoc:
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
MDQ3ODlmYjQ4NWZhMDY4NjE1OGY2NjI1YzhhNWJjOTY5MjU2N2M0OA==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
ZWJhZmIzMWJiYWViZTRiYjA5NTgyNjFjOWQ3ZjVlOTkxYmNiNzQ5MA==
|
7
|
-
!binary "U0hBNTEy":
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
ZjNhMTUwNWRlMzY2NDJhMjg0ZDg2ZWNjMTVmOTk5N2ZiYmUzYmM1ODYxN2I2
|
10
|
-
NjgyZjg5MjU1NDc5M2Q1OTEyMTQzOTc1OGM5YmY5YjcyMGRjZGExMGUxZDY1
|
11
|
-
MTNiYWQ5MzY5Y2E5YjYxOTBkMjgyMTZjYTYwY2YxMjZlMTJiNzc=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NDQwOWNmYTUyYmJmOWM2ZDEyOGU1MjczZTE1NDdjMjcxZjUxMDQ5ZTI3MWUz
|
14
|
-
ZjFiOTcxM2Y3MjUxMzgxODBiNjAzN2VhZjI4ZGI2ZDQzN2ZlN2I5Yjg4NzYw
|
15
|
-
NzNmMmM3ZDc4ZDM5MTEzODRkM2JhM2ZjMGVlMjNjMDQ1YjJjMTE=
|