workon 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/workon/actor/base.rb +5 -1
- data/lib/workon/actor/middleman.rb +14 -0
- data/lib/workon/actor.rb +28 -8
- data/lib/workon/version.rb +1 -1
- data/lib/workon.rb +1 -1
- metadata +3 -2
data/lib/workon/actor/base.rb
CHANGED
@@ -23,6 +23,10 @@ module Workon
|
|
23
23
|
@_subclasses
|
24
24
|
end
|
25
25
|
|
26
|
+
def self.before(other = :all)
|
27
|
+
Workon::Actor.before self, other
|
28
|
+
end
|
29
|
+
|
26
30
|
def initialize(path)
|
27
31
|
@path = path
|
28
32
|
end
|
@@ -34,7 +38,7 @@ module Workon
|
|
34
38
|
def has_option?(key)
|
35
39
|
key = key.to_sym
|
36
40
|
|
37
|
-
!options[key].nil? && !options[key].empty?
|
41
|
+
!options[key].nil? && (options[key] || !options[key].empty?)
|
38
42
|
end
|
39
43
|
|
40
44
|
def fetch_option(key, default = nil)
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Workon
|
2
|
+
module Actor
|
3
|
+
class Middleman < Base
|
4
|
+
option('--middleman', 'Start mm-server') { |v| options[:middleman] = true }
|
5
|
+
|
6
|
+
def commit
|
7
|
+
if fetch_option :middleman, false
|
8
|
+
screen "mm-server"
|
9
|
+
run "sleep 3 && open http://localhost:4567/"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/lib/workon/actor.rb
CHANGED
@@ -1,11 +1,3 @@
|
|
1
|
-
require 'workon/actor/base'
|
2
|
-
require 'workon/actor/text_mate'
|
3
|
-
require 'workon/actor/web_browser'
|
4
|
-
require 'workon/actor/finder'
|
5
|
-
require 'workon/actor/git'
|
6
|
-
require 'workon/actor/watchr'
|
7
|
-
require 'workon/actor/passenger'
|
8
|
-
|
9
1
|
module Workon
|
10
2
|
module Actor
|
11
3
|
include Enumerable
|
@@ -13,5 +5,33 @@ module Workon
|
|
13
5
|
def self.each(&block)
|
14
6
|
Workon::Actor::Base.subclasses.each {|c| yield c }
|
15
7
|
end
|
8
|
+
|
9
|
+
def self.before(actor = nil, other = nil)
|
10
|
+
@before ||= {}
|
11
|
+
|
12
|
+
return @before if actor.nil?
|
13
|
+
raise ArgumentError if other.nil?
|
14
|
+
|
15
|
+
@before[other] = actor
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.ordered
|
19
|
+
order ||= Workon::Actor::Base.subclasses.inject([]) do |memo, klass|
|
20
|
+
finder = klass.name.split('::').last
|
21
|
+
other = before[finder.to_sym]
|
22
|
+
should_add = !Workon.config[:without].include?(finder) && !memo.include?(klass)
|
23
|
+
|
24
|
+
should_add ? memo + (other ? [other, klass] : [klass]) : memo
|
25
|
+
end
|
26
|
+
end
|
16
27
|
end
|
17
28
|
end
|
29
|
+
|
30
|
+
require 'workon/actor/base'
|
31
|
+
require 'workon/actor/text_mate'
|
32
|
+
require 'workon/actor/web_browser'
|
33
|
+
require 'workon/actor/finder'
|
34
|
+
require 'workon/actor/git'
|
35
|
+
require 'workon/actor/watchr'
|
36
|
+
require 'workon/actor/passenger'
|
37
|
+
require 'workon/actor/middleman'
|
data/lib/workon/version.rb
CHANGED
data/lib/workon.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: workon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.7
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Mike Wyatt
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-03-14 00:00:00 -02:30
|
14
14
|
default_executable:
|
15
15
|
dependencies: []
|
16
16
|
|
@@ -34,6 +34,7 @@ files:
|
|
34
34
|
- lib/workon/actor/base.rb
|
35
35
|
- lib/workon/actor/finder.rb
|
36
36
|
- lib/workon/actor/git.rb
|
37
|
+
- lib/workon/actor/middleman.rb
|
37
38
|
- lib/workon/actor/passenger.rb
|
38
39
|
- lib/workon/actor/text_mate.rb
|
39
40
|
- lib/workon/actor/watchr.rb
|