kosmos 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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