workon 0.0.6 → 0.0.7
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/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
|