exercism 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
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", '~> 4.7'
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
@@ -2,11 +2,9 @@ class Exercism
2
2
  class Assignment
3
3
 
4
4
  def self.save(data, path)
5
- assignments = []
6
- data['assignments'].each do |attributes|
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
@@ -1,3 +1,3 @@
1
1
  class Exercism
2
- VERSION = "0.0.12"
2
+ VERSION = "0.0.13"
3
3
  end
@@ -14,7 +14,7 @@ Approvals.configure do |c|
14
14
  c.approvals_path = File.join(test_dir, 'approvals') + '/'
15
15
  end
16
16
 
17
- class ApiTest < MiniTest::Unit::TestCase
17
+ class ApiTest < Minitest::Test
18
18
 
19
19
  def project_dir
20
20
  '/tmp'
@@ -1,6 +1,6 @@
1
1
  require './test/test_helper'
2
2
 
3
- class AssignmentTest < MiniTest::Unit::TestCase
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, 'test.rb')
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' => 'test.rb',
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
 
@@ -1,6 +1,6 @@
1
1
  require './test/test_helper'
2
2
 
3
- class ConfigTest < MiniTest::Unit::TestCase
3
+ class ConfigTest < Minitest::Test
4
4
 
5
5
  def path
6
6
  './test/fixtures'
@@ -1,6 +1,6 @@
1
1
  require './test/test_helper'
2
2
 
3
- class ExercismTest < MiniTest::Unit::TestCase
3
+ class ExercismTest < Minitest::Test
4
4
 
5
5
  def teardown
6
6
  if File.exists?('./test/fixtures/.exercism')
data/test/test_helper.rb CHANGED
@@ -3,7 +3,7 @@ $:.unshift File.expand_path("../../test", __FILE__)
3
3
 
4
4
  ENV['EXERCISM_ENV'] = 'test'
5
5
 
6
- require 'minitest/autorun'
6
+ gem 'minitest'; require 'minitest/autorun'
7
7
  require 'minitest/pride'
8
8
 
9
9
  require 'exercism'
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.12
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-21 00:00:00.000000000 Z
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: '4.7'
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: '4.7'
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: 2.0.3
199
+ rubygems_version: 1.8.23
182
200
  signing_key:
183
- specification_version: 4
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=