kosmos 0.0.1 → 0.0.2.pre.test2

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.
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