Module: Metafrazo

Defined in:
lib/metafrazo.rb,
lib/metafrazo/git.rb,
lib/metafrazo/slack.rb,
lib/metafrazo/config.rb,
lib/metafrazo/version.rb,
lib/metafrazo/git_diff_generator.rb

Defined Under Namespace

Classes: Config, Git, GitDiffGenerator, Slack

Constant Summary collapse

VERSION =
"0.3.2"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configObject



35
36
37
# File 'lib/metafrazo.rb', line 35

def self.config
  @config ||= Config.new
end

Class Method Details

.configure {|config| ... } ⇒ Object

Yields:



39
40
41
# File 'lib/metafrazo.rb', line 39

def self.configure
  yield(config)
end

.run(payload) ⇒ Object

returns true if your files



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/metafrazo.rb', line 14

def self.run(payload)
  token = config.token
  repo = subject_repo(payload)

  git = Git.new(token, payload, repo)
  diff = GitDiffGenerator.new(git).generate
  changes = local_changes(diff, diff_paths(repo))

  unless changes.empty?
    if slack_enabled?
      m = message(changes, git.pull_request_url, git.issue_id)
      Slack.send_message(m, config.slack_webhook_url)
    else
      git.comment(message(changes))
    end
    # git.add_label("bug")
  end

  !changes.empty?
end