teamocil 0.3.5 → 0.3.6

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.
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