agile_notifier 1.0 → 1.1

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: e8d6da02fafc819c407ab3abf1b53f40ab5c7fcd
4
- data.tar.gz: 8248b6c72b97d94581e2142d174fe37fc65b7769
3
+ metadata.gz: 34504b3a9422b50073c4fe0f45b0dc52ebca9ed8
4
+ data.tar.gz: 724a67ca83c874eecafd91b99926df5fe5b9bc2c
5
5
  SHA512:
6
- metadata.gz: 401c943e96a5b85e53e95b615bd5128c996f7d026c99561f17e05948cca16baf3af427b48da755d3b94f6bff177ee53c720e5b4cd63efc43af8a0ba7b49f3c1b
7
- data.tar.gz: f468cb62a61bc49b88f47f9d46e22540c929732e1fb0c7a0de4cd802bc1282bc128a251c944f4dd1daf8f0620bc905db725c36edb781ea2cbaefeb11bd1aa6f2
6
+ metadata.gz: 6da9030c1896cc97f6d8299e5f8d18e439e29aae0f291abc31ed59f91c8af43f9f5ef78fa343ee0a7c28624bd088d93ee146c140dd5d2e3ec10f9157f88da80c
7
+ data.tar.gz: b0aefc03d0fe0c5c8fdeade85bfe0503b2ba660a263c838ba5f5de6da6f7868d79f1ff68174e4388e424b3a3fd05f702b07d4aa6d865ff53ca1a80fce5ba026b
data/README.md CHANGED
@@ -30,6 +30,7 @@ AgileNotifier::Configuration.set do
30
30
 
31
31
  alert_on_fail
32
32
  alert_on_fix
33
+ alert_on_unstable
33
34
  end
