kosmos 0.0.1

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 (60) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/Gemfile +15 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +21 -0
  6. data/Rakefile +2 -0
  7. data/bin/kosmos +93 -0
  8. data/kosmos.gemspec +24 -0
  9. data/lib/kosmos.rb +54 -0
  10. data/lib/kosmos/download_url.rb +76 -0
  11. data/lib/kosmos/git_adapter.rb +61 -0
  12. data/lib/kosmos/package.rb +119 -0
  13. data/lib/kosmos/package_dsl.rb +10 -0
  14. data/lib/kosmos/packages/active_texture_management.rb +20 -0
  15. data/lib/kosmos/packages/astronomers_visual_pack.rb +54 -0
  16. data/lib/kosmos/packages/b9_aerospace_pack.rb +22 -0
  17. data/lib/kosmos/packages/better_atmospheres.rb +41 -0
  18. data/lib/kosmos/packages/cacteye.rb +10 -0
  19. data/lib/kosmos/packages/deadly_reentry.rb +9 -0
  20. data/lib/kosmos/packages/distant_object_enhancement.rb +8 -0
  21. data/lib/kosmos/packages/docking_port_alignment_indicator.rb +8 -0
  22. data/lib/kosmos/packages/enhanced_navball.rb +8 -0
  23. data/lib/kosmos/packages/environmental_visual_enhancements.rb +22 -0
  24. data/lib/kosmos/packages/ferram_aerospace_research.rb +11 -0
  25. data/lib/kosmos/packages/firespitter.rb +8 -0
  26. data/lib/kosmos/packages/hot_rockets.rb +11 -0
  27. data/lib/kosmos/packages/infernal_robotics.rb +8 -0
  28. data/lib/kosmos/packages/kerbal_alarm_clock.rb +8 -0
  29. data/lib/kosmos/packages/kerbal_attachment_system.rb +9 -0
  30. data/lib/kosmos/packages/kerbal_engineer_redux.rb +8 -0
  31. data/lib/kosmos/packages/kerbal_joint_reinforcement.rb +8 -0
  32. data/lib/kosmos/packages/kethane_pack.rb +9 -0
  33. data/lib/kosmos/packages/ksp_interstellar.rb +10 -0
  34. data/lib/kosmos/packages/kw_rocketry.rb +8 -0
  35. data/lib/kosmos/packages/mechjeb.rb +8 -0
  36. data/lib/kosmos/packages/mk2_cockpit_interior.rb +8 -0
  37. data/lib/kosmos/packages/nova_punch.rb +10 -0
  38. data/lib/kosmos/packages/procedural_fairings.rb +8 -0
  39. data/lib/kosmos/packages/real_chute.rb +9 -0
  40. data/lib/kosmos/packages/remote_tech.rb +18 -0
  41. data/lib/kosmos/packages/safe_chute.rb +8 -0
  42. data/lib/kosmos/packages/scansat.rb +8 -0
  43. data/lib/kosmos/packages/spaceplane_plus.rb +9 -0
  44. data/lib/kosmos/packages/tac_fuel_balancer.rb +8 -0
  45. data/lib/kosmos/packages/tac_life_support.rb +9 -0
  46. data/lib/kosmos/packages/toolbar.rb +9 -0
  47. data/lib/kosmos/packages/vanguard_technologies.rb +18 -0
  48. data/lib/kosmos/page_fetcher.js +47 -0
  49. data/lib/kosmos/post_processors/module_manager_resolver.rb +30 -0
  50. data/lib/kosmos/util.rb +7 -0
  51. data/lib/kosmos/version.rb +3 -0
  52. data/lib/kosmos/versioner.rb +65 -0
  53. data/spec/download_url_spec.rb +64 -0
  54. data/spec/fixtures/example_box.html +165 -0
  55. data/spec/fixtures/example_dropbox.html +114 -0
  56. data/spec/fixtures/example_mediafire.html +101 -0
  57. data/spec/package_spec.rb +77 -0
  58. data/spec/spec_helper.rb +22 -0
  59. data/spec/versioner_spec.rb +87 -0
  60. metadata +166 -0
