greenhouse 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/greenhouse/commands/console.rb +42 -0
- data/lib/greenhouse/commands.rb +1 -0
- data/lib/greenhouse/projects/project.rb +2 -2
- data/lib/greenhouse/projects.rb +1 -1
- data/lib/greenhouse/scripts/script.rb +4 -4
- data/lib/greenhouse/tasks/add_project.rb +1 -1
- data/lib/greenhouse/version.rb +6 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb09c160cfae667639e3d36d4ac008e47dcbd7fd
|
4
|
+
data.tar.gz: a20696bc130d382de9b591e2336f34f5f943d667
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 04f751c5e720212da0918a2868bbc727083295bb96e61eb8613d3ecec9c8c133567a9cf4f2b80fe05b9072f032993f74e8ef7652bb3dcda9709445c5eb425dea
|
7
|
+
data.tar.gz: 0bccfedd895e135bce4ecd184349b6275d9f0f0e33b932177e67336d706e1d2c774fd8eb67c73c61421ab026cebd553cfda7ce8db10a2c4c86af91e1b8868fcb
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Greenhouse
|
2
|
+
module Commands
|
3
|
+
class Console
|
4
|
+
include Command
|
5
|
+
command_summary "Run a rails console for one of your applications"
|
6
|
+
project_arguments *Projects::applications.map(&:to_arg)
|
7
|
+
|
8
|
+
class << self
|
9
|
+
def usage
|
10
|
+
puts <<USAGE
|
11
|
+
usage: #{::Greenhouse::CLI.command_name} #{command_name} <application> #{valid_arguments.to_s}
|
12
|
+
|
13
|
+
Applications:
|
14
|
+
#{project_arguments.to_help}
|
15
|
+
USAGE
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def run
|
20
|
+
if arguments.empty? || arguments.all? { |arg| valid_arguments.map(&:keys).flatten.include?(arg) }
|
21
|
+
puts "An application is required."
|
22
|
+
puts
|
23
|
+
print " "
|
24
|
+
usage
|
25
|
+
return
|
26
|
+
end
|
27
|
+
|
28
|
+
app = Projects::applications.select { |application| arguments.map(&:key).include?(application.name) }.first
|
29
|
+
if app.nil?
|
30
|
+
puts "Application does not exist. Try adding it with `#{::Greenhouse::CLI::binary} add` and initializing it with `#{::Greenhouse::CLI::binary} init`"
|
31
|
+
return
|
32
|
+
end
|
33
|
+
|
34
|
+
Bundler.with_clean_env do
|
35
|
+
app.chdir do
|
36
|
+
exec 'bundle exec rails console'
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
data/lib/greenhouse/commands.rb
CHANGED
@@ -24,6 +24,7 @@ require 'greenhouse/commands/add'
|
|
24
24
|
require 'greenhouse/commands/status'
|
25
25
|
require 'greenhouse/commands/launch'
|
26
26
|
require 'greenhouse/commands/start'
|
27
|
+
require 'greenhouse/commands/console'
|
27
28
|
require 'greenhouse/commands/push'
|
28
29
|
require 'greenhouse/commands/pull'
|
29
30
|
require 'greenhouse/commands/sync'
|
@@ -15,8 +15,8 @@ module Greenhouse
|
|
15
15
|
|
16
16
|
def initialize(name, args={})
|
17
17
|
@name = name
|
18
|
-
@title = args.delete(
|
19
|
-
@ignored = (args.has_key?(
|
18
|
+
@title = args.delete(:title) || name.camelize
|
19
|
+
@ignored = (args.has_key?(:ignore) ? [args.delete(:ignore)] : []).flatten
|
20
20
|
@repository = Repository.new(name, args)
|
21
21
|
@ignore_file = Resources::IgnoreFile.new("#{path}/.ignore")
|
22
22
|
end
|
data/lib/greenhouse/projects.rb
CHANGED
@@ -30,7 +30,7 @@ module Greenhouse
|
|
30
30
|
|
31
31
|
projects_file.projects.each do |name,project|
|
32
32
|
type = (project.has_key?('type') ? project['type'] : 'project')
|
33
|
-
projargs = project.merge({:remote => (project['remote'] || project['git'])})
|
33
|
+
projargs = Hash[project.merge({:remote => (project['remote'] || project['git'])}).map{ |k,v| [k.to_sym, v] }]
|
34
34
|
classname = "Greenhouse::Projects::#{type.singularize.camelize}"
|
35
35
|
@@projects << (defined?(classname.constantize) ? classname.constantize.new(name, projargs) : Greenhouse::Projects::Project.new(name, projargs))
|
36
36
|
end
|
@@ -78,16 +78,16 @@ module Greenhouse
|
|
78
78
|
argarr = arg.split("=")
|
79
79
|
argkey = argarr.slice!(0)
|
80
80
|
|
81
|
-
if !valid_arguments.concat(project_arguments).map(&:keys).any? { |keys| keys.include?(argkey) } && !arg.match(/\A(-)+[a-z0-9\-]=?.*\Z/i) && (a > 0 && args[a-1].match(/\A(-)+[a-z0-9\-]=?.*\Z/i)) && !@arguments.empty?
|
81
|
+
if !valid_arguments.clone.concat(project_arguments).map(&:keys).any? { |keys| keys.include?(argkey) } && !arg.match(/\A(-)+[a-z0-9\-]=?.*\Z/i) && (a > 0 && args[a-1].match(/\A(-)+[a-z0-9\-]=?.*\Z/i)) && !@arguments.empty?
|
82
82
|
@arguments.last.value = arg
|
83
83
|
next
|
84
84
|
end
|
85
85
|
|
86
86
|
if validate_arguments?
|
87
|
-
raise InvalidArgument, "Invalid Argument: #{arg}" unless valid_arguments.concat(project_arguments).map(&:keys).any? { |keys| keys.include?(argkey) }
|
88
|
-
@arguments << valid_arguments.concat(project_arguments).select { |varg| varg.keys.include?(argkey) }.first
|
87
|
+
raise InvalidArgument, "Invalid Argument: #{arg}" unless valid_arguments.clone.concat(project_arguments).map(&:keys).any? { |keys| keys.include?(argkey) }
|
88
|
+
@arguments << valid_arguments.clone.concat(project_arguments).select { |varg| varg.keys.include?(argkey) }.first
|
89
89
|
else
|
90
|
-
valid_arg = valid_arguments.concat(project_arguments).select { |varg| varg.keys.include?(argkey) }.first
|
90
|
+
valid_arg = valid_arguments.clone.concat(project_arguments).select { |varg| varg.keys.include?(argkey) }.first
|
91
91
|
@arguments << (valid_arg || Argument.new(argkey))
|
92
92
|
end
|
93
93
|
@arguments.last.value = argarr.join("=") unless argarr.empty?
|
@@ -6,7 +6,7 @@ module Greenhouse
|
|
6
6
|
def prompt_for_project
|
7
7
|
remote = nil
|
8
8
|
print "Enter a git remote to add a project (leave blank to skip): "
|
9
|
-
remote = STDIN.gets.chomp
|
9
|
+
remote = STDIN.gets.chomp
|
10
10
|
return if remote.empty?
|
11
11
|
project = Projects::Project.new(remote.match(/([^\/]*)\.git/)[1], {remote: remote})
|
12
12
|
|
data/lib/greenhouse/version.rb
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
module Greenhouse
|
2
|
-
VERSION = "0.0.
|
2
|
+
VERSION = "0.0.6"
|
3
3
|
end
|
4
4
|
|
5
5
|
__END__
|
6
|
+
0.0.6:
|
7
|
+
* Don't downcase git repos (duh)
|
8
|
+
* Add console command to easily run rails console for rails apps
|
9
|
+
* Some minor internal cleanup
|
10
|
+
|
6
11
|
0.0.5:
|
7
12
|
* Fix for pushing projects by ensuring each branch is pushed individually
|
8
13
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: greenhouse
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Rebec
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-05-
|
11
|
+
date: 2013-05-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -133,6 +133,7 @@ files:
|
|
133
133
|
- lib/greenhouse/commands/new.rb
|
134
134
|
- lib/greenhouse/commands/status.rb
|
135
135
|
- lib/greenhouse/commands/sync.rb
|
136
|
+
- lib/greenhouse/commands/console.rb
|
136
137
|
- lib/greenhouse/commands/launch.rb
|
137
138
|
- lib/greenhouse/commands/add.rb
|
138
139
|
- lib/greenhouse/commands/push.rb
|