vimgolf 0.4.9 → 0.5.0
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.
- checksums.yaml +5 -5
- data/lib/vimgolf/challenge.rb +27 -35
- data/lib/vimgolf/cli.rb +15 -3
- data/lib/vimgolf/version.rb +1 -1
- metadata +53 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0b23232451856233bb686ed2dc5936c491ca41a8c467b4e950f55a2d23f70064
|
4
|
+
data.tar.gz: 268b52ce2fd8286b75d1c974659d960178db0bd9a532cb65c541105d38d49328
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 79484a6f2863cf654efa511bf8fee8dc4e771c445c43007c6bd1a6c80d1fcfedc601d8af59457e2ad0ef6bafbaa59955f168fa78af92da49715b5e67953e6729
|
7
|
+
data.tar.gz: 327f122659a3af5ba371a140a55544adef6612862eace4b71bc8da4b392587f4730613b68ac31edeffa0192eaa50d05ce0f7b2aab48a2b72b9d6626b137acca6
|
data/lib/vimgolf/challenge.rb
CHANGED
@@ -38,12 +38,14 @@ module VimGolf
|
|
38
38
|
def download
|
39
39
|
@remote = true
|
40
40
|
begin
|
41
|
-
url = URI
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
41
|
+
url = URI("#{GOLFHOST}/challenges/#{@id}.json")
|
42
|
+
res = Net::HTTP.start(
|
43
|
+
url.hostname,
|
44
|
+
url.port,
|
45
|
+
use_ssl: url.scheme == 'https'
|
46
|
+
) do |http|
|
47
|
+
http.request_get(url)
|
48
|
+
end
|
47
49
|
|
48
50
|
@data = JSON.parse(res.body)
|
49
51
|
|
@@ -84,23 +86,27 @@ module VimGolf
|
|
84
86
|
|
85
87
|
def upload
|
86
88
|
begin
|
87
|
-
url = URI
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
89
|
+
url = URI("#{GOLFHOST}/entry.json")
|
90
|
+
res = Net::HTTP.start(
|
91
|
+
url.hostname,
|
92
|
+
url.port,
|
93
|
+
use_ssl: url.scheme == 'https'
|
94
|
+
) do |http|
|
95
|
+
http.request_post(
|
96
|
+
url,
|
97
|
+
URI.encode_www_form(
|
98
|
+
"challenge_id" => @id,
|
99
|
+
"apikey" => Config.load['key'],
|
100
|
+
"entry" => IO.binread(log_path)
|
101
|
+
),
|
102
|
+
"Accept" => "application/json"
|
103
|
+
)
|
104
|
+
end
|
99
105
|
|
100
|
-
|
101
|
-
res['status'].to_sym
|
106
|
+
res = JSON.parse(res.body)
|
102
107
|
|
103
|
-
|
108
|
+
raise if !res.is_a? Hash
|
109
|
+
res['status'].to_sym
|
104
110
|
rescue Exception => e
|
105
111
|
debug(e)
|
106
112
|
raise "Uh oh, entry upload has failed, please check your key."
|
@@ -122,20 +128,6 @@ module VimGolf
|
|
122
128
|
end
|
123
129
|
|
124
130
|
private
|
125
|
-
def get_proxy
|
126
|
-
begin
|
127
|
-
proxy_url = URI.parse(PROXY)
|
128
|
-
rescue Exception => e
|
129
|
-
VimGolf.ui.error "Invalid proxy uri in http_proxy environment variable - will try to run with out proxy"
|
130
|
-
proxy_url = URI.parse("");
|
131
|
-
end
|
132
|
-
|
133
|
-
proxy_url.port ||= 80
|
134
|
-
proxy_user, proxy_pass = proxy_url.userinfo.split(/:/) if proxy_url.userinfo
|
135
|
-
|
136
|
-
return proxy_url, proxy_user, proxy_pass
|
137
|
-
end
|
138
|
-
|
139
131
|
def debug(msg)
|
140
132
|
p [caller.first, msg] if GOLFDEBUG
|
141
133
|
end
|
data/lib/vimgolf/cli.rb
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
module VimGolf
|
2
2
|
|
3
3
|
GOLFDEBUG = ENV['GOLFDEBUG'].to_sym rescue false
|
4
|
-
GOLFHOST = ENV['GOLFHOST'] || "
|
4
|
+
GOLFHOST = ENV['GOLFHOST'] || "https://www.vimgolf.com"
|
5
5
|
GOLFSHOWDIFF = ENV['GOLFSHOWDIFF'] || 'vim -d -n'
|
6
6
|
GOLFVIM = ENV['GOLFVIM'] || 'vim'
|
7
|
-
PROXY = ENV['http_proxy'] || ''
|
8
7
|
|
9
8
|
class Error
|
10
9
|
end
|
@@ -26,9 +25,22 @@ module VimGolf
|
|
26
25
|
class CLI < Thor
|
27
26
|
include Thor::Actions
|
28
27
|
|
29
|
-
def self.
|
28
|
+
def self.initialize_ui
|
29
|
+
return if @ui_initialized
|
30
30
|
Thor::Base.shell = VimGolf::CLI::UI
|
31
31
|
VimGolf.ui = VimGolf::CLI::UI.new
|
32
|
+
@ui_initialized = true
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.reset_ui
|
36
|
+
return unless @ui_initialized
|
37
|
+
Thor::Base.shell = Thor::Shell::Color
|
38
|
+
VimGolf.ui = nil
|
39
|
+
@ui_initialized = false
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.start(*)
|
43
|
+
initialize_ui
|
32
44
|
super
|
33
45
|
end
|
34
46
|
|
data/lib/vimgolf/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vimgolf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ilya Grigorik
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -74,22 +74,22 @@ dependencies:
|
|
74
74
|
name: rspec
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
|
-
- - "~>"
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: '3.7'
|
80
77
|
- - ">="
|
81
78
|
- !ruby/object:Gem::Version
|
82
79
|
version: 3.7.0
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.7'
|
83
83
|
type: :development
|
84
84
|
prerelease: false
|
85
85
|
version_requirements: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '3.7'
|
90
87
|
- - ">="
|
91
88
|
- !ruby/object:Gem::Version
|
92
89
|
version: 3.7.0
|
90
|
+
- - "~>"
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '3.7'
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: rake
|
95
95
|
requirement: !ruby/object:Gem::Requirement
|
@@ -110,6 +110,48 @@ dependencies:
|
|
110
110
|
- - ">="
|
111
111
|
- !ruby/object:Gem::Version
|
112
112
|
version: 12.3.1
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: climate_control
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - "~>"
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0.2'
|
120
|
+
type: :development
|
121
|
+
prerelease: false
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - "~>"
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0.2'
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: rexml
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - "~>"
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 3.1.9
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - "~>"
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: 3.1.9
|
141
|
+
- !ruby/object:Gem::Dependency
|
142
|
+
name: webmock
|
143
|
+
requirement: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - "~>"
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: '3.13'
|
148
|
+
type: :development
|
149
|
+
prerelease: false
|
150
|
+
version_requirements: !ruby/object:Gem::Requirement
|
151
|
+
requirements:
|
152
|
+
- - "~>"
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: '3.13'
|
113
155
|
description: Real Vim ninjas count every keystroke - do you? Pick a challenge on vimgolf.com,
|
114
156
|
fire up Vim, and show us what you got.
|
115
157
|
email:
|
@@ -136,7 +178,7 @@ metadata: {}
|
|
136
178
|
post_install_message: |2
|
137
179
|
|
138
180
|
------------------------------------------------------------------------------
|
139
|
-
Thank you for installing vimgolf-0.
|
181
|
+
Thank you for installing vimgolf-0.5.0.
|
140
182
|
|
141
183
|
0.1.3: custom vimgolf .vimrc file to help level the playing field
|
142
184
|
0.2.0: proxy support, custom diffs + proper vimscript parser/scoring
|
@@ -154,15 +196,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
154
196
|
requirements:
|
155
197
|
- - ">="
|
156
198
|
- !ruby/object:Gem::Version
|
157
|
-
version: '0'
|
199
|
+
version: '2.0'
|
158
200
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
201
|
requirements:
|
160
202
|
- - ">="
|
161
203
|
- !ruby/object:Gem::Version
|
162
204
|
version: '0'
|
163
205
|
requirements: []
|
164
|
-
|
165
|
-
rubygems_version: 2.6.11
|
206
|
+
rubygems_version: 3.0.3.1
|
166
207
|
signing_key:
|
167
208
|
specification_version: 4
|
168
209
|
summary: CLI client for vimgolf.com
|