metafrazo 0.2.1 → 0.3.0

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: 026d0fb77a13f854add7d478174031177a67a179
4
- data.tar.gz: 3021c93335ccf3987065cbd5980f8e0661b782b4
3
+ metadata.gz: 0d70f6006522fc549643665c3afea1fecfada1aa
4
+ data.tar.gz: 6dea9fc034990fe6967e1ccfe3e96533d9b1d72b
5
5
  SHA512:
6
- metadata.gz: 420aa69dafdbe9c83b66c0f31e1094acda4e6d10ac4484242aa3a26839af8d4cab192bfebd04330b92d2b71356b718ce19ddf4554ba104658941e6d85ab0af56
7
- data.tar.gz: 8b100a356c3816670e8a2cce96b05ac71dfec7f83b7a417789524ad0dbea35db69a00c2e75f495286ed368e0052184e2666634653c992649b9a93d878fa958cf
6
+ metadata.gz: badfe3203ca21bba91f584c27b1cef8e1f70b59f0db27abe70a842211c72efd585afdcee606a599331997b4157161823e572183ce8d2e342f342459472be2b46
7
+ data.tar.gz: a7aeeff428d3b456140ff07d13ac74c0df68b588bb3a453ad6ac5b81f94168b694aacaf592d2c6ad532d53c47bc6955d36be633447690f0e601b38e23fd1a4ff
@@ -1,5 +1,5 @@
1
1
  module Metafrazo
2
2
  class Config
3
- attr_accessor :usernames, :token, :repos, :path, :paths
3
+ attr_accessor :usernames, :token, :repos, :path, :paths, :slack_webhook_url
4
4
  end
5
5
  end
data/lib/metafrazo/git.rb CHANGED
@@ -29,18 +29,22 @@ module Metafrazo
29
29
  @pull_request["head"]["sha"]
30
30
  end
31
31
 
32
+ def pull_request_url
33
+ @pull_request["html_url"]
34
+ end
35
+
32
36
  def master_branch
33
37
  @master_branch ||= begin
34
38
  (@repo && @repo[:base_branch]) || "master"
35
39
  end
36
40
  end
37
41
 
38
- private
39
-
40
42
  def issue_id
41
43
  @pull_request["number"]
42
44
  end
43
45
 
46
+ private
47
+
44
48
  def client
45
49
  @client ||= Octokit::Client.new(access_token: @token)
46
50
  end
@@ -0,0 +1,17 @@
1
+ require 'rest-client'
2
+ require 'json'
3
+
4
+ module Metafrazo
5
+ class Slack
6
+ def self.send_message(message, url)
7
+ payload = {
8
+ channel: '#metafrazo',
9
+ username: 'Metafrazo',
10
+ text: message,
11
+ icon_emoji: 'ghost'
12
+ }
13
+
14
+ RestClient.post(url, payload.to_json, content_type: :json)
15
+ end
16
+ end
17
+ end
@@ -1,3 +1,3 @@
1
1
  module Metafrazo
2
- VERSION = "0.2.1"
2
+ VERSION = "0.3.0"
3
3
  end
data/lib/metafrazo.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require_relative 'metafrazo/version'
2
2
  require_relative 'metafrazo/config'
3
+ require_relative 'metafrazo/slack'
3
4
  require_relative 'metafrazo/git'
4
5
  require_relative 'metafrazo/git_diff_generator'
5
6
 
@@ -19,7 +20,12 @@ module Metafrazo
19
20
  changes = local_changes(diff, diff_paths(repo))
20
21
 
21
22
  unless changes.empty?
22
- git.comment(message(changes))
23
+ if slack_enabled?
24
+ m = message(changes, git.pull_request_url, git.issue_id)
25
+ Slack.send_message(m, config.slack_webhook_url)
26
+ else
27
+ git.comment(message(changes))
28
+ end
23
29
  # git.add_label("bug")
24
30
  end
25
31
 
@@ -71,7 +77,7 @@ module Metafrazo
71
77
  config.repos[names.first]
72
78
  end
73
79
 
74
- def self.message(changes)
80
+ def self.message(changes, url = nil, number = nil)
75
81
  messages = [
76
82
  "ci sono nuove stringhe que sono in disperato bisogno di traduzione",
77
83
  "hay nuevas cadenas que están en desesperada necesidad de una traducción",
@@ -82,6 +88,14 @@ module Metafrazo
82
88
 
83
89
  message = "#{config.usernames.join(' ')}: #{messages.sample} – "
84
90
  message += changes.map { |change| "`#{change}`" }.join(' ')
91
+ message += " <#{url}| ##{number}👉>" if url&& number
92
+ end
93
+
94
+ private
95
+
96
+ def self.slack_enabled?
97
+ config.slack_webhook_url.present?
85
98
  end
86
99
 
100
+
87
101
  end
data/metafrazo.gemspec CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.add_development_dependency "bundler", "~> 1.11"
19
19
  spec.add_development_dependency "rake", "~> 10.0"
20
20
  spec.add_development_dependency "rspec", "~> 3.0"
21
+ spec.add_runtime_dependency "rest-client"
21
22
  spec.add_runtime_dependency "octokit", "~> 4.0"
22
23
 
23
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metafrazo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Kavouras
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-31 00:00:00.000000000 Z
11
+ date: 2016-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rest-client
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: octokit
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -86,6 +100,7 @@ files:
86
100
  - lib/metafrazo/config.rb
87
101
  - lib/metafrazo/git.rb
88
102
  - lib/metafrazo/git_diff_generator.rb
103
+ - lib/metafrazo/slack.rb
89
104
  - lib/metafrazo/version.rb
90
105
  - metafrazo.gemspec
91
106
  homepage: