exercism 0.0.20 → 0.0.21
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/lib/exercism/api.rb +2 -0
- data/lib/exercism/config.rb +25 -15
- data/lib/exercism/env.rb +5 -1
- data/lib/exercism/version.rb +1 -1
- metadata +2 -2
data/lib/exercism/api.rb
CHANGED
data/lib/exercism/config.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'yaml/store'
|
2
|
+
|
1
3
|
class Exercism
|
2
4
|
class Config
|
3
5
|
|
@@ -40,15 +42,7 @@ class Exercism
|
|
40
42
|
def save
|
41
43
|
FileUtils.mkdir_p(project_dir)
|
42
44
|
FileUtils.mkdir_p(path)
|
43
|
-
|
44
|
-
File.open file, 'w' do |f|
|
45
|
-
data = {
|
46
|
-
'github_username' => github_username,
|
47
|
-
'key' => key,
|
48
|
-
'project_dir' => project_dir
|
49
|
-
}
|
50
|
-
f.write data.to_yaml
|
51
|
-
end
|
45
|
+
save_to_file
|
52
46
|
self
|
53
47
|
end
|
54
48
|
|
@@ -66,6 +60,24 @@ class Exercism
|
|
66
60
|
|
67
61
|
private
|
68
62
|
|
63
|
+
def save_to_file
|
64
|
+
data = {
|
65
|
+
'github_username' => github_username,
|
66
|
+
'key' => key,
|
67
|
+
'project_dir' => project_dir
|
68
|
+
}
|
69
|
+
|
70
|
+
store.transaction do
|
71
|
+
data.each_pair do |k,v|
|
72
|
+
store[k] = v
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def store
|
78
|
+
@store ||= YAML::Store.new(file)
|
79
|
+
end
|
80
|
+
|
69
81
|
def filename
|
70
82
|
default? ? ".exercism" : "exercism"
|
71
83
|
end
|
@@ -75,12 +87,10 @@ class Exercism
|
|
75
87
|
end
|
76
88
|
|
77
89
|
def from_yaml
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
end
|
83
|
-
end
|
90
|
+
@data ||= store.load(File.read(file))
|
91
|
+
unless @data
|
92
|
+
raise StandardError.new "Cannot read #{file}"
|
93
|
+
end
|
84
94
|
@data
|
85
95
|
end
|
86
96
|
|
data/lib/exercism/env.rb
CHANGED
@@ -3,7 +3,7 @@ class Exercism
|
|
3
3
|
def self.home
|
4
4
|
if windows_nt?
|
5
5
|
ENV["HOMEDRIVE"] + ENV["HOMEPATH"]
|
6
|
-
elsif ruby18?
|
6
|
+
elsif ruby18? || ruby191?
|
7
7
|
File.expand_path('~')
|
8
8
|
else
|
9
9
|
Dir.home(Etc.getlogin)
|
@@ -17,5 +17,9 @@ class Exercism
|
|
17
17
|
def self.ruby18?
|
18
18
|
RUBY_VERSION == '1.8.7'
|
19
19
|
end
|
20
|
+
|
21
|
+
def self.ruby191?
|
22
|
+
RUBY_VERSION == '1.9.1'
|
23
|
+
end
|
20
24
|
end
|
21
25
|
end
|
data/lib/exercism/version.rb
CHANGED
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.21
|
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-08-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|