kosmos 0.0.3 → 0.0.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c073eee902df47717f576775e06a4c522c49c30a
4
- data.tar.gz: 03339222d4dcb0c81e93ae2c5f63d7455dfd4fe3
3
+ metadata.gz: ae8445d64c92137ad5e572bb01df23be7c6c4621
4
+ data.tar.gz: 731a35373487e9728a6ab6a6657ce1a77646230f
5
5
  SHA512:
6
- metadata.gz: 1fc742d7a93cf3799932bb6f7d655e75e3333c412e700f1d04a0ff5c25cc1393d88acf84134124795aa33576ab0e981a8a22a9f06bcc8dff55a3f00eb941e0f1
7
- data.tar.gz: ef161e34d9ec65c16fa8f1b8a8d709fde04e6d94f75d98f53dc1c69c872d7da8e94ca3abb13cab4ac56cdff32b566f5193ae78123dc04bbdd64e481275cf3979
6
+ metadata.gz: ed293a7d070692f17afa4ff63257756413287a7da90548c69a3679afacf2bff79c3276200cb510e0e1cecb8a6c0ad4db043a84e50803102700f720f96f3e4a73
7
+ data.tar.gz: 65de6301fd1c3ef9f98419023ebca5b512eb52bf595b9c5dc7b3582980dec3ce75d15d448e7772a5906cc812efd952edc53d3dd027d3d11921232be61a40819b
data/README.md CHANGED
@@ -114,7 +114,7 @@ Almost all of the mods Scott Manley uses in Interstellar Quest are available
114
114
  through Kosmos. You can install them all by running:
115
115
 
116
116
  ```
117
- kosmos install active-texture-management b9 b9-fix b9-modzero kerbal-alarm-clock kw-rocketry ksp-interstellar ferram deadly-reentry kethane infernal-robotics distant-object-enhancement better-atmospheres remote-tech-2 remote-tech-2-fixpack tac-life-support enhanced-navball kerbal-joint-reinforcement docking-port-alignment-indicator safe-chute kerbal-attachment-system real-chute tac-fuel-balancer
117
+ kosmos install active-texture-management b9 kerbal-alarm-clock kw-rocketry ksp-interstellar ferram deadly-reentry kethane infernal-robotics distant-object-enhancement better-atmospheres remote-tech-2 tac-life-support enhanced-navball kerbal-joint-reinforcement docking-port-alignment-indicator safe-chute kerbal-attachment-system real-chute tac-fuel-balancer
118
118
  ```
119
119
 
120
120
  [mac-git]: http://sourceforge.net/projects/git-osx-installer/
@@ -39,8 +39,9 @@ module Kosmos
39
39
  def write_config(opts)
40
40
  FileUtils.touch(config_path)
41
41
 
42
- File.open(config_path, "r+") do |file|
43
- file.write JSON.pretty_generate(read_config.merge(opts))
42
+ config_to_write = JSON.pretty_generate(read_config.merge(opts))
43
+ File.open(config_path, "w") do |file|
44
+ file.write config_to_write
44
45
  end
45
46
  end
46
47
 
@@ -6,6 +6,8 @@ module Kosmos
6
6
  def init_repo(path)
7
7
  Dir.chdir(path) do
8
8
  `git init`
9
+ `git config user.name Kosmos`
10
+ `git config user.email kosmos@kosmos.kosmos`
9
11
 
10
12
  File.open('.gitignore', 'w') do |file|
11
13
  file.write "!*\n"
@@ -22,7 +24,14 @@ module Kosmos
22
24
 
23
25
  def revert_commit(repo_path, commit)
24
26
  Dir.chdir(repo_path) do
25
- `git revert --no-commit #{commit.sha}`
27
+ # Favor "ours" (which is always HEAD for our purposes) when git-revert
28
+ # can handle that on its own.
29
+ `git revert --no-commit --strategy=merge --strategy-option=ours #{commit.sha}`
30
+
31
+ # When files are being created or deleted, git will not do anything.
32
+ # In this case, keep all files alive; better to accidentally pollute
33
+ # than accidentally delete something important.
34
+ `git add *`
26
35
  end
27
36
  end
28
37
 
@@ -4,7 +4,12 @@ module Kosmos
4
4
 
5
5
  def self.included(base)
6
6
  base.extend(Methods)
7
- base.send(:include, Methods)
7
+
8
+ Methods.public_instance_methods.each do |method_name|
9
+ base.send(:define_method, method_name, Proc.new do |*args|
10
+ self.class.send(method_name, *args)
11
+ end)
12
+ end
8
13
  end
9
14
 
10
15
  module Methods
