agile_notifier 1.0 → 1.1

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