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 +4 -4
 - data/README.md +1 -1
 - data/lib/kosmos.rb +3 -2
 - data/lib/kosmos/git_adapter.rb +10 -1
 - data/lib/kosmos/package_attrs.rb +6 -1
 - data/lib/kosmos/packages/hyperedit.rb +8 -0
 - data/lib/kosmos/packages/precise_node.rb +9 -0
 - data/lib/kosmos/packages/rcs_build_aid.rb +8 -0
 - data/lib/kosmos/packages/science_alert.rb +9 -0
 - data/lib/kosmos/packages/toolbar.rb +2 -2
 - data/lib/kosmos/user_interface.rb +24 -2
 - data/lib/kosmos/version.rb +1 -1
 - data/spec/package_spec.rb +1 -0
 - metadata +6 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: ae8445d64c92137ad5e572bb01df23be7c6c4621
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 731a35373487e9728a6ab6a6657ce1a77646230f
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 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  
     | 
| 
      
 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/
         
     | 
    
        data/lib/kosmos.rb
    CHANGED
    
    | 
         @@ -39,8 +39,9 @@ module Kosmos 
     | 
|
| 
       39 
39 
     | 
    
         
             
                def write_config(opts)
         
     | 
| 
       40 
40 
     | 
    
         
             
                  FileUtils.touch(config_path)
         
     | 
| 
       41 
41 
     | 
    
         | 
| 
       42 
     | 
    
         
            -
                   
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
      
 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 
     | 
    
         | 
    
        data/lib/kosmos/git_adapter.rb
    CHANGED
    
    | 
         @@ -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 
     | 
    
         
            -
                       
     | 
| 
      
 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 
     | 
    
         | 
    
        data/lib/kosmos/package_attrs.rb
    CHANGED
    
    | 
         @@ -4,7 +4,12 @@ module Kosmos 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
                def self.included(base)
         
     | 
| 
       6 
6 
     | 
    
         
             
                  base.extend(Methods)
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
      
 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
         
     | 
| 
         @@ -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. 
     | 
| 
      
 4 
     | 
    
         
            +
              url 'http://blizzy.de/toolbar/Toolbar-1.7.3.zip'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
              def install
         
     | 
| 
       7 
     | 
    
         
            -
                merge_directory 'Toolbar-1.7. 
     | 
| 
      
 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
         
     | 
    
        data/lib/kosmos/version.rb
    CHANGED
    
    
    
        data/spec/package_spec.rb
    CHANGED
    
    
    
        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. 
     | 
| 
      
 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- 
     | 
| 
      
 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
         
     |