@@ -0,0 +1,10 @@
1
+ module Kosmos
2
+ module PackageDsl
3
+ def merge_directory(from, opts = {})
4
+ destination = opts[:into] || '.'
5
+
6
+ FileUtils.cp_r(File.join(@download_dir, from),
7
+ File.join(@ksp_path, destination))
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,20 @@
1
+ class ActiveTextureManagementBasic < Kosmos::Package
2
+ title 'Active Texture Management - Basic'
3
+ aliases 'Active Texture Management'
4
+
5
+ url 'https://github.com/rbray89/ActiveTextureManagement/releases/download/3-1-basic/ActiveTextureManagement-Basic-3-1.zip'
6
+
7
+ def install
8
+ merge_directory 'GameData'
9
+ end
10
+ end
11
+
12
+ class ActiveTextureManagementAggressive < Kosmos::Package
13
+ title 'Active Texture Management - Aggressive'
14
+
15
+ url 'https://github.com/rbray89/ActiveTextureManagement/releases/download/3-1-aggressive/ActiveTextureManagement-3-1.zip'
16
+
17
+ def install
18
+ merge_directory 'GameData'
19
+ end
20
+ end
@@ -0,0 +1,54 @@
1
+ class AstronomersVisualPackLow < Kosmos::Package
2
+ title 'Astronomer\'s Visual Pack - Lower Resolution'
3
+ aliases 'astronomers visual pack - low res'
4
+ url 'http://kerbal.curseforge.com/plugins/220335-astronomers-visual-pack-v3-beta'
5
+
6
+ def install
7
+ merge_directory "Astronomer's Visual Pack V3 BETA/2nd Step/128 - Lower Resolution/GameData"
8
+ merge_directory "Astronomer's Visual Pack V3 BETA/3rd Step/GameData"
9
+ end
10
+ end
11
+
12
+ class AstronomersVisualPackDefault < Kosmos::Package
13
+ title 'Astronomer\'s Visual Pack - Default Resolution'
14
+ aliases 'astronomers visual pack - default res', 'astronomers visual pack'
15
+ url 'http://kerbal.curseforge.com/plugins/220335-astronomers-visual-pack-v3-beta'
16
+
17
+ def install
18
+ merge_directory "Astronomer's Visual Pack V3 BETA/2nd Step/256 - Default Resolution/GameData"
19
+ merge_directory "Astronomer's Visual Pack V3 BETA/3rd Step/GameData"
20
+ end
21
+ end
22
+
23
+ class AstronomersVisualPackHigher < Kosmos::Package
24
+ title 'Astronomer\'s Visual Pack - Higher Resolution'
25
+ aliases 'astronomers visual pack - higher res'
26
+ url 'http://kerbal.curseforge.com/plugins/220335-astronomers-visual-pack-v3-beta'
27
+
28
+ def install
29
+ merge_directory "Astronomer's Visual Pack V3 BETA/2nd Step/512 - Higher Resolution (recommended)/GameData"
30
+ merge_directory "Astronomer's Visual Pack V3 BETA/3rd Step/GameData"
31
+ end
32
+ end
33
+
34
+ class AstronomersVisualPackHigh < Kosmos::Package
35
+ title 'Astronomer\'s Visual Pack - High Resolution'
36
+ aliases 'astronomers visual pack - high res'
37
+ url 'http://kerbal.curseforge.com/plugins/220335-astronomers-visual-pack-v3-beta'
38
+
39
+ def install
40
+ merge_directory "Astronomer's Visual Pack V3 BETA/2nd Step/1024 - High Resolution/GameData"
41
+ merge_directory "Astronomer's Visual Pack V3 BETA/3rd Step/GameData"
42
+ end
43
+ end
44
+
45
+ class AstronomersVisualPackPushIt < Kosmos::Package
46
+ title 'Astronomer\'s Visual Pack - Push It To The Limit Resolution'
47
+ aliases 'astronomers visual pack - push it to the limit res'
48
+ url 'http://kerbal.curseforge.com/plugins/220335-astronomers-visual-pack-v3-beta'
49
+
50
+ def install
51
+ merge_directory "Astronomer's Visual Pack V3 BETA/2nd Step/1500 - PushItToTheLimit Resolution/GameData"
52
+ merge_directory "Astronomer's Visual Pack V3 BETA/3rd Step/GameData"
53
+ end
54
+ end
@@ -0,0 +1,22 @@
1
+ class B9AerospacePack < Kosmos::Package
2
+ title 'B9 Aerospace Pack'
3
+ aliases 'b9', 'b9 aerospace'
4
+
5
+ url 'http://www.mediafire.com/download/o6cbe03iitggj1p/B9+Aerospace+Pack+R4.0c.zip'
6
+
7
+ def install
8
+ merge_directory 'GameData'
9
+ merge_directory 'Ships'
10
+ end
11
+ end
12
+
13
+ class B9Aerospace0235Fix < Kosmos::Package
14
+ title 'B9 Aerospace Pack - Fix for KSP 0.23.5'
15
+ aliases 'b9 fix', 'b9 0.23.5 fix'
16
+
17
+ url 'https://www.dropbox.com/s/8bjgxv65yshg2z3/B9%20KSP%200.23.5.zip'
18
+
19
+ def install
20
+ merge_directory 'B9 KSP 0.23.5/GameData'
21
+ end
22
+ end
@@ -0,0 +1,41 @@
1
+ class BetterAtmospheresLowDef < Kosmos::Package
2
+ title 'Better Atmospheres - Low Definition (512 x 512)'
3
+ aliases 'better atmospheres - low def'
4
+ url 'https://www.dropbox.com/s/od4kickxt92jpo2/BetterAtmosphereV4%5BREL%5D.zip'
5
+
6
+ def install
7
+ merge_directory 'GameData'
8
+ merge_directory 'City Textures/512/DetailCity.tga',
9
+ into: 'GameData/BoulderCo/CityLights/Textures'
10
+ merge_directory 'City Textures/512/detail.tga',
11
+ into: 'GameData/BoulderCo/Clouds/Textures'
12
+ end
13
+ end
14
+
15
+ class BetterAtmospheresMediumDef < Kosmos::Package
16
+ title 'Better Atmospheres - Medium Definition (1024 x 1024)'
17
+ aliases 'better atmospheres - medium def', 'better atmospheres'
18
+ url 'https://www.dropbox.com/s/od4kickxt92jpo2/BetterAtmosphereV4%5BREL%5D.zip'
19
+
20
+ def install
21
+ merge_directory 'GameData'
22
+ merge_directory 'City Textures/1024/DetailCity.tga',
23
+ into: 'GameData/BoulderCo/CityLights/Textures'
24
+ merge_directory 'City Textures/1024/detail.tga',
25
+ into: 'GameData/BoulderCo/Clouds/Textures'
26
+ end
27
+ end
28
+
29
+ class BetterAtmospheresHighDef < Kosmos::Package
30
+ title 'Better Atmospheres - High Definition (2048 x 2048)'
31
+ aliases 'better atmospheres - high def'
32
+ url 'https://www.dropbox.com/s/od4kickxt92jpo2/BetterAtmosphereV4%5BREL%5D.zip'
33
+
34
+ def install
35
+ merge_directory 'GameData'
36
+ merge_directory 'City Textures/2048/DetailCity.tga',
37
+ into: 'GameData/BoulderCo/CityLights/Textures'
38
+ merge_directory 'City Textures/2048/detail.tga',
39
+ into: 'GameData/BoulderCo/Clouds/Textures'
40
+ end
41
+ end
@@ -0,0 +1,10 @@
1
+ class Cacteye < Kosmos::Package
2
+ title 'CactEye Telescope'
3
+ aliases 'cacteye'
4
+ url 'https://app.box.com/s/89skim2e3simjwmuof4c'
5
+
6
+ def install
7
+ merge_directory 'GameData'
8
+ merge_directory 'Ships'
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ class DeadlyReentry < Kosmos::Package
2
+ title 'Deadly Reentry'
3
+ url 'https://github.com/NathanKell/DeadlyReentry/releases/download/v4.7/DeadlyReentryCont_v4.7.zip'
4
+
5
+ def install
6
+ merge_directory 'DeadlyReentry', into: 'GameData'
7
+ merge_directory 'ModuleManager.2.1.0.dll', into: 'GameData'
8
+ end
9
+ end
@@ -0,0 +1,8 @@
1
+ class DistantObjectEnhancement < Kosmos::Package
2
+ title 'Distant Object Enhancement'
3
+ url 'https://app.box.com/s/7xdwo92oc00dkjxkilwb'
4
+
5
+ def install
6
+ merge_directory 'GameData'
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ class DockingPortAlignmentIndicator < Kosmos::Package
2
+ title 'Docking Port Alignment Indicator'
3
+ url 'http://kerbal.curseforge.com/plugins/220299-docking-port-alignment-indicator-version-3-1'
4
+
5
+ def install
6
+ merge_directory 'GameData'
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ class EnhancedNavball < Kosmos::Package
2
+ title 'Enhanced Navball'
3
+ url 'http://kerbal.curseforge.com/plugins/220469-enhanced-navball-v1-2'
4
+
5
+ def install
6
+ merge_directory 'EnhancedNavBall/Plugins'
7
+ end
8
+ end
@@ -0,0 +1,22 @@
1
+ class EnvironmentalVisualEnhancementsHighRes < Kosmos::Package
2
+ title 'Environmental Visual Enhancements - High Resolution'
3
+ aliases 'environmental visual enhancements - high res',
4
+ 'environmental visual enhancements'
5
+
6
+ url 'https://github.com/rbray89/EnvironmentalVisualEnhancements/releases/download/Release-7-3/EnvironmentalVisualEnhancements-7-3.zip'
7
+
8
+ def install
9
+ merge_directory 'GameData'
10
+ end
11
+ end
12
+
13
+ class EnvironmentalVisualEnhancementsLowRes < Kosmos::Package
14
+ title 'Environmental Visual Enhancements - Low Resolution'
15
+ aliases 'environmental visual enhancements - low res'
16
+
17
+ url 'https://github.com/rbray89/EnvironmentalVisualEnhancements/releases/download/Release-7-3LR/EnvironmentalVisualEnhancements-7-3-LR.zip'
18
+
19
+ def install
20
+ merge_directory 'GameData'
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ class FerramAerospaceResearch < Kosmos::Package
2
+ title 'Ferram Aerospace Research'
3
+ aliases 'ferram', 'far', 'ferram aerospace'
4
+
5
+ url 'https://github.com/ferram4/Ferram-Aerospace-Research/releases/download/v0.13.3/FerramAerospaceResearch_v0_13_3.zip'
6
+
7
+ def install
8
+ merge_directory 'GameData'
9
+ merge_directory 'Ships'
10
+ end
11
+ end
@@ -0,0 +1,8 @@
1
+ class Firespitter < Kosmos::Package
2
+ title 'Firespitter'
3
+ url 'http://kerbal.curseforge.com/parts/220252-firespitter'
4
+
5
+ def install
6
+ merge_directory '.', into: 'GameData'
7
+ end
8
+ end
@@ -0,0 +1,11 @@
1
+ class HotRockets < Kosmos::Package
2
+ title 'HotRockets'
3
+ aliases 'hot rockets'
4
+ url 'http://kerbal.curseforge.com/plugins/220207-hotrockets-particle-fx-replacement'
5
+
6
+ def install
7
+ merge_directory 'ModuleManager.2.1.0.dll', into: 'GameData'
8
+ merge_directory 'MP_Nazari', into: 'GameData'
9
+ merge_directory 'SmokeScreen', into: 'GameData'
10
+ end
11
+ end
@@ -0,0 +1,8 @@
1
+ class InfernalRobotics < Kosmos::Package
2
+ title 'Infernal Robotics'
3
+ url 'http://www.mediafire.com/download/s2dt1etqquxti17/InfernalRobotics0.15d.zip'
4
+
5
+ def install
6
+ merge_directory 'GameData'
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ class KerbalAlarmClock < Kosmos::Package
2
+ title 'Kerbal Alarm Clock'
3
+ url 'https://github.com/TriggerAu/KerbalAlarmClock/releases/download/v2.7.3.0/KerbalAlarmClock_2.7.3.0.zip'
4
+
5
+ def install
6
+ merge_directory 'KerbalAlarmClock_2.7.3.0/GameData'
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ class KerbalAttachmentSystem < Kosmos::Package
2
+ title 'Kerbal Attachment System'
3
+ aliases 'kas'
4
+ url 'http://kerbalspaceport.com/wp/wp-content/themes/kerbal/inc/download.php?f=uploads/2014/04/KAS_v0.4.7.zip'
5
+
6
+ def install
7
+ merge_directory 'GameData'
8
+ end
9
+ end
@@ -0,0 +1,8 @@
1
+ class KerbalEngineerRedux < Kosmos::Package
2
+ title 'Kerbal Engineer Redux'
3
+ url 'http://kerbal.curseforge.com/plugins/220285-kerbal-engineer-redux'
4
+
5
+ def install
6
+ merge_directory 'Engineer', into: 'GameData'
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ class KerbalJointReinforcement < Kosmos::Package
2
+ title 'Kerbal Joint Reinforcement'
3
+ url 'http://www.mediafire.com/download/yvi7o1t6a36m5hk/KerbalJointReinforcement_v2.3.zip'
4
+
5
+ def install
6
+ merge_directory 'GameData'
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ class KethanePack < Kosmos::Package
2
+ title 'Kethane Pack'
3
+ aliases 'kethane'
4
+ url 'https://nabaal.net/files/kethane/Kethane-0.8.5.zip'
5
+
6
+ def install
7
+ merge_directory 'GameData'
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ class KSPInterstellar < Kosmos::Package
2
+ title 'KSP Interstellar'
3
+ aliases 'interstellar'
4
+
5
+ url 'https://bitbucket.org/FractalUK/kspinstellar/downloads/KSPInterstellar-v0.11.zip'
6
+
7
+ def install
8
+ merge_directory 'GameData'
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ class KWRocketry < Kosmos::Package
2
+ title 'KW Rocketry'
3
+ url 'http://www.mediafire.com/download/hxt2kfpctmcmt56/KW+Release+Package+v2.5.6B.zip'
4
+
5
+ def install
6
+ merge_directory 'KW Release Package v2.5.6B/GameData'
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ class MechJeb < Kosmos::Package
2
+ title 'MechJeb'
3
+ url 'http://kerbal.curseforge.com/plugins/220221-mechjeb'
4
+
5
+ def install
6
+ merge_directory 'MechJeb2', into: 'GameData'
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ class Mk2CockpitInterior < Kosmos::Package
2
+ title 'Mk2 Cockpit Interior'
3
+ url 'http://kerbalspaceport.com/wp/wp-content/themes/kerbal/inc/download.php?f=uploads/2013/12/SH-MK2Cockpit.zip'
4
+
5
+ def install
6
+ merge_directory 'GameData'
7
+ end
8
+ end
@@ -0,0 +1,10 @@
1
+ class NovaPunch < Kosmos::Package
2
+ title 'NovaPunch'
3
+ aliases 'nova-punch'
4
+ url 'http://www.mediafire.com/download/f79630tg10j20b9/NovaPunch2_04.zip'
5
+
6
+ def install
7
+ merge_directory 'GameData'
8
+ merge_directory 'Ships'
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ class ProceduralFairings < Kosmos::Package
2
+ title 'Procedural Fairings'
3
+ url 'https://github.com/e-dog/ProceduralFairings/releases/download/v3.02/ProcFairings_3.02.zip'
4
+
5
+ def install
6
+ merge_directory 'GameData'
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ class RealChute < Kosmos::Package
2
+ title 'RealChute Parachute Systems'
3
+ aliases 'realchute', 'real chute'
4
+ url 'http://www.mediafire.com/download/5o7mc1cv25wtqkz/RealChute+v1.1.0.1.zip'
5
+
6
+ def install
7
+ merge_directory 'GameData'
8
+ end
9
+ end
@@ -0,0 +1,18 @@
1
+ class RemoteTech2 < Kosmos::Package
2
+ title 'Remote Tech 2'
3
+ url 'http://kerbalspaceport.com/wp/wp-content/themes/kerbal/inc/download.php?f=uploads/2013/12/RemoteTech2_Release_1.3.3.zip'
4
+
5
+ def install
6
+ merge_directory 'GameData'
7
+ end
8
+ end
9
+
10
+ class RemoteTech2Fixpack < Kosmos::Package
11
+ title 'Remote Tech 2 - Fixpack for KSP 0.23.5'
12
+ aliases 'remote tech 2 fixpack'
13
+ url 'http://www.mediafire.com/download/dncc8qu44t30a90/RemoteTech2_2014.01.08.22.30.zip'
14
+
15
+ def install
16
+ merge_directory 'GameData'
17
+ end
18
+ end
@@ -0,0 +1,8 @@
1
+ class SafeChute < Kosmos::Package
2
+ title 'Safe Chute'
3
+ url 'http://genesisrage.net/ksp/SafeChute.zip'
4
+
5
+ def install
6
+ merge_directory 'GameData'
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ class Scansat < Kosmos::Package
2
+ title 'SCANSat'
3
+ url 'http://github.com/thatfool/SCAN/releases/download/build5/SCANsat_b5.zip'
4
+
5
+ def install
6
+ merge_directory 'SCANsat', into: 'GameData'
7
+ end
8
+ end