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.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/README.md +109 -8
  4. data/bin/kosmos +6 -79
  5. data/kosmos.gemspec +4 -1
  6. data/lib/kosmos.rb +18 -4
  7. data/lib/kosmos/download_url.rb +4 -0
  8. data/lib/kosmos/git_adapter.rb +5 -3
  9. data/lib/kosmos/package.rb +41 -57
  10. data/lib/kosmos/package_attrs.rb +79 -0
  11. data/lib/kosmos/package_downloads.rb +80 -0
  12. data/lib/kosmos/packages/achievements.rb +8 -0
  13. data/lib/kosmos/packages/active_texture_management.rb +1 -1
  14. data/lib/kosmos/packages/advanced_animator.rb +9 -0
  15. data/lib/kosmos/packages/advanced_jet_engine.rb +9 -0
  16. data/lib/kosmos/packages/aerojet_kerbodyne.rb +9 -0
  17. data/lib/kosmos/packages/aies_aerospace.rb +9 -0
  18. data/lib/kosmos/packages/ambient_light_adjustment.rb +9 -0
  19. data/lib/kosmos/packages/amok_dynamics.rb +9 -0
  20. data/lib/kosmos/packages/antenna_range.rb +10 -0
  21. data/lib/kosmos/packages/asmis_eclss_mod.rb +9 -0
  22. data/lib/kosmos/packages/astronomers_visual_pack.rb +5 -0
  23. data/lib/kosmos/packages/atmospheric_sound_enhancement.rb +9 -0
  24. data/lib/kosmos/packages/auto_asparagus.rb +9 -0
  25. data/lib/kosmos/packages/aviation_lights.rb +9 -0
  26. data/lib/kosmos/packages/b9_aerospace_pack.rb +11 -0
  27. data/lib/kosmos/packages/b9_cockpit_extended.rb +9 -0
  28. data/lib/kosmos/packages/b9_iva_extension.rb +9 -0
  29. data/lib/kosmos/packages/baha_extraplanetary_parts.rb +9 -0
  30. data/lib/kosmos/packages/better_rove_mates.rb +9 -0
  31. data/lib/kosmos/packages/better_than_starting_manned.rb +9 -0
  32. data/lib/kosmos/packages/bob_catind_soviet_american_packs.rb +10 -0
  33. data/lib/kosmos/packages/bolt_on_mission_probe.rb +9 -0
  34. data/lib/kosmos/packages/cargo_transfer_bagsand_tanks.rb +9 -0
  35. data/lib/kosmos/packages/celestial_body_science_multiplier_editor.rb +9 -0
  36. data/lib/kosmos/packages/celss_greenhouse.rb +9 -0
  37. data/lib/kosmos/packages/chatterer.rb +9 -0
  38. data/lib/kosmos/packages/coffee_industries_modular_airliner.rb +9 -0
  39. data/lib/kosmos/packages/conics_configurator.rb +9 -0
  40. data/lib/kosmos/packages/connected_living_space_api.rb +9 -0
  41. data/lib/kosmos/packages/constellation_essentials.rb +9 -0
  42. data/lib/kosmos/packages/cross_feed_enabler.rb +9 -0
  43. data/lib/kosmos/packages/custom_asteroids.rb +9 -0
  44. data/lib/kosmos/packages/dang_it.rb +9 -0
  45. data/lib/kosmos/packages/dark_multi_player.rb +10 -0
  46. data/lib/kosmos/packages/davon_supply.rb +9 -0
  47. data/lib/kosmos/packages/davon_throttle_controlsystems.rb +9 -0
  48. data/lib/kosmos/packages/dmagic_orbital_science.rb +9 -0
  49. data/lib/kosmos/packages/down_under_aerospace.rb +9 -0
  50. data/lib/kosmos/packages/editor_extensions.rb +9 -0
  51. data/lib/kosmos/packages/editor_part_highlighter.rb +9 -0
  52. data/lib/kosmos/packages/engine_ignitor.rb +9 -0
  53. data/lib/kosmos/packages/fasa.rb +18 -0
  54. data/lib/kosmos/packages/flight_managerfor_reusable_stages.rb +9 -0
  55. data/lib/kosmos/packages/fus_tek_station_parts.rb +9 -0
  56. data/lib/kosmos/packages/fusebox.rb +9 -0
  57. data/lib/kosmos/packages/gimbal_auto_trim.rb +9 -0
  58. data/lib/kosmos/packages/ginger_corp_station_hubs.rb +9 -0
  59. data/lib/kosmos/packages/glow_strips.rb +9 -0
  60. data/lib/kosmos/packages/habitat_pack.rb +9 -0
  61. data/lib/kosmos/packages/hangar_extender.rb +9 -0
  62. data/lib/kosmos/packages/home_grown_rockets.rb +10 -0
  63. data/lib/kosmos/packages/hooligan_labs.rb +26 -0
  64. data/lib/kosmos/packages/hullcam_vds.rb +8 -0
  65. data/lib/kosmos/packages/kerbal_attachment_system.rb +1 -1
  66. data/lib/kosmos/packages/kerbal_engineer_redux.rb +11 -0
  67. data/lib/kosmos/packages/launch_countdown.rb +9 -0
  68. data/lib/kosmos/packages/remote_tech.rb +1 -11
  69. data/lib/kosmos/packages/void.rb +9 -0
  70. data/lib/kosmos/user_interface.rb +120 -0
  71. data/lib/kosmos/util.rb +5 -1
  72. data/lib/kosmos/version.rb +1 -1
  73. data/lib/kosmos/versioner.rb +3 -3
  74. data/lib/kosmos/web/app.rb +36 -0
  75. data/lib/kosmos/web/public/css/main.css +69 -0
  76. data/lib/kosmos/web/public/css/normalize.css +527 -0
  77. data/lib/kosmos/web/public/index.html +107 -0
  78. data/lib/kosmos/web/public/js/main.js +125 -0
  79. data/lib/kosmos/web/public/js/plugins.js +24 -0
  80. data/lib/kosmos/web/public/js/vendor/jquery-1.10.2.min.js +6 -0
  81. data/lib/kosmos/web/public/js/vendor/modernizr-2.6.2.min.js +4 -0
  82. data/lib/kosmos/web/public/js/vendor/underscore.js +5 -0
  83. data/package_generator.rb +197 -0
  84. data/spec/package_spec.rb +32 -1
  85. data/spec/spec_helper.rb +6 -0
  86. data/spec/versioner_spec.rb +2 -21
  87. 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 { FakeFS.activate! }
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
@@ -15,6 +15,12 @@ module FakeFS
15
15
  RealFile.absolute_path(file_name, dir_name)
16
16
  end
17
17
  end
18
+
19
+ class Dir
20
+ def self.home
21
+ ""
22
+ end
23
+ end
18
24
  end
19
25
 
20
26
  RSpec.configure do |config|
@@ -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`).to eq "PRE: Example\n"
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`).to eq "POST: Example\n"
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.1
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-05-31 00:00:00.000000000 Z
11
+ date: 2014-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rubyzip
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: rugged
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: '0'
259
+ version: 1.3.1
153
260
  requirements: []
154
261
  rubyforge_project:
155
262
  rubygems_version: 2.1.11