mystro-common 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -1,51 +1 @@
1
1
  require "bundler/gem_tasks"
2
-
3
- def changelog(last=nil, single=false)
4
- command="git --no-pager log --format='%an::::%h::::%s'"
5
-
6
- list = `git tag`
7
-
8
- puts "# Changelog"
9
- puts
10
-
11
- ordered = list.lines.sort_by {|e| (a,b,c) = e.gsub(/^v/,"").split("."); "%3d%3d%3d" % [a, b, c]}
12
-
13
- ordered.reject{|e| (a,b,c,d) = e.split("."); !d.nil?}.reverse_each do |t|
14
- tag = t.chomp
15
-
16
- if last
17
- check = { }
18
- out = []
19
- log = `#{command} #{last}...#{tag}`
20
- log.lines.each do |line|
21
- (who, hash, msg) = line.split('::::')
22
- unless check[msg]
23
- unless msg =~ /^Merge branch/ || msg =~ /CHANGELOG/ || msg =~ /^(v|version|changes for|preparing|ready for release|ready to release|bump version)*\s*(v|version)*\d+\.\d+\.\d+/
24
- msg.gsub(" *", "\n*").gsub(/^\*\*/, " *").lines.each do |l|
25
- line = l =~ /^(\s+)*\*/ ? l : "* #{l}"
26
- out << line
27
- end
28
- check[msg] = hash
29
- end
30
- end
31
- end
32
- puts "## #{last}:"
33
- out.each { |e| puts e }
34
- #puts log
35
- puts
36
- end
37
-
38
- last = tag
39
- exit if single
40
- end
41
- end
42
-
43
- desc "generate changelog output"
44
- task :changelog do
45
- changelog
46
- end
47
-
48
- desc "show current changes (changelog output from HEAD to most recent tag)"
49
- task :current do
50
- changelog("HEAD",true)
51
- end
@@ -3,7 +3,7 @@ module Mystro
3
3
  module Version
4
4
  MAJOR = 0
5
5
  MINOR = 1
6
- TINY = 0
6
+ TINY = 2
7
7
  TAG = nil
8
8
  STRING = [MAJOR, MINOR, TINY, TAG].compact.join(".")
9
9
  end
data/lib/mystro/plugin.rb CHANGED
@@ -35,10 +35,51 @@ module Mystro
35
35
  end
36
36
  end
37
37
 
38
- def register(plugin, type, klass)
38
+ def register(key, opts={})
39
39
  @plugins ||= {}
40
- @plugins[type] ||= {}
41
- @plugins[type][plugin] = klass
40
+ @plugins[key] = opts
41
+ name = key.to_s.capitalize
42
+ @plugins[key][:name] = name
43
+ end
44
+
45
+ def ui
46
+ @ui ||= begin
47
+ ui = {}
48
+ @plugins.each do |key, opts|
49
+ if opts[:ui]
50
+ n = opts[:name]
51
+ ui[n] = opts[:ui]
52
+ end
53
+ end
54
+ ui
55
+ end
56
+ end
57
+
58
+ def jobs
59
+ @jobs ||= begin
60
+ jobs = []
61
+ @plugins.each do |key, opts|
62
+ if opts[:jobs]
63
+ jobs << opts[:jobs]
64
+ end
65
+ end
66
+ jobs.flatten
67
+ end
68
+ end
69
+
70
+ def schedule
71
+ @schedule ||= begin
72
+ s = {}
73
+ @plugins.each do |key, opts|
74
+ if opts[:schedule]
75
+ opts[:schedule].each do |w, o|
76
+ n = w.to_s.capitalize + "Worker"
77
+ s[n] = { "cron" => o}
78
+ end
79
+ end
80
+ end
81
+ s
82
+ end
42
83
  end
43
84
  end
44
85
 
@@ -57,6 +98,16 @@ module Mystro
57
98
  Mystro::Plugin.on(self, event, &block)
58
99
  end
59
100
 
101
+ def register(opts={})
102
+ key = self.name.split('::').last.downcase.to_sym
103
+ Mystro::Plugin.register(key, opts)
104
+ end
105
+
106
+ #def ui(path)
107
+ # name = self.name.split('::').last
108
+ # Mystro::Plugin.register_ui(name, path)
109
+ #end
110
+
60
111
  def command(name, desc, klass=nil, &block)
61
112
  on "commands:loaded" do |args|
62
113
  Mystro::Log.debug "loading commands for #{name}"
@@ -70,4 +121,4 @@ module Mystro
70
121
  end
71
122
  end
72
123
  end
73
- end
124
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mystro-common
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-02 00:00:00.000000000 Z
12
+ date: 2013-05-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fog