teamocil 0.3.5 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,8 +1,7 @@
1
- # Teamocil
1
+ # Teamocil [![Build Status](https://secure.travis-ci.org/remiprev/teamocil.png)](http://travis-ci.org/remiprev/teamocil)
2
2
 
3
3
  Teamocil is a simple tool used to automatically create sessions, windows and splits in [tmux](http://tmux.sourceforge.net/) with YAML files.
4
4
 
5
- [![Build Status](https://secure.travis-ci.org/remiprev/teamocil.png)](http://travis-ci.org/remiprev/teamocil)
6
5
 
7
6
  ## Usage
8
7
 
@@ -16,14 +15,15 @@ $ teamocil sample
16
15
 
17
16
  ## Options
18
17
 
19
- * `--here` opens the session in the current window, it doesn’t create an empty first window.
18
+ * `--here` opens the session in the current window, do not create an empty first window.
20
19
  * `--layout` takes a custom file path to a YAML layout file.
21
20
  * `--edit` opens the layout file (whether or not `--layout` is used) with `$EDITOR`.
22
- * `--list` lists all available layouts.
21
+ * `--list` lists all available layouts in `./.teamocil` or `$TEAMOCIL_PATH`.
22
+ * `--show` show the layout content instead of executing it.
23
23
 
24
24
  ## Layout file structure
25
25
 
26
- A layout file is a single YAML file located in `~/.teamocil` (eg. `~/.teamocil/my-project.yml`).
26
+ A layout file is a single YAML file located in `~/.teamocil` or `$TEAMOCIL_PATH` (eg. `~/.teamocil/my-project.yml`).
27
27
 
28
28
  ### Session
29
29
 
data/lib/teamocil.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Teamocil
2
- VERSION = "0.3.5"
2
+ VERSION = "0.3.6"
3
3
  autoload :Layout, "teamocil/layout"
4
4
  autoload :CLI, "teamocil/cli"
5
5
  end
data/lib/teamocil/cli.rb CHANGED
@@ -13,7 +13,7 @@ module Teamocil
13
13
  # @param env [Hash] the environment variables hash (usually `ENV`).
14
14
  def initialize(argv, env) # {{{
15
15
  parse_options! argv
16
- layout_path = File.join("#{env["HOME"]}", ".teamocil")
16
+ layout_path = env["TEAMOCIL_PATH"] || File.join("#{env["HOME"]}", ".teamocil")
17
17
 
18
18
  if @options.include?(:list)
19
19
  @layouts = get_layouts(layout_path)
data/spec/cli_spec.rb CHANGED
@@ -62,6 +62,16 @@ describe Teamocil::CLI do
62
62
  Teamocil::CLI.new(["--show", "sample"], @fake_env)
63
63
  end # }}}
64
64
 
65
+ it "looks only in the $TEAMOCIL_PATH environment variable for layouts" do # {{{
66
+ @fake_env = { "TMUX" => 1, "HOME" => File.join(File.dirname(__FILE__), "fixtures"), "TEAMOCIL_PATH" => File.join(File.dirname(__FILE__), "fixtures/.my-fancy-layouts-directory") }
67
+
68
+ @cli = Teamocil::CLI.new(["sample-3"], @fake_env)
69
+ @cli.layout.session.name.should == "sample-3"
70
+
71
+ lambda { @cli = Teamocil::CLI.new(["sample"], @fake_env) }.should raise_error SystemExit
72
+ Teamocil::CLI.messages.should include("There is no file \"#{@fake_env["TEAMOCIL_PATH"]}/sample.yml\"")
73
+ end # }}}
74
+
65
75
  end
66
76
 
67
77
  end
@@ -0,0 +1,10 @@
1
+ session:
2
+ name: sample-3
3
+ root: ~
4
+ windows:
5
+ - name: "foo"
6
+ splits:
7
+ - cmd: "pwd"
8
+ - name: "bar"
9
+ splits:
10
+ - cmd: "pwd"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teamocil
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-23 00:00:00.000000000Z
12
+ date: 2012-06-14 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -102,6 +102,7 @@ files:
102
102
  - lib/teamocil/layout/split.rb
103
103
  - lib/teamocil/layout/window.rb
104
104
  - spec/cli_spec.rb
105
+ - spec/fixtures/.my-fancy-layouts-directory/sample-3.yml
105
106
  - spec/fixtures/.teamocil/sample-2.yml
106
107
  - spec/fixtures/.teamocil/sample.yml
107
108
  - spec/fixtures/layouts.yml
@@ -124,7 +125,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
124
125
  version: '0'
125
126
  segments:
126
127
  - 0
127
- hash: 83380787884678327
128
+ hash: -4479356697983791717
128
129
  required_rubygems_version: !ruby/object:Gem::Requirement
129
130
  none: false
130
131
  requirements:
@@ -133,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
134
  version: '0'
134
135
  segments:
135
136
  - 0
136
- hash: 83380787884678327
137
+ hash: -4479356697983791717
137
138
  requirements: []
138
139
  rubyforge_project:
139
140
  rubygems_version: 1.8.18
@@ -142,6 +143,7 @@ specification_version: 3
142
143
  summary: Easy window and split layouts for tmux
143
144
  test_files:
144
145
  - spec/cli_spec.rb
146
+ - spec/fixtures/.my-fancy-layouts-directory/sample-3.yml
145
147
  - spec/fixtures/.teamocil/sample-2.yml
146
148
  - spec/fixtures/.teamocil/sample.yml
147
149
  - spec/fixtures/layouts.yml