34
35
  ```
35
36
 
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
7
7
  s.name = 'agile_notifier'
8
8
  s.version = AgileNotifier::VERSION
9
9
  s.license = 'MIT'
10
- s.date = '2013-05-22'
10
+ s.date = '2014-05-06'
11
11
  s.summary = %q{agile_notifier alerts you via making wonderful noises}
12
12
  s.description = %q{agile_notifier alerts you via making wonderful noises, make software development more fun}
13
13
  s.authors = ['Jing Li']
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
17
  s.homepage = 'https://github.com/thyrlian/AgileNotifier'
18
18
 
19
- s.add_runtime_dependency('json', '~> 1.8.0')
20
- s.add_runtime_dependency('httparty', '~> 0.11.0')
21
- s.add_development_dependency('mocha', '~> 0.14.0')
19
+ s.add_runtime_dependency('json', '~> 1.8.0', '>= 1.8.0')
20
+ s.add_runtime_dependency('httparty', '~> 0.11.0', '>= 0.11.0')
21
+ s.add_development_dependency('mocha', '~> 0.14.0', '>= 0.14.0')
22
22
  end
@@ -3,51 +3,70 @@
3
3
  module AgileNotifier
4
4
  class Composer
5
5
  SENTENCES_BLAME = {
6
- de: [
7
- "%{committer_name} hat den Build kaputt gemacht.",
8
- "Schießt %{committer_name} mit der Nerf Gun ab!",
9
- "%{committer_name} hat Scheiße gebaut.",
10
- "%Hilfe! Hilfe! %{committer_name} versucht mich zu töten!"
11
- ],
12
- en: [
13
- "%{committer_name} has broken the build.",
14
- "%{committer_name} fucked up the build.",
15
- "What the fucking code has %{committer_name} pushed!"
16
- ],
17
- es: [
18
- "%{committer_name} ha destruido la compilacion",
19
- "que clase de codigo esta escribiendo %{committer_name} ? ",
20
- "tal vez es mejor que %{committer_name} se dedique a otra cosa..."
21
- ],
22
- zh: [
23
- "%{committer_name}在搞毛啊, 构建失败了!",
24
- "%{committer_name}提交的什么烂代码啊?",
25
- "请注意, %{committer_name}在搞破坏."
26
- ]
6
+ de: [
7
+ "%{committer_name} hat den Build kaputt gemacht.",
8
+ "Schießt %{committer_name} mit der Nerf Gun ab!",
9
+ "%{committer_name} hat Scheiße gebaut.",
10
+ "%Hilfe! Hilfe! %{committer_name} versucht mich zu töten!"
11
+ ],
12
+ en: [
13
+ "%{committer_name} has broken the build.",
14
+ "%{committer_name} fucked up the build.",
15
+ "What the fucking code has %{committer_name} pushed!"
16
+ ],
17
+ es: [
18
+ "%{committer_name} ha destruido la compilacion",
19
+ "que clase de codigo esta escribiendo %{committer_name} ? ",
20
+ "tal vez es mejor que %{committer_name} se dedique a otra cosa..."
21
+ ],
22
+ zh: [
23
+ "%{committer_name}在搞毛啊, 构建失败了!",
24
+ "%{committer_name}提交的什么烂代码啊?",
25
+ "请注意, %{committer_name}在搞破坏."
26
+ ]
27
+ }
28
+
29
+ SENTENCES_WARN = {
30
+ de: [
31
+ "%{committer_name} hat den Build krank gemacht.",
32
+ "%{committer_name} hat etwas nicht gut genug gemacht."
33
+ ],
34
+ en: [
35
+ "%{committer_name} has made the build sick.",
36
+ "%{committer_name} has done something not so good."
37
+ ],
38
+ es: [
39
+ "%{committer_name} ha hecho a los enfermos de generación.",
40
+ "%{committer_name} ha hecho algo malo."
41
+ ],
42
+ zh: [
43
+ "%{committer_name}让构建生病了.",
44
+ "%{committer_name}做了一件不太光荣的事."
45
+ ]
27
46
  }
28
47
 
29
48
  SENTENCES_PRAISE = {
30
- de: [
31
- "%{committer_name} hat den Build gefixt!",
32
- "%{committer_name} ist ein Genie!",
33
- "%{committer_name} hat die Welt gerettet!"
34
- ],
35
- en: [
36
- "%{committer_name} has fixed the build.",
37
- "%{committer_name} is super brilliant!",
38
- "%{committer_name} saved the world.",
39
- "%{committer_name} roundhouse kicked chuck norris' butt"
40
- ],
41
- es: [
42
- "%{committer_name} ha reparado la compilacion",
43
- "%{committer_name} es un genio!",
44
- "%{committer_name} es el mejor programador de la historia!"
45
- ],
46
- zh: [
47
- "%{committer_name}很厉害啊, 修复了构建.",
48
- "%{committer_name}是个好同志, 该涨工资了.",
49
- "%{committer_name}是当代活雷锋啊!"
50
- ]
49
+ de: [
50
+ "%{committer_name} hat den Build gefixt!",
51
+ "%{committer_name} ist ein Genie!",
52
+ "%{committer_name} hat die Welt gerettet!"
53
+ ],
54
+ en: [
55
+ "%{committer_name} has fixed the build.",
56
+ "%{committer_name} is super brilliant!",
57
+ "%{committer_name} saved the world.",
58
+ "%{committer_name} roundhouse kicked chuck norris' butt"
59
+ ],
60
+ es: [
61
+ "%{committer_name} ha reparado la compilacion",
62
+ "%{committer_name} es un genio!",
63
+ "%{committer_name} es el mejor programador de la historia!"
64
+ ],
65
+ zh: [
66
+ "%{committer_name}很厉害啊, 修复了构建.",
67
+ "%{committer_name}是个好同志, 该涨工资了.",
68
+ "%{committer_name}是当代活雷锋啊!"
69
+ ]
51
70
  }
52
71
 
53
72
  class << self
@@ -55,6 +74,11 @@ module AgileNotifier
55
74
  committer_name = get_committer_name_of_a_commit(args)
56
75
  blame_committer(committer_name, args[:language])
57
76
  end
77
+
78
+ def warn_committer_of_a_commit(args)
79
+ committer_name = get_committer_name_of_a_commit(args)
80
+ warn_committer(committer_name, args[:language])
81
+ end
58
82
 
59
83
  def praise_committer_of_a_commit(args)
60
84
  committer_name = get_committer_name_of_a_commit(args)
@@ -70,6 +94,10 @@ module AgileNotifier
70
94
  def blame_committer(committer_name, language)
71
95
  mention_committer(committer_name, SENTENCES_BLAME[language])
72
96
  end
97
+
98
+ def warn_committer(committer_name, language)
99
+ mention_committer(committer_name, SENTENCES_WARN[language])
100
+ end
73
101
 
74
102
  def praise_committer(committer_name, language)
75
103
  mention_committer(committer_name, SENTENCES_PRAISE[language])
@@ -59,6 +59,10 @@ module AgileNotifier
59
59
  def alert_on_fail
60
60
  alert(:blame, :fail)
61
61
  end
62
+
63
+ def alert_on_unstable
64
+ alert(:warn, :unstable)
65
+ end
62
66
 
63
67
  def alert_on_fix
64
68
  alert(:praise, :fix)
@@ -75,7 +75,21 @@ module AgileNotifier
75
75
  end
76
76
 
77
77
  def get_previous_result
78
- get_previous_build.get_result
78
+ previous_build = get_previous_build
79
+ if previous_build
80
+ return previous_build.get_result
81
+ else
82
+ return nil
83
+ end
84
+ end
85
+
86
+ def is_triggered_manually?
87
+ previous_build = get_previous_build
88
+ if previous_build && @revision == previous_build.get_revision
89
+ return true
90
+ else
91
+ return false
92
+ end
79
93
  end
80
94
 
81
95
  def passed?
@@ -83,7 +97,19 @@ module AgileNotifier
83
97
  end
84
98
 
85
99
  def failed?
86
- @result == 'FAILURE'
100
+ if @result == 'FAILURE' && !is_triggered_manually?
101
+ return true
102
+ else
103
+ return false
104
+ end
105
+ end
106
+
107
+ def unstable?
108
+ if @result == 'UNSTABLE' && !is_triggered_manually?
109
+ return true
110
+ else
111
+ return false
112
+ end
87
113
  end
88
114
 
89
115
  def fixed?
@@ -6,6 +6,10 @@ module AgileNotifier
6
6
  def on_fail(trackable, text, args)
7
7
  on_condition(trackable.failed?, text, args)
8
8
  end
9
+
10
+ def on_unstable(trackable, text, args)
11
+ on_condition(trackable.unstable?, text, args)
12
+ end
9
13
 
10
14
  def on_pass(trackable, text, args)
11
15
  on_condition(trackable.passed?, text, args)
@@ -1,10 +1,10 @@
1
1
  module AgileNotifier
2
2
  class OperatingSystem
3
3
  TYPE = {
4
- lin: 'linux',
5
- mac: 'osx',
6
- win: 'windows',
7
- unknown: 'UNKNOWN'
4
+ lin: 'linux',
5
+ mac: 'osx',
6
+ win: 'windows',
7
+ unknown: 'UNKNOWN'
8
8
  }
9
9
 
10
10
  class << self
@@ -3,6 +3,10 @@ module AgileNotifier
3
3
  def failed?
4
4
  raise(NotImplementedError, "Abstract method [#{__method__}] is called, please implement", caller)
5
5
  end
6
+
7
+ def unstable?
8
+ raise(NotImplementedError, "Abstract method [#{__method__}] is called, please implement", caller)
9
+ end
6
10
 
7
11
  def passed?
8
12
  raise(NotImplementedError, "Abstract method [#{__method__}] is called, please implement", caller)
@@ -1,5 +1,5 @@
1
1
  Dir[(File.expand_path(File.dirname(__FILE__)) + "/agile_notifier/*.rb")].each { |file| require file }
2
2
 
3
3
  module AgileNotifier
4
- VERSION = '1.0'
4
+ VERSION = '1.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agile_notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.0'
4
+ version: '1.1'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jing Li
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-22 00:00:00.000000000 Z
11
+ date: 2014-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -17,6 +17,9 @@ dependencies:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.8.0
20
+ - - '>='
21
+ - !ruby/object:Gem::Version
22
+ version: 1.8.0
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,6 +27,9 @@ dependencies:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
26
29
  version: 1.8.0
30
+ - - '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 1.8.0
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: httparty
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -31,6 +37,9 @@ dependencies:
31
37
  - - ~>
32
38
  - !ruby/object:Gem::Version
33
39
  version: 0.11.0
40
+ - - '>='
41
+ - !ruby/object:Gem::Version
42
+ version: 0.11.0
34
43
  type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -38,6 +47,9 @@ dependencies:
38
47
  - - ~>
39
48
  - !ruby/object:Gem::Version
40
49
  version: 0.11.0
50
+ - - '>='
51
+ - !ruby/object:Gem::Version
52
+ version: 0.11.0
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: mocha
43
55
  requirement: !ruby/object:Gem::Requirement
@@ -45,6 +57,9 @@ dependencies:
45
57
  - - ~>
46
58
  - !ruby/object:Gem::Version
47
59
  version: 0.14.0
60
+ - - '>='
61
+ - !ruby/object:Gem::Version
62
+ version: 0.14.0
48
63
  type: :development
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
@@ -52,6 +67,9 @@ dependencies:
52
67
  - - ~>
53
68
  - !ruby/object:Gem::Version
54
69
  version: 0.14.0
70
+ - - '>='
71
+ - !ruby/object:Gem::Version
72
+ version: 0.14.0
55
73
  description: agile_notifier alerts you via making wonderful noises, make software
56
74
  development more fun
57
75
  email:
@@ -97,17 +115,17 @@ require_paths:
97
115
  - lib
98
116
  required_ruby_version: !ruby/object:Gem::Requirement
99
117
  requirements:
100
- - - ! '>='
118
+ - - '>='
101
119
  - !ruby/object:Gem::Version
102
120
  version: '0'
103
121
  required_rubygems_version: !ruby/object:Gem::Requirement
104
122
  requirements:
105
- - - ! '>='
123
+ - - '>='
106
124
  - !ruby/object:Gem::Version
107
125
  version: '0'
108
126
  requirements: []
109
127
  rubyforge_project:
110
- rubygems_version: 2.1.4
128
+ rubygems_version: 2.2.2
111
129
  signing_key:
112
130
  specification_version: 4
113
131
  summary: agile_notifier alerts you via making wonderful noises