c42 0.0.3 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2fa7e7ac4716daf5c62c29737b1f43e49b7bb764
4
- data.tar.gz: 18bf0bec3444c9518eee5425011f35bb1ea96e71
3
+ metadata.gz: ebf0e158565afb26399972d6eeffc1f5d5704161
4
+ data.tar.gz: d4a9ef455432f84deb01cca6fa8d03b20aef6566
5
5
  SHA512:
6
- metadata.gz: a688fcaa87f73c82566c9b61062cbe7d93fbd3e6818d869571a3da9fb3d42cdae40abb3e2892491c79c14526b6e182b704637c5857146039fc668c18e7902192
7
- data.tar.gz: ba31150311416dafc5d6785c3511c7df93fb6e0e300a7a4be277065c14ef8e2b1aa68ca2a1a7032718562981c0aa371fb0c3cea59a7b8ab9f59f6c3b067a1671
6
+ metadata.gz: 924cb6e1d3c08d45436defd9c7ac00e433b9d2cb6931bcb71ee653719d48d15768ff1591c276d7b51b4b1cd5caad14fcf3acc9edaace359046fe39b8effc9c9b
7
+ data.tar.gz: 383a814a60b9cb0ffb155ea139b838c576ffd930b0a59eebc7efeca8b41d354d655add2a8979d21043b8b194087b0b6a1bc33378b79d4ad465ec97e153dcc07a
@@ -2,14 +2,42 @@ require "thor"
2
2
 
3
3
  module C42
4
4
  class C42file < ::Thor
5
+ include Thor::Actions
6
+
7
+ protected
8
+ def shell
9
+ @shell ||= Thor::Base.shell.new
10
+ end
11
+
12
+ def error(msg)
13
+ shell.say_status("ERROR", msg, :red)
14
+ end
15
+
16
+ def warn(msg)
17
+ shell.say_status("WARN", msg, :yellow)
18
+ end
19
+
20
+ def info(msg)
21
+ shell.say_status("INFO", msg, :on_black)
22
+ end
23
+
24
+ def debug(msg)
25
+ shell.say_status("DEBUG", msg, :green)
26
+ end
27
+
28
+ def fatal(msg)
29
+ shell.say_status("FATAL", msg, :on_red)
30
+ exit
31
+ end
32
+
5
33
  class << self
6
34
  def task(name, &block)
7
35
  self.instance_eval do
8
- define_method name, &block
36
+ define_method :"#{name}", &block
9
37
  end
10
38
  end
11
39
 
12
- def shell_proxy(name, command)
40
+ def shell_task(name, command)
13
41
  task :"#{name}" do |*args|
14
42
  cmd = ([command] | (args || [])).flatten
15
43
  Kernel.send(
@@ -21,6 +49,37 @@ module C42
21
49
  end
22
50
  end
23
51
 
52
+ def package(pkg_name, &block)
53
+ self.instance_eval %{
54
+ class << self
55
+ alias_method :__original_desc, :desc
56
+ alias_method :__original_task, :task
57
+
58
+ def desc(name, *args, &block)
59
+ self.send(:__original_desc, *(["#{pkg_name}:\#{name}"] | (args || [])))
60
+ end
61
+
62
+ def task(name, *args, &block)
63
+ self.instance_eval do
64
+ define_method :"#{pkg_name}:\#{name}", &block
65
+ end
66
+ end
67
+ end
68
+ }
69
+
70
+ self.instance_eval &block
71
+
72
+ self.instance_eval %{
73
+ class << self
74
+ remove_method :desc
75
+ remove_method :task
76
+ alias_method :desc, :__original_desc
77
+ alias_method :task, :__original_task
78
+ remove_method :__original_desc
79
+ remove_method :__original_task
80
+ end
81
+ }
82
+ end
24
83
  end
25
84
  end
26
85
  end
@@ -4,12 +4,12 @@ require "thor/util"
4
4
 
5
5
  module C42
6
6
  class Runner
7
- C42_HOME_FILE = File.expand_path("~/.c42/C42file").freeze
7
+ C42_HOME_FILE = File.expand_path("~/.c42/tasks.rb").freeze
8
8
 
9
9
  def self.run
10
10
  c42s = []
11
11
  Pathname.pwd.ascend do |path|
12
- c42s << Dir[Thor::Util.escape_globs(path)+"/C42file"]
12
+ c42s << Dir[Thor::Util.escape_globs(path)+"/tasks.rb"]
13
13
  c42s << Dir[Thor::Util.escape_globs(path)+"/tasks/.c42"]
14
14
  end
15
15
  c42s << C42_HOME_FILE if File.exists?(C42_HOME_FILE)
@@ -1,3 +1,3 @@
1
1
  module C42
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: c42
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - commit42