@@ -0,0 +1,8 @@
1
+ class Hyperedit < Kosmos::Package
2
+ title 'Hyperedit'
3
+ url 'http://www.kerbaltekaerospace.com/?download=hyperedit%2FHyperEdit-1.2.4.2_for-KSP-0.21.1%2B.zip'
4
+
5
+ def install
6
+ merge_directory 'GameData'
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ class PreciseNode < Kosmos::Package
2
+ title 'Precise Node'
3
+ aliases 'precisenode'
4
+ url 'http://blizzy.de/precise-node/PreciseNode-0.12.zip'
5
+
6
+ def install
7
+ merge_directory 'PreciseNode-0.12/GameData'
8
+ end
9
+ end
@@ -0,0 +1,8 @@
1
+ class RcsBuildAid < Kosmos::Package
2
+ title 'RCS Build Aid'
3
+ url 'http://kerbal.curseforge.com/ksp-mods/220602-rcs-build-aid'
4
+
5
+ def install
6
+ merge_directory 'RCSBuildAid', into: 'GameData'
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ class ScienceAlert < Kosmos::Package
2
+ title 'ScienceAlert'
3
+ aliases 'science alert'
4
+ url 'https://bitbucket.org/xEvilReeperx/ksp_sciencealert/downloads/KSP-23.5-ScienceAlert-release-1.5.zip'
5
+
6
+ def install
7
+ merge_directory 'GameData'
8
+ end
9
+ end
@@ -1,9 +1,9 @@
1
1
  class Toolbar < Kosmos::Package
2
2
  title 'Toolbar Plugin'
3
3
  aliases 'toolbar'
4
- url 'http://blizzy.de/toolbar/Toolbar-1.7.1.zip'
4
+ url 'http://blizzy.de/toolbar/Toolbar-1.7.3.zip'
5
5
 
6
6
  def install
7
- merge_directory 'Toolbar-1.7.1/GameData'
7
+ merge_directory 'Toolbar-1.7.3/GameData'
8
8
  end
9
9
  end
@@ -25,6 +25,8 @@ module Kosmos
25
25
  end
26
26
 
27
27
  def install(args)
28
+ return unless check_initialized!
29
+
28
30
  ksp_path = Kosmos.load_ksp_path
29
31
 
30
32
  packages = load_packages(args)
@@ -43,6 +45,8 @@ module Kosmos
43
45
  end
44
46
 
45
47
  def uninstall(args)
48
+ return unless check_initialized!
49
+
46
50
  ksp_path = Kosmos.load_ksp_path
47
51
 
48
52
  package_name = args.shift
@@ -67,6 +71,8 @@ module Kosmos
67
71
  end
68
72
 
69
73
  def list(args)
74
+ return unless check_initialized!
75
+
70
76
  ksp_path = Kosmos.load_ksp_path
71
77
 
72
78
  packages = Kosmos::Versioner.installed_packages(ksp_path)
@@ -80,6 +86,22 @@ module Kosmos
80
86
 
81
87
  private
82
88
 
89
+ def check_initialized!
90
+ if Kosmos.load_ksp_path
91
+ true
92
+ else
93
+ Util.log <<-EOS.undent
94
+ Error: You have not yet initialized Kosmos.
95
+
96
+ Before doing anything else, please execute the command:
97
+
98
+ kosmos init ksp-folder
99
+
100
+ Where "ksp-folder" is the name of the folder where you keep KSP.
101
+ EOS
102
+ end
103
+ end
104
+
83
105
  def pretty_print_list(list)
84
106
  list.each { |value| Util.log " * #{value}" }
85
107
  end
@@ -115,9 +137,9 @@ module Kosmos
115
137
  if installed_packages.any?
116
138
  Util.log "Error: You have already installed the following packages using Kosmos:"
117
139
  pretty_print_list(installed_packages.map(&:title))
118
-
119
- return false
120
140
  end
141
+
142
+ installed_packages.empty?
121
143
  end
122
144
  end
123
145
  end
@@ -1,3 +1,3 @@
1
1
  module Kosmos
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -24,6 +24,7 @@ describe Kosmos::Package do
24
24
 
25
25
  it 'has a full name' do
26
26
  expect(subject.title).to eq 'Example'
27
+ expect(subject.new.title).to eq 'Example'
27
28
  end
28
29
 
29
30
  it 'resolves requisites' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kosmos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
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-06-21 00:00:00.000000000 Z
11
+ date: 2014-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -179,6 +179,7 @@ files:
179
179
  - lib/kosmos/packages/hooligan_labs.rb
180
180
  - lib/kosmos/packages/hot_rockets.rb
181
181
  - lib/kosmos/packages/hullcam_vds.rb
182
+ - lib/kosmos/packages/hyperedit.rb
182
183
  - lib/kosmos/packages/infernal_robotics.rb
183
184
  - lib/kosmos/packages/kerbal_alarm_clock.rb
184
185
  - lib/kosmos/packages/kerbal_attachment_system.rb
@@ -191,11 +192,14 @@ files:
191
192
  - lib/kosmos/packages/mechjeb.rb
192
193
  - lib/kosmos/packages/mk2_cockpit_interior.rb
193
194
  - lib/kosmos/packages/nova_punch.rb
195
+ - lib/kosmos/packages/precise_node.rb
194
196
  - lib/kosmos/packages/procedural_fairings.rb
197
+ - lib/kosmos/packages/rcs_build_aid.rb
195
198
  - lib/kosmos/packages/real_chute.rb
196
199
  - lib/kosmos/packages/remote_tech.rb
197
200
  - lib/kosmos/packages/safe_chute.rb
198
201
  - lib/kosmos/packages/scansat.rb
202
+ - lib/kosmos/packages/science_alert.rb
199
203
  - lib/kosmos/packages/spaceplane_plus.rb
200
204
  - lib/kosmos/packages/tac_fuel_balancer.rb
201
205
  - lib/kosmos/packages/tac_life_support.rb