exogenesis 0.2.0 → 1.0.0
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/CHANGELOG.md +27 -0
- data/README.md +3 -0
- data/exogenesis.gemspec +1 -1
- data/lib/exogenesis.rb +2 -0
- data/lib/exogenesis/passengers/fonts.rb +1 -1
- data/lib/exogenesis/passengers/shell.rb +20 -0
- data/lib/exogenesis/passengers/vim_plug.rb +17 -0
- data/lib/exogenesis/version.rb +1 -1
- data/spec/unit/fonts_spec.rb +2 -2
- data/spec/unit/shell_spec.rb +23 -0
- data/spec/unit/vim_plug_spec.rb +23 -0
- metadata +13 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 55949c882eb8ea8d7239507d4cd16da8236c66c6
|
4
|
+
data.tar.gz: 117f4e2ef5d53bb1e35e4c71b963c526b2d26131
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5884cd3c2c93f39638b563c1a1eb3404b4a6f44d3ad94f4c927e4975058b10a864553d7a5f5d52d0609f4829df957e1db0fc3381151394b5b0c2d819c9f0476c
|
7
|
+
data.tar.gz: 77f0e099577c5b3eab9c6b757bc7804d55a3fa38e976240ba2d3003fde0a7216eb3f6dddc1b07431d522fd577a9c5c8c84f39475663a6e82a6e2adee15d8fc88
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,32 @@
|
|
1
1
|
# Exogenesis – Changelog
|
2
2
|
|
3
|
+
It's bigger on the inside
|
4
|
+
|
5
|
+
## 1.0.0
|
6
|
+
|
7
|
+
**Codename:** Certain shade of green
|
8
|
+
|
9
|
+
* It is in production now for quite some time, let's put a 1.0.0 on it
|
10
|
+
* [Add shell passenger to execute shell scripts](https://github.com/moonglum/exogenesis/pull/59)
|
11
|
+
* [Updated Bundler](https://github.com/moonglum/exogenesis/pull/66)
|
12
|
+
* [Some fonts have spaces in the name](https://github.com/moonglum/exogenesis/pull/67)
|
13
|
+
* [Vim Plug Support](https://github.com/moonglum/exogenesis/pull/68)
|
14
|
+
|
15
|
+
## 0.2
|
16
|
+
|
17
|
+
**Codename:** *It's bigger on the inside*
|
18
|
+
|
19
|
+
* The BIG refactoring
|
20
|
+
* Better Names for things
|
21
|
+
* New passengers: rbenv, npm, homebrew casks
|
22
|
+
* Configure which passengers to use via the YML file
|
23
|
+
* Introducing `needs` and `register_as` for Passengers
|
24
|
+
* Forward commands from passengers to executor
|
25
|
+
* Introduction of the Exogenesis badge/shield
|
26
|
+
* **Unique Cover Art in exogenesis:** For example the beer emoji for homebrew. Defaults to the star. Something's already brewing in my secret lab.
|
27
|
+
* New contributors: @bitboxer and @thegcat
|
28
|
+
* Simplified management with `up`, `down` and `clean`
|
29
|
+
|
3
30
|
## 0.1
|
4
31
|
|
5
32
|
* Original Extraction from [moonglum's dotfiles](https://github.com/moonglum/dotfiles)
|
data/README.md
CHANGED
@@ -74,6 +74,8 @@ Not all package managers will need all of the methods. Just do not implement the
|
|
74
74
|
* **Vundle:** Install/Uninstall/Update Vundle and its packages
|
75
75
|
* **GitRepo:** Clone/Pull Git Repos to certain paths
|
76
76
|
* **NPM**: Install/Uninstall NPM and its packages
|
77
|
+
* **Shell**: Executes commands on the shell
|
78
|
+
* **VimPlug**: Install/Update plugins with [vim-plug](https://github.com/junegunn/vim-plug)
|
77
79
|
|
78
80
|
## Contributing
|
79
81
|
|
@@ -83,3 +85,4 @@ So far, the following people have contributed to the project:
|
|
83
85
|
|
84
86
|
* Bodo Tasche aka @bitboxer
|
85
87
|
* Felix Schäfer aka @thegcat
|
88
|
+
* Gil Desmarais aka @gill0r
|
data/exogenesis.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
21
|
spec.add_dependency 'megingiard', '~> 0.1.0'
|
22
|
-
spec.add_development_dependency 'bundler'
|
22
|
+
spec.add_development_dependency 'bundler'
|
23
23
|
spec.add_development_dependency 'rake', '~> 10.3.2'
|
24
24
|
spec.add_development_dependency 'rspec', '~> 3.0.0'
|
25
25
|
end
|
data/lib/exogenesis.rb
CHANGED
@@ -9,6 +9,8 @@ require 'exogenesis/passengers/fonts'
|
|
9
9
|
require 'exogenesis/passengers/python'
|
10
10
|
require 'exogenesis/passengers/git_repo'
|
11
11
|
require 'exogenesis/passengers/npm'
|
12
|
+
require 'exogenesis/passengers/shell'
|
13
|
+
require 'exogenesis/passengers/vim_plug'
|
12
14
|
require 'exogenesis/support/output'
|
13
15
|
require 'exogenesis/support/executor'
|
14
16
|
require 'exogenesis/support/ship'
|
@@ -34,7 +34,7 @@ class Fonts < Passenger
|
|
34
34
|
if File.exist? target_font_path(file)
|
35
35
|
skip_task "Copying #{File.basename file}", 'Already copied'
|
36
36
|
else
|
37
|
-
execute "Copying #{File.basename file}", "cp #{file} #{target_font_path(file)}"
|
37
|
+
execute "Copying #{File.basename file}", "cp '#{file}' '#{target_font_path(file)}'"
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'exogenesis/support/passenger'
|
2
|
+
|
3
|
+
# Executes shell commands
|
4
|
+
class Shell < Passenger
|
5
|
+
register_as :shell
|
6
|
+
needs :commands
|
7
|
+
with_emoji :shell
|
8
|
+
|
9
|
+
def up
|
10
|
+
commands.each do |command|
|
11
|
+
execute_command(command)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def execute_command(command)
|
18
|
+
execute "Executing command `#{command}`", "#{command}"
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'exogenesis/support/passenger'
|
2
|
+
|
3
|
+
class VimPlug < Passenger
|
4
|
+
register_as :vim_plug
|
5
|
+
with_emoji :gift
|
6
|
+
|
7
|
+
def up
|
8
|
+
execute_interactive 'Installing and Updating Vim plugins', 'vim +PlugUpdate\! +qall'
|
9
|
+
end
|
10
|
+
|
11
|
+
def down
|
12
|
+
end
|
13
|
+
|
14
|
+
def clean
|
15
|
+
execute_interactive 'Cleaning', 'vim +PlugClean\! +qall'
|
16
|
+
end
|
17
|
+
end
|
data/lib/exogenesis/version.rb
CHANGED
data/spec/unit/fonts_spec.rb
CHANGED
@@ -24,9 +24,9 @@ describe Fonts do
|
|
24
24
|
|
25
25
|
it 'should copy fonts if they are not found' do
|
26
26
|
expect(executor).to receive(:execute)
|
27
|
-
.with('Copying roboto.ttf', "cp #{config.fonts_path}/roboto.ttf #{ENV['HOME']}/Library/Fonts/roboto.ttf")
|
27
|
+
.with('Copying roboto.ttf', "cp '#{config.fonts_path}/roboto.ttf' '#{ENV['HOME']}/Library/Fonts/roboto.ttf'")
|
28
28
|
expect(executor).to receive(:execute)
|
29
|
-
.with('Copying bignoodle.otf', "cp #{config.fonts_path}/bignoodle.otf #{ENV['HOME']}/Library/Fonts/bignoodle.otf")
|
29
|
+
.with('Copying bignoodle.otf', "cp '#{config.fonts_path}/bignoodle.otf' '#{ENV['HOME']}/Library/Fonts/bignoodle.otf'")
|
30
30
|
subject.up
|
31
31
|
end
|
32
32
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'exogenesis/passengers/shell'
|
3
|
+
|
4
|
+
describe Shell do
|
5
|
+
let(:config) { double }
|
6
|
+
let(:commands) { ['echo "hello world"'] }
|
7
|
+
|
8
|
+
before {
|
9
|
+
allow(config).to receive(:commands).and_return(commands)
|
10
|
+
}
|
11
|
+
|
12
|
+
let(:executor) { executor_double }
|
13
|
+
|
14
|
+
subject { Shell.new(config, executor) }
|
15
|
+
|
16
|
+
describe :up do
|
17
|
+
it 'should succeed if exit code is equal 0' do
|
18
|
+
expect(executor).to receive(:execute)
|
19
|
+
.with('Executing command `echo "hello world"`', 'echo "hello world"')
|
20
|
+
subject.up
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'exogenesis/passengers/vim_plug'
|
3
|
+
|
4
|
+
describe VimPlug do
|
5
|
+
let(:config) { double }
|
6
|
+
let(:executor) { executor_double }
|
7
|
+
|
8
|
+
subject { VimPlug.new(config, executor) }
|
9
|
+
|
10
|
+
describe :up do
|
11
|
+
it 'should install and update plugins' do
|
12
|
+
expect(executor).to receive(:execute_interactive).with('Installing and Updating Vim plugins', 'vim +PlugUpdate\! +qall')
|
13
|
+
subject.up
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe :clean do
|
18
|
+
it 'should interactively execute BundleClean' do
|
19
|
+
executor.should_receive(:execute_interactive).with('Cleaning', 'vim +PlugClean\! +qall')
|
20
|
+
subject.clean
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exogenesis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- moonglum
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: megingiard
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -93,6 +93,8 @@ files:
|
|
93
93
|
- lib/exogenesis/passengers/python.rb
|
94
94
|
- lib/exogenesis/passengers/rbenv.rb
|
95
95
|
- lib/exogenesis/passengers/rvm.rb
|
96
|
+
- lib/exogenesis/passengers/shell.rb
|
97
|
+
- lib/exogenesis/passengers/vim_plug.rb
|
96
98
|
- lib/exogenesis/passengers/vundle.rb
|
97
99
|
- lib/exogenesis/support/executor.rb
|
98
100
|
- lib/exogenesis/support/output.rb
|
@@ -112,6 +114,8 @@ files:
|
|
112
114
|
- spec/unit/python_spec.rb
|
113
115
|
- spec/unit/rbenv_spec.rb
|
114
116
|
- spec/unit/rvm_spec.rb
|
117
|
+
- spec/unit/shell_spec.rb
|
118
|
+
- spec/unit/vim_plug_spec.rb
|
115
119
|
- spec/unit/vundle_spec.rb
|
116
120
|
homepage: https://github.com/moonglum/exogenesis
|
117
121
|
licenses:
|
@@ -133,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
137
|
version: '0'
|
134
138
|
requirements: []
|
135
139
|
rubyforge_project:
|
136
|
-
rubygems_version: 2.
|
140
|
+
rubygems_version: 2.4.5
|
137
141
|
signing_key:
|
138
142
|
specification_version: 4
|
139
143
|
summary: A collection of classes that help you install, update and teardown package
|
@@ -150,4 +154,6 @@ test_files:
|
|
150
154
|
- spec/unit/python_spec.rb
|
151
155
|
- spec/unit/rbenv_spec.rb
|
152
156
|
- spec/unit/rvm_spec.rb
|
157
|
+
- spec/unit/shell_spec.rb
|
158
|
+
- spec/unit/vim_plug_spec.rb
|
153
159
|
- spec/unit/vundle_spec.rb
|