lariat 0.1.1 → 0.1.2

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: 950b06d1da1b03616ddf4629ab66e2fa2210468e
4
- data.tar.gz: 57de0b0f510fd0a84d10867ea879af7e6298281c
3
+ metadata.gz: 3bb36b9fcdb6d0d2225b9d0a34f4003cad3a4274
4
+ data.tar.gz: 33513d6ff685e593f242417bdb7b1c00550b2cfb
5
5
  SHA512:
6
- metadata.gz: cac215735848696f858cc43a27ce7d5a793bb30146d85c529779be8a45746bf79408972142e423073eb37f1d2b041a3b67a24bf3bcf70abd61878bd23796c497
7
- data.tar.gz: f8f970ab52ed10809bcc19947367cf3105e45ea5fcf4f6ee11fc6ce8315be9ce7dfba74c3694a4d93154986c964df74c51d344e9e0ea53e85cab7f18bd8f2d28
6
+ metadata.gz: 5f74db7e0cd20e63a3047baa715513d5140cfac8d1ce044472eb7ec6c5a88df2742ea4cda9ddd06f443ca4c2098bb63595b7f1c4a40e82ed49755ad7bee3d9a1
7
+ data.tar.gz: 842c86bdcd313a43d801ff3eec0b75fab2ed142696caa30e6b5abe044b4228f8dc43f708e87df0487b925887403a1f066c92e739178d80680a00ae046fa6d121
data/.gitignore CHANGED
@@ -9,3 +9,4 @@
9
9
  gh_stats*
10
10
  *.gem
11
11
  Gemfile.lock
12
+ config/*.yml
data/bin/lariat CHANGED
@@ -1,7 +1,6 @@
1
1
  #! /usr/bin/env ruby
2
2
 
3
- $LOAD_PATH.unshift('.')
4
-
5
- require 'lib/lariat'
3
+ require "bundler/setup"
4
+ require 'lariat'
6
5
 
7
6
  Lariat::CLI.generate_project_roundup
data/lariat.gemspec CHANGED
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
20
  spec.require_paths = ["lib"]
21
21
 
22
+ spec.add_dependency "activesupport"
22
23
  spec.add_dependency "github_api", "~> 0.12"
23
24
  spec.add_dependency "rest-client", "~> 2.0"
24
25
  spec.add_dependency "safe_yaml", "~> 1.0"
data/lib/lariat.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'erb'
1
2
  require "safe_yaml"
2
3
 
3
4
  require "lariat/cli"
data/lib/lariat/cli.rb CHANGED
@@ -1,34 +1,33 @@
1
+ require "active_support"
2
+ require "active_support/core_ext/numeric/time"
3
+
1
4
  module Lariat
2
5
  class CLI
3
- def self.gather_project_roundup_data(build_stats)
4
- queries = load_queries
5
-
6
- gh = ::Lariat::Github.new("./config/github.yml")
7
-
6
+ def self.gather_project_roundup_data(gh, queries, build_stats)
8
7
  args = { report_date: 1.week.ago.to_s.split(/ /).first }
9
8
  issue_category_queries = queries["issue_category_queries"]
10
9
 
11
10
  issue_summary_results = queries["issue_summary_queries"].map do |query|
12
- results = gh.search_issues(query[:query] % args)
13
- {:title => query[:title], total: results.total_count }
11
+ results = gh.search_issues(query["query"] % args)
12
+ {:title => query["title"], total: results.total_count }
14
13
  end
15
14
 
16
15
  issue_category_results = issue_category_queries.keys.map do |key|
17
16
  results = issue_category_queries[key].map do |query|
18
- results = gh.search_issues(query[:query] % args)
17
+ results = gh.search_issues(query["query"] % args)
19
18
  results.total_count
20
19
  end
21
20
  { key => results }
22
21
  end
23
22
 
24
23
  pr_results = queries["pr_queries"].map do |query|
25
- results = gh.search_issues(query[:query] % args)
26
- {:section => query[:section], :title => query[:title], total: results.total_count }
24
+ results = gh.search_issues(query["query"] % args)
25
+ {:section => query["section"], :title => query["title"], total: results.total_count }
27
26
  end
28
27
 
29
28
  top_issues_results = queries["top_issue_queries"].map do |query_definition|
30
- results = gh.search_issues(query_definition[:query])
31
- {:section => query_definition[:section], :title => query_definition[:title], :issues => results.to_h["items"] }
29
+ results = gh.search_issues(query_definition["query"])
30
+ {:section => query_definition["section"], :title => query_definition["title"], :issues => results.to_h["items"] }
32
31
  end
33
32
 
34
33
  ::Lariat::IssueWriter.write_issue(build_stats, top_issues_results, issue_summary_results, issue_category_results, pr_results)
@@ -36,27 +35,26 @@ module Lariat
36
35
 
37
36
  def self.generate_project_roundup(build_stats = nil)
38
37
  build_stats ||= ::Lariat::SabotageStats.gather_stats("https://sabotage.internal.mx/stats.json", 7)
38
+ gh = ::Lariat::Github.new("config/github.yml")
39
+ queries = load_queries
39
40
 
40
- issue_body = gather_project_roundup_data(build_stats)
41
+ issue_body = gather_project_roundup_data(gh, queries, build_stats)
41
42
  process_project_roundup(gh, queries["project_roundup_defaults"].first, issue_body)
42
43
  end
43
44
 
44
45
  def self.process_project_roundup(gh, issue_defaults, issue_body)
45
46
  # find and close previous roundup
46
- previous_issue = gh.search_issues('is:issue is:open user:%{user} repo:%{repository} label:"project roundup"' % issue_defaults.symbolize_keys)
47
- unless previous_issue.total_count > 0
48
- previous_issue = gh.search_issues('is:issue is:open "Project Roundup"')
49
- end
47
+ previous_issue = gh.search_issues('is:issue is:open user:%{user} repo:%{repository} label:"%{label}"' % issue_defaults.symbolize_keys)
50
48
 
51
49
  gh.close_issue(previous_issue.items.first) if previous_issue.total_count > 0
52
50
 
53
51
  # create new issue
54
52
  date_params = { week_ending: Date.today.to_s }
55
- gh.create_issue(issue_defaults['user'], issue_defaults['repository'], issue_defaults['title'] % date_params, issue_body, [issue_defaults['label']])
53
+ gh.create_issue(issue_defaults["user"], issue_defaults["repository"], issue_defaults["title"] % date_params, issue_body, [issue_defaults["label"]])
56
54
  end
57
55
 
58
56
  def self.load_queries
59
- ::Lariat.load_config_from_yaml('./config/queries.yml')
57
+ ::Lariat.load_config_from_yaml("config/queries.yml")
60
58
  end
61
59
  end
62
60
  end
@@ -1,3 +1,3 @@
1
1
  module Lariat
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lariat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - MX Developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-26 00:00:00.000000000 Z
11
+ date: 2016-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: github_api
15
29
  requirement: !ruby/object:Gem::Requirement