foreman 0.24.0 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/foreman/cli.rb CHANGED
@@ -28,6 +28,7 @@ class Foreman::CLI < Thor
28
28
 
29
29
  method_option :app, :type => :string, :aliases => "-a"
30
30
  method_option :log, :type => :string, :aliases => "-l"
31
+ method_option :env, :type => :string, :aliases => "-e", :desc => "Specify an environment file to load, defaults to .env"
31
32
  method_option :port, :type => :numeric, :aliases => "-p"
32
33
  method_option :user, :type => :string, :aliases => "-u"
33
34
  method_option :template, :type => :string, :aliases => "-t"
@@ -184,7 +184,7 @@ private ######################################################################
184
184
  return {} unless File.exists?(filename)
185
185
 
186
186
  File.read(filename).split("\n").inject({}) do |hash, line|
187
- if line =~ /\A([A-Za-z_]+)=(.*)\z/
187
+ if line =~ /\A([A-Za-z_0-9]+)=(.*)\z/
188
188
  hash[$1] = $2
189
189
  end
190
190
  hash
@@ -1,5 +1,5 @@
1
1
  module Foreman
2
2
 
3
- VERSION = "0.24.0"
3
+ VERSION = "0.25.0"
4
4
 
5
5
  end
@@ -26,6 +26,15 @@ describe "Foreman::CLI" do
26
26
  end
27
27
 
28
28
  describe "export" do
29
+ describe "options" do
30
+ it "respects --env" do
31
+ write_procfile
32
+ write_env("envfile")
33
+ mock.instance_of(Foreman::Export::Upstart).export("/upstart", { "env" => "envfile" })
34
+ foreman %{ export upstart /upstart --env envfile }
35
+ end
36
+ end
37
+
29
38
  describe "with a non-existent Procfile" do
30
39
  it "prints an error" do
31
40
  mock_error(subject, "Procfile does not exist.") do
data/spec/spec_helper.rb CHANGED
@@ -12,6 +12,10 @@ def mock_error(subject, message)
12
12
  end
13
13
  end
14
14
 
15
+ def foreman(args)
16
+ Foreman::CLI.start(args.split(" "))
17
+ end
18
+
15
19
  def mock_exit(&block)
16
20
  block.should raise_error(SystemExit)
17
21
  end
@@ -33,6 +37,12 @@ def write_procfile(procfile="Procfile")
33
37
  File.expand_path(procfile)
34
38
  end
35
39
 
40
+ def write_env(env=".env")
41
+ File.open(env, "w") do |file|
42
+ file.puts "FOO=bar"
43
+ end
44
+ end
45
+
36
46
  def load_export_templates_into_fakefs(type)
37
47
  FakeFS.deactivate!
38
48
  files = Dir[File.expand_path("../../data/export/#{type}/**", __FILE__)].inject({}) do |hash, file|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.0
4
+ version: 0.25.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-04 00:00:00.000000000Z
12
+ date: 2011-10-17 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: term-ansicolor
16
- requirement: &70155363724260 !ruby/object:Gem::Requirement
16
+ requirement: &70259497066180 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.0.5
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70155363724260
24
+ version_requirements: *70259497066180
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: thor
27
- requirement: &70155363722660 !ruby/object:Gem::Requirement
27
+ requirement: &70259497065620 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: 0.13.6
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70155363722660
35
+ version_requirements: *70259497065620
36
36
  description: Process manager for applications with multiple components
37
37
  email: ddollar@gmail.com
38
38
  executables:
@@ -94,7 +94,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
94
94
  version: '0'
95
95
  segments:
96
96
  - 0
97
- hash: 3975386254476166563
97
+ hash: 1985710685815215067
98
98
  required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  none: false
100
100
  requirements:
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  version: '0'
104
104
  segments:
105
105
  - 0
106
- hash: 3975386254476166563
106
+ hash: 1985710685815215067
107
107
  requirements: []
108
108
  rubyforge_project:
109
109
  rubygems_version: 1.8.10