kosmos 0.0.1 → 0.0.2.pre.test2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/README.md +109 -8
- data/bin/kosmos +6 -79
- data/kosmos.gemspec +4 -1
- data/lib/kosmos.rb +18 -4
- data/lib/kosmos/download_url.rb +4 -0
- data/lib/kosmos/git_adapter.rb +5 -3
- data/lib/kosmos/package.rb +41 -57
- data/lib/kosmos/package_attrs.rb +79 -0
- data/lib/kosmos/package_downloads.rb +80 -0
- data/lib/kosmos/packages/achievements.rb +8 -0
- data/lib/kosmos/packages/active_texture_management.rb +1 -1
- data/lib/kosmos/packages/advanced_animator.rb +9 -0
- data/lib/kosmos/packages/advanced_jet_engine.rb +9 -0
- data/lib/kosmos/packages/aerojet_kerbodyne.rb +9 -0
- data/lib/kosmos/packages/aies_aerospace.rb +9 -0
- data/lib/kosmos/packages/ambient_light_adjustment.rb +9 -0
- data/lib/kosmos/packages/amok_dynamics.rb +9 -0
- data/lib/kosmos/packages/antenna_range.rb +10 -0
- data/lib/kosmos/packages/asmis_eclss_mod.rb +9 -0
- data/lib/kosmos/packages/astronomers_visual_pack.rb +5 -0
- data/lib/kosmos/packages/atmospheric_sound_enhancement.rb +9 -0
- data/lib/kosmos/packages/auto_asparagus.rb +9 -0
- data/lib/kosmos/packages/aviation_lights.rb +9 -0
- data/lib/kosmos/packages/b9_aerospace_pack.rb +11 -0
- data/lib/kosmos/packages/b9_cockpit_extended.rb +9 -0
- data/lib/kosmos/packages/b9_iva_extension.rb +9 -0
- data/lib/kosmos/packages/baha_extraplanetary_parts.rb +9 -0
- data/lib/kosmos/packages/better_rove_mates.rb +9 -0
- data/lib/kosmos/packages/better_than_starting_manned.rb +9 -0
- data/lib/kosmos/packages/bob_catind_soviet_american_packs.rb +10 -0
- data/lib/kosmos/packages/bolt_on_mission_probe.rb +9 -0
- data/lib/kosmos/packages/cargo_transfer_bagsand_tanks.rb +9 -0
- data/lib/kosmos/packages/celestial_body_science_multiplier_editor.rb +9 -0
- data/lib/kosmos/packages/celss_greenhouse.rb +9 -0
- data/lib/kosmos/packages/chatterer.rb +9 -0
- data/lib/kosmos/packages/coffee_industries_modular_airliner.rb +9 -0
- data/lib/kosmos/packages/conics_configurator.rb +9 -0
- data/lib/kosmos/packages/connected_living_space_api.rb +9 -0
- data/lib/kosmos/packages/constellation_essentials.rb +9 -0
- data/lib/kosmos/packages/cross_feed_enabler.rb +9 -0
- data/lib/kosmos/packages/custom_asteroids.rb +9 -0
- data/lib/kosmos/packages/dang_it.rb +9 -0
- data/lib/kosmos/packages/dark_multi_player.rb +10 -0
- data/lib/kosmos/packages/davon_supply.rb +9 -0
- data/lib/kosmos/packages/davon_throttle_controlsystems.rb +9 -0
- data/lib/kosmos/packages/dmagic_orbital_science.rb +9 -0
- data/lib/kosmos/packages/down_under_aerospace.rb +9 -0
- data/lib/kosmos/packages/editor_extensions.rb +9 -0
- data/lib/kosmos/packages/editor_part_highlighter.rb +9 -0
- data/lib/kosmos/packages/engine_ignitor.rb +9 -0
- data/lib/kosmos/packages/fasa.rb +18 -0
- data/lib/kosmos/packages/flight_managerfor_reusable_stages.rb +9 -0
- data/lib/kosmos/packages/fus_tek_station_parts.rb +9 -0
- data/lib/kosmos/packages/fusebox.rb +9 -0
- data/lib/kosmos/packages/gimbal_auto_trim.rb +9 -0
- data/lib/kosmos/packages/ginger_corp_station_hubs.rb +9 -0
- data/lib/kosmos/packages/glow_strips.rb +9 -0
- data/lib/kosmos/packages/habitat_pack.rb +9 -0
- data/lib/kosmos/packages/hangar_extender.rb +9 -0
- data/lib/kosmos/packages/home_grown_rockets.rb +10 -0
- data/lib/kosmos/packages/hooligan_labs.rb +26 -0
- data/lib/kosmos/packages/hullcam_vds.rb +8 -0
- data/lib/kosmos/packages/kerbal_attachment_system.rb +1 -1
- data/lib/kosmos/packages/kerbal_engineer_redux.rb +11 -0
- data/lib/kosmos/packages/launch_countdown.rb +9 -0
- data/lib/kosmos/packages/remote_tech.rb +1 -11
- data/lib/kosmos/packages/void.rb +9 -0
- data/lib/kosmos/user_interface.rb +120 -0
- data/lib/kosmos/util.rb +5 -1
- data/lib/kosmos/version.rb +1 -1
- data/lib/kosmos/versioner.rb +3 -3
- data/lib/kosmos/web/app.rb +36 -0
- data/lib/kosmos/web/public/css/main.css +69 -0
- data/lib/kosmos/web/public/css/normalize.css +527 -0
- data/lib/kosmos/web/public/index.html +107 -0
- data/lib/kosmos/web/public/js/main.js +125 -0
- data/lib/kosmos/web/public/js/plugins.js +24 -0
- data/lib/kosmos/web/public/js/vendor/jquery-1.10.2.min.js +6 -0
- data/lib/kosmos/web/public/js/vendor/modernizr-2.6.2.min.js +4 -0
- data/lib/kosmos/web/public/js/vendor/underscore.js +5 -0
- data/package_generator.rb +197 -0
- data/spec/package_spec.rb +32 -1
- data/spec/spec_helper.rb +6 -0
- data/spec/versioner_spec.rb +2 -21
- metadata +113 -6
data/spec/package_spec.rb
CHANGED
@@ -7,6 +7,16 @@ class ExamplePackage < Kosmos::Package
|
|
7
7
|
url 'http://www.example.com/releases/release-0-1.zip'
|
8
8
|
end
|
9
9
|
|
10
|
+
class AnotherExample < Kosmos::Package
|
11
|
+
title 'Another Example'
|
12
|
+
prerequisites 'example'
|
13
|
+
postrequisites 'yet another'
|
14
|
+
end
|
15
|
+
|
16
|
+
class YetAnotherExample < Kosmos::Package
|
17
|
+
title 'Yet Another'
|
18
|
+
end
|
19
|
+
|
10
20
|
describe Kosmos::Package do
|
11
21
|
let(:example_url) { 'http://www.example.com/releases/release-0-1.zip' }
|
12
22
|
|
@@ -16,8 +26,19 @@ describe Kosmos::Package do
|
|
16
26
|
expect(subject.title).to eq 'Example'
|
17
27
|
end
|
18
28
|
|
29
|
+
it 'resolves requisites' do
|
30
|
+
expect(AnotherExample.resolve_prerequisites).to eq [ExamplePackage]
|
31
|
+
expect(AnotherExample.resolve_postrequisites).to eq [YetAnotherExample]
|
32
|
+
end
|
33
|
+
|
19
34
|
describe 'downloading' do
|
20
|
-
before
|
35
|
+
before do
|
36
|
+
FakeFS.activate!
|
37
|
+
|
38
|
+
File.open(File.join(Dir.home, '.kosmos'), 'w') do |file|
|
39
|
+
file.write '{}'
|
40
|
+
end
|
41
|
+
end
|
21
42
|
after { FakeFS.deactivate! }
|
22
43
|
|
23
44
|
let(:example_zip) do
|
@@ -74,4 +95,14 @@ describe Kosmos::Package do
|
|
74
95
|
expect(Kosmos::Package.find('specimen')).to eq ExamplePackage
|
75
96
|
end
|
76
97
|
end
|
98
|
+
|
99
|
+
describe '#search' do
|
100
|
+
it 'finds packages with a similar name' do
|
101
|
+
class PackageA < Kosmos::Package; title 'Package A'; end
|
102
|
+
class PackageB < Kosmos::Package; title 'Package B'; aliases 'thing b'; end
|
103
|
+
|
104
|
+
expect(Kosmos::Package.search('pakcage a')).to eq PackageA
|
105
|
+
expect(Kosmos::Package.search('thign b')).to eq PackageB
|
106
|
+
end
|
107
|
+
end
|
77
108
|
end
|
data/spec/spec_helper.rb
CHANGED
data/spec/versioner_spec.rb
CHANGED
@@ -28,7 +28,7 @@ describe Kosmos::Versioner do
|
|
28
28
|
Kosmos::Versioner.mark_preinstall(ksp_dir, package)
|
29
29
|
|
30
30
|
expect(`git ls-files --others`).to be_empty
|
31
|
-
expect(`git log -1 --pretty=%B
|
31
|
+
expect(`git log -1 --pretty=%B`.strip).to eq "PRE: Example"
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
@@ -44,7 +44,7 @@ describe Kosmos::Versioner do
|
|
44
44
|
Kosmos::Versioner.mark_postinstall(ksp_dir, package)
|
45
45
|
|
46
46
|
expect(`git ls-files --others`).to be_empty
|
47
|
-
expect(`git log -1 --pretty=%B
|
47
|
+
expect(`git log -1 --pretty=%B`.strip).to eq "POST: Example"
|
48
48
|
end
|
49
49
|
end
|
50
50
|
end
|
@@ -65,23 +65,4 @@ describe Kosmos::Versioner do
|
|
65
65
|
expect(Kosmos::Versioner.installed_packages(ksp_dir)).to eq %w(c b a)
|
66
66
|
end
|
67
67
|
end
|
68
|
-
|
69
|
-
describe '#uninstall-last-package' do
|
70
|
-
it 'resets to before last post-install' do
|
71
|
-
Kosmos::Versioner.init_repo(ksp_dir)
|
72
|
-
|
73
|
-
package = OpenStruct.new(title: 'Example')
|
74
|
-
Kosmos::Versioner.mark_preinstall(ksp_dir, package)
|
75
|
-
|
76
|
-
`touch #{File.join(ksp_dir, 'hello.txt')}`
|
77
|
-
Kosmos::Versioner.mark_postinstall(ksp_dir, package)
|
78
|
-
|
79
|
-
Kosmos::Versioner.uninstall_last_package(ksp_dir)
|
80
|
-
|
81
|
-
Dir.chdir(ksp_dir) do
|
82
|
-
expect(`git log -1 --pretty=%B`).to eq "PRE: Example\n"
|
83
|
-
expect(File.exist?('hello.txt')).to be_false
|
84
|
-
end
|
85
|
-
end
|
86
|
-
end
|
87
68
|
end
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kosmos
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2.pre.test2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ulysse Carion
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: json_pure
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - '>='
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: rubyzip
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '>='
|
@@ -66,6 +66,48 @@ dependencies:
|
|
66
66
|
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: damerau-levenshtein
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: sinatra
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: thin
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
69
111
|
description:
|
70
112
|
email:
|
71
113
|
- ulyssecarion@gmail.com
|
@@ -85,20 +127,72 @@ files:
|
|
85
127
|
- lib/kosmos/download_url.rb
|
86
128
|
- lib/kosmos/git_adapter.rb
|
87
129
|
- lib/kosmos/package.rb
|
130
|
+
- lib/kosmos/package_attrs.rb
|
131
|
+
- lib/kosmos/package_downloads.rb
|
88
132
|
- lib/kosmos/package_dsl.rb
|
133
|
+
- lib/kosmos/packages/achievements.rb
|
89
134
|
- lib/kosmos/packages/active_texture_management.rb
|
135
|
+
- lib/kosmos/packages/advanced_animator.rb
|
136
|
+
- lib/kosmos/packages/advanced_jet_engine.rb
|
137
|
+
- lib/kosmos/packages/aerojet_kerbodyne.rb
|
138
|
+
- lib/kosmos/packages/aies_aerospace.rb
|
139
|
+
- lib/kosmos/packages/ambient_light_adjustment.rb
|
140
|
+
- lib/kosmos/packages/amok_dynamics.rb
|
141
|
+
- lib/kosmos/packages/antenna_range.rb
|
142
|
+
- lib/kosmos/packages/asmis_eclss_mod.rb
|
90
143
|
- lib/kosmos/packages/astronomers_visual_pack.rb
|
144
|
+
- lib/kosmos/packages/atmospheric_sound_enhancement.rb
|
145
|
+
- lib/kosmos/packages/auto_asparagus.rb
|
146
|
+
- lib/kosmos/packages/aviation_lights.rb
|
91
147
|
- lib/kosmos/packages/b9_aerospace_pack.rb
|
148
|
+
- lib/kosmos/packages/b9_cockpit_extended.rb
|
149
|
+
- lib/kosmos/packages/b9_iva_extension.rb
|
150
|
+
- lib/kosmos/packages/baha_extraplanetary_parts.rb
|
92
151
|
- lib/kosmos/packages/better_atmospheres.rb
|
152
|
+
- lib/kosmos/packages/better_rove_mates.rb
|
153
|
+
- lib/kosmos/packages/better_than_starting_manned.rb
|
154
|
+
- lib/kosmos/packages/bob_catind_soviet_american_packs.rb
|
155
|
+
- lib/kosmos/packages/bolt_on_mission_probe.rb
|
93
156
|
- lib/kosmos/packages/cacteye.rb
|
157
|
+
- lib/kosmos/packages/cargo_transfer_bagsand_tanks.rb
|
158
|
+
- lib/kosmos/packages/celestial_body_science_multiplier_editor.rb
|
159
|
+
- lib/kosmos/packages/celss_greenhouse.rb
|
160
|
+
- lib/kosmos/packages/chatterer.rb
|
161
|
+
- lib/kosmos/packages/coffee_industries_modular_airliner.rb
|
162
|
+
- lib/kosmos/packages/conics_configurator.rb
|
163
|
+
- lib/kosmos/packages/connected_living_space_api.rb
|
164
|
+
- lib/kosmos/packages/constellation_essentials.rb
|
165
|
+
- lib/kosmos/packages/cross_feed_enabler.rb
|
166
|
+
- lib/kosmos/packages/custom_asteroids.rb
|
167
|
+
- lib/kosmos/packages/dang_it.rb
|
168
|
+
- lib/kosmos/packages/dark_multi_player.rb
|
169
|
+
- lib/kosmos/packages/davon_supply.rb
|
170
|
+
- lib/kosmos/packages/davon_throttle_controlsystems.rb
|
94
171
|
- lib/kosmos/packages/deadly_reentry.rb
|
95
172
|
- lib/kosmos/packages/distant_object_enhancement.rb
|
173
|
+
- lib/kosmos/packages/dmagic_orbital_science.rb
|
96
174
|
- lib/kosmos/packages/docking_port_alignment_indicator.rb
|
175
|
+
- lib/kosmos/packages/down_under_aerospace.rb
|
176
|
+
- lib/kosmos/packages/editor_extensions.rb
|
177
|
+
- lib/kosmos/packages/editor_part_highlighter.rb
|
178
|
+
- lib/kosmos/packages/engine_ignitor.rb
|
97
179
|
- lib/kosmos/packages/enhanced_navball.rb
|
98
180
|
- lib/kosmos/packages/environmental_visual_enhancements.rb
|
181
|
+
- lib/kosmos/packages/fasa.rb
|
99
182
|
- lib/kosmos/packages/ferram_aerospace_research.rb
|
100
183
|
- lib/kosmos/packages/firespitter.rb
|
184
|
+
- lib/kosmos/packages/flight_managerfor_reusable_stages.rb
|
185
|
+
- lib/kosmos/packages/fus_tek_station_parts.rb
|
186
|
+
- lib/kosmos/packages/fusebox.rb
|
187
|
+
- lib/kosmos/packages/gimbal_auto_trim.rb
|
188
|
+
- lib/kosmos/packages/ginger_corp_station_hubs.rb
|
189
|
+
- lib/kosmos/packages/glow_strips.rb
|
190
|
+
- lib/kosmos/packages/habitat_pack.rb
|
191
|
+
- lib/kosmos/packages/hangar_extender.rb
|
192
|
+
- lib/kosmos/packages/home_grown_rockets.rb
|
193
|
+
- lib/kosmos/packages/hooligan_labs.rb
|
101
194
|
- lib/kosmos/packages/hot_rockets.rb
|
195
|
+
- lib/kosmos/packages/hullcam_vds.rb
|
102
196
|
- lib/kosmos/packages/infernal_robotics.rb
|
103
197
|
- lib/kosmos/packages/kerbal_alarm_clock.rb
|
104
198
|
- lib/kosmos/packages/kerbal_attachment_system.rb
|
@@ -107,6 +201,7 @@ files:
|
|
107
201
|
- lib/kosmos/packages/kethane_pack.rb
|
108
202
|
- lib/kosmos/packages/ksp_interstellar.rb
|
109
203
|
- lib/kosmos/packages/kw_rocketry.rb
|
204
|
+
- lib/kosmos/packages/launch_countdown.rb
|
110
205
|
- lib/kosmos/packages/mechjeb.rb
|
111
206
|
- lib/kosmos/packages/mk2_cockpit_interior.rb
|
112
207
|
- lib/kosmos/packages/nova_punch.rb
|
@@ -120,11 +215,23 @@ files:
|
|
120
215
|
- lib/kosmos/packages/tac_life_support.rb
|
121
216
|
- lib/kosmos/packages/toolbar.rb
|
122
217
|
- lib/kosmos/packages/vanguard_technologies.rb
|
218
|
+
- lib/kosmos/packages/void.rb
|
123
219
|
- lib/kosmos/page_fetcher.js
|
124
220
|
- lib/kosmos/post_processors/module_manager_resolver.rb
|
221
|
+
- lib/kosmos/user_interface.rb
|
125
222
|
- lib/kosmos/util.rb
|
126
223
|
- lib/kosmos/version.rb
|
127
224
|
- lib/kosmos/versioner.rb
|
225
|
+
- lib/kosmos/web/app.rb
|
226
|
+
- lib/kosmos/web/public/css/main.css
|
227
|
+
- lib/kosmos/web/public/css/normalize.css
|
228
|
+
- lib/kosmos/web/public/index.html
|
229
|
+
- lib/kosmos/web/public/js/main.js
|
230
|
+
- lib/kosmos/web/public/js/plugins.js
|
231
|
+
- lib/kosmos/web/public/js/vendor/jquery-1.10.2.min.js
|
232
|
+
- lib/kosmos/web/public/js/vendor/modernizr-2.6.2.min.js
|
233
|
+
- lib/kosmos/web/public/js/vendor/underscore.js
|
234
|
+
- package_generator.rb
|
128
235
|
- spec/download_url_spec.rb
|
129
236
|
- spec/fixtures/example_box.html
|
130
237
|
- spec/fixtures/example_dropbox.html
|
@@ -147,9 +254,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
147
254
|
version: '0'
|
148
255
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
256
|
requirements:
|
150
|
-
- - '
|
257
|
+
- - '>'
|
151
258
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
259
|
+
version: 1.3.1
|
153
260
|
requirements: []
|
154
261
|
rubyforge_project:
|
155
262
|
rubygems_version: 2.1.11
|