ki-repo 0.1.1 → 0.1.2
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 +15 -0
- data/LICENSE.txt +1 -1
- data/README.md +21 -0
- data/VERSION +1 -1
- data/bin/ki +1 -1
- data/docs/backlog.md +10 -10
- data/docs/development.md +3 -1
- data/docs/ki_commands.md +35 -6
- data/docs/repository_basics.md +12 -1
- data/docs/writing_extensions.md +25 -7
- data/lib/cmd/cmd.rb +69 -54
- data/lib/cmd/user_pref_cmd.rb +47 -37
- data/lib/cmd/version_cmd.rb +116 -113
- data/lib/data_access/repository_finder.rb +1 -1
- data/lib/data_access/repository_info.rb +1 -1
- data/lib/data_access/version_helpers.rb +11 -11
- data/lib/data_access/version_iterators.rb +6 -6
- data/lib/data_access/version_operations.rb +1 -1
- data/lib/data_storage/dir_base.rb +20 -18
- data/lib/data_storage/ki_home.rb +1 -1
- data/lib/data_storage/ki_json.rb +4 -2
- data/lib/data_storage/repository.rb +1 -1
- data/lib/data_storage/version_metadata.rb +54 -39
- data/lib/ki_repo_all.rb +7 -1
- data/lib/util/attr_chain.rb +2 -2
- data/lib/util/exception_catcher.rb +1 -1
- data/lib/util/hash.rb +1 -1
- data/lib/util/hash_cache.rb +1 -1
- data/lib/util/hash_log.rb +93 -0
- data/lib/util/ruby_extensions.rb +58 -21
- data/lib/util/service_registry.rb +1 -1
- data/lib/util/shell.rb +96 -0
- data/lib/util/simple_optparse.rb +6 -4
- data/lib/util/test.rb +13 -1
- data/lib/web/default_rack_handler.rb +43 -0
- data/lib/web/rack_cmd.rb +161 -0
- data/lib/web/test_browser.rb +69 -0
- metadata +80 -24
@@ -0,0 +1,69 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
# Copyright 2012-2013 Mikko Apo
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Uses JSErrorCollector by mguillem from https://github.com/mguillem/JSErrorCollector
|
18
|
+
# Uses code by Gabe Kopley from https://gist.github.com/1371962
|
19
|
+
|
20
|
+
require 'delegate'
|
21
|
+
|
22
|
+
module Ki
|
23
|
+
|
24
|
+
class WebDriverDelegator < SimpleDelegator
|
25
|
+
def errors
|
26
|
+
[]
|
27
|
+
end
|
28
|
+
|
29
|
+
def reset
|
30
|
+
navigate.to "about:blank"
|
31
|
+
manage.delete_all_cookies
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
class FirefoxDelegator < WebDriverDelegator
|
36
|
+
@@firefox = nil
|
37
|
+
def FirefoxDelegator.init
|
38
|
+
if @@firefox.nil?
|
39
|
+
require "selenium-webdriver"
|
40
|
+
profile = Selenium::WebDriver::Firefox::Profile.new
|
41
|
+
profile.add_extension File.join(File.dirname(__FILE__), "JSErrorCollector-0.5.xpi")
|
42
|
+
@@firefox = FirefoxDelegator.new(Selenium::WebDriver.for(:firefox, :profile => profile))
|
43
|
+
at_exit do
|
44
|
+
@@firefox.quit
|
45
|
+
end
|
46
|
+
end
|
47
|
+
@@firefox
|
48
|
+
end
|
49
|
+
|
50
|
+
def errors
|
51
|
+
# FF23 fails
|
52
|
+
# execute_script("return window.JSErrorCollector_errors.pump()")
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
class ChromeDelegator < WebDriverDelegator
|
57
|
+
@@chrome = nil
|
58
|
+
def ChromeDelegator.init
|
59
|
+
if @@chrome.nil?
|
60
|
+
require "selenium-webdriver"
|
61
|
+
@@chrome = ChromeDelegator.new(Selenium::WebDriver.for(:chrome, :switches => %w[--ignore-certificate-errors --disable-popup-blocking --disable-translate]))
|
62
|
+
at_exit do
|
63
|
+
@@chrome.quit
|
64
|
+
end
|
65
|
+
end
|
66
|
+
@@chrome
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
metadata
CHANGED
@@ -1,20 +1,60 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ki-repo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Mikko Apo
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-08-08 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: sinatra
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ! '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: sass
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: coffee-script
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
14
55
|
- !ruby/object:Gem::Dependency
|
15
56
|
name: rspec
|
16
57
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
58
|
requirements:
|
19
59
|
- - ! '>='
|
20
60
|
- !ruby/object:Gem::Version
|
@@ -22,7 +62,6 @@ dependencies:
|
|
22
62
|
type: :development
|
23
63
|
prerelease: false
|
24
64
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
65
|
requirements:
|
27
66
|
- - ! '>='
|
28
67
|
- !ruby/object:Gem::Version
|
@@ -30,7 +69,6 @@ dependencies:
|
|
30
69
|
- !ruby/object:Gem::Dependency
|
31
70
|
name: yard
|
32
71
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
72
|
requirements:
|
35
73
|
- - ! '>='
|
36
74
|
- !ruby/object:Gem::Version
|
@@ -38,7 +76,6 @@ dependencies:
|
|
38
76
|
type: :development
|
39
77
|
prerelease: false
|
40
78
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
79
|
requirements:
|
43
80
|
- - ! '>='
|
44
81
|
- !ruby/object:Gem::Version
|
@@ -46,7 +83,6 @@ dependencies:
|
|
46
83
|
- !ruby/object:Gem::Dependency
|
47
84
|
name: bundler
|
48
85
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
86
|
requirements:
|
51
87
|
- - ! '>='
|
52
88
|
- !ruby/object:Gem::Version
|
@@ -54,7 +90,6 @@ dependencies:
|
|
54
90
|
type: :development
|
55
91
|
prerelease: false
|
56
92
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
93
|
requirements:
|
59
94
|
- - ! '>='
|
60
95
|
- !ruby/object:Gem::Version
|
@@ -62,7 +97,6 @@ dependencies:
|
|
62
97
|
- !ruby/object:Gem::Dependency
|
63
98
|
name: jeweler
|
64
99
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
100
|
requirements:
|
67
101
|
- - ! '>='
|
68
102
|
- !ruby/object:Gem::Version
|
@@ -70,7 +104,6 @@ dependencies:
|
|
70
104
|
type: :development
|
71
105
|
prerelease: false
|
72
106
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
107
|
requirements:
|
75
108
|
- - ! '>='
|
76
109
|
- !ruby/object:Gem::Version
|
@@ -78,7 +111,6 @@ dependencies:
|
|
78
111
|
- !ruby/object:Gem::Dependency
|
79
112
|
name: simplecov
|
80
113
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
114
|
requirements:
|
83
115
|
- - ! '>='
|
84
116
|
- !ruby/object:Gem::Version
|
@@ -86,7 +118,6 @@ dependencies:
|
|
86
118
|
type: :development
|
87
119
|
prerelease: false
|
88
120
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
121
|
requirements:
|
91
122
|
- - ! '>='
|
92
123
|
- !ruby/object:Gem::Version
|
@@ -94,7 +125,6 @@ dependencies:
|
|
94
125
|
- !ruby/object:Gem::Dependency
|
95
126
|
name: rdiscount
|
96
127
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
128
|
requirements:
|
99
129
|
- - ! '>='
|
100
130
|
- !ruby/object:Gem::Version
|
@@ -102,7 +132,6 @@ dependencies:
|
|
102
132
|
type: :development
|
103
133
|
prerelease: false
|
104
134
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
135
|
requirements:
|
107
136
|
- - ! '>='
|
108
137
|
- !ruby/object:Gem::Version
|
@@ -110,7 +139,6 @@ dependencies:
|
|
110
139
|
- !ruby/object:Gem::Dependency
|
111
140
|
name: mocha
|
112
141
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
142
|
requirements:
|
115
143
|
- - ! '>='
|
116
144
|
- !ruby/object:Gem::Version
|
@@ -118,7 +146,34 @@ dependencies:
|
|
118
146
|
type: :development
|
119
147
|
prerelease: false
|
120
148
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
|
149
|
+
requirements:
|
150
|
+
- - ! '>='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rack-test
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ! '>='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ! '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: selenium-webdriver
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
177
|
requirements:
|
123
178
|
- - ! '>='
|
124
179
|
- !ruby/object:Gem::Version
|
@@ -161,38 +216,39 @@ files:
|
|
161
216
|
- lib/util/exception_catcher.rb
|
162
217
|
- lib/util/hash.rb
|
163
218
|
- lib/util/hash_cache.rb
|
219
|
+
- lib/util/hash_log.rb
|
164
220
|
- lib/util/ruby_extensions.rb
|
165
221
|
- lib/util/service_registry.rb
|
222
|
+
- lib/util/shell.rb
|
166
223
|
- lib/util/simple_optparse.rb
|
167
224
|
- lib/util/test.rb
|
225
|
+
- lib/web/default_rack_handler.rb
|
226
|
+
- lib/web/rack_cmd.rb
|
227
|
+
- lib/web/test_browser.rb
|
168
228
|
- bin/ki
|
169
229
|
homepage: http://github.com/mikko-apo/ki-repo
|
170
230
|
licenses:
|
171
231
|
- Apache License, Version 2.0
|
232
|
+
metadata: {}
|
172
233
|
post_install_message:
|
173
234
|
rdoc_options: []
|
174
235
|
require_paths:
|
175
236
|
- lib
|
176
237
|
required_ruby_version: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
238
|
requirements:
|
179
239
|
- - ! '>='
|
180
240
|
- !ruby/object:Gem::Version
|
181
241
|
version: '0'
|
182
|
-
segments:
|
183
|
-
- 0
|
184
|
-
hash: 1963502672638660453
|
185
242
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
186
|
-
none: false
|
187
243
|
requirements:
|
188
244
|
- - ! '>='
|
189
245
|
- !ruby/object:Gem::Version
|
190
246
|
version: '0'
|
191
247
|
requirements: []
|
192
248
|
rubyforge_project:
|
193
|
-
rubygems_version:
|
249
|
+
rubygems_version: 2.0.6
|
194
250
|
signing_key:
|
195
|
-
specification_version:
|
251
|
+
specification_version: 4
|
196
252
|
summary: ! 'Repository for storing packages and metadata - note: not ready for any
|
197
253
|
kind of use'
|
198
254
|
test_files: []
|