c42 0.0.3 → 0.0.5

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.
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