hub_link 0.13.0 → 0.15.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: d62273454a4669abde1d3907ba432c300459c86b
4
- data.tar.gz: f4241576d1e46588f13929827085ef9691c6cb31
3
+ metadata.gz: 3d6145c12843d700957a88926acba9b90bb56044
4
+ data.tar.gz: 503ddec7c82a283f13c45da8b6f9ad7c2c679314
5
5
  SHA512:
6
- metadata.gz: 50afd523badb77a74b116530b7755b4d1c992e5bf7322e9319c3446ff8b38c3838142720ceb63371a2fcc72ef48673fb868a3b87868d37ad37498cdd0f7c4097
7
- data.tar.gz: aa338de1ba9957f245c45327fa07438f2c25f41bd1474c39062b01c83c65a842ac96f3722014a3c1495a1a4797e4c93dc8ab1d9e4db154ac6091fc2b6ccc50f8
6
+ metadata.gz: 2f1048505951653140943e01bbd4353d8f9400dd15e7b618efdd6943bee6701af483e026188acd10a4c9a577c1844ecc14df9a9b60409e6617ce6ea90efde8a5
7
+ data.tar.gz: d205a888fee916b2017a66248fa31dce76c0ed425cf400a3db118dd0ba4d41fba541864a571db1540ab260aef9f628448acdea211831235d779c569395a4381e
data/hub_link.gemspec CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.add_dependency "dotenv"
23
23
  spec.add_dependency "faraday_middleware"
24
24
  spec.add_dependency "octokit"
25
+ spec.add_dependency "pastel"
25
26
 
26
27
  spec.add_development_dependency "bundler", "~> 1.12"
27
28
  spec.add_development_dependency "rake", "~> 10.0"
@@ -0,0 +1,17 @@
1
+ module HubLink
2
+ module Api
3
+ class Logging < Faraday::Response::Middleware
4
+ def call(env)
5
+ message = "#{env[:method].upcase} #{env[:url]}".sub("https://api.github.com/repos", "")
6
+ logger.info(UPDATE) { message }
7
+ super
8
+ end
9
+
10
+ private
11
+
12
+ def logger
13
+ HubLink.logger
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,4 +1,3 @@
1
- require "octokit"
2
1
  require "hub_link/core_ext/float"
3
2
  require "hub_link/api/review"
4
3
  require "hub_link/api/review_request"
@@ -1,3 +1,6 @@
1
+ require "pastel"
2
+ require "hub_link/api/pull_request"
3
+
1
4
  module HubLink
2
5
  class Batch
3
6
  attr_reader :options
@@ -42,18 +45,26 @@ module HubLink
42
45
  logger.info(START) { title }
43
46
 
44
47
  block.call.tap do |results|
45
- logger.info(FINISH) { "Found #{results.size}" }
48
+ logger.info(FINISH) { pastel.green("Found #{results.size}") }
46
49
  end
47
50
  end
48
51
 
49
52
  def fetch_results
50
- log "Getting page: #{options.values.join(', ')}" do
53
+ log pastel.bold("Getting PRs: #{formatted_options}") do
51
54
  Api::PullRequest.list(options)
52
55
  end
53
56
  end
54
57
 
58
+ def formatted_options
59
+ options.values.join(", ")
60
+ end
61
+
55
62
  def logger
56
63
  HubLink.logger
57
64
  end
65
+
66
+ def pastel
67
+ @_pastel ||= Pastel.new
68
+ end
58
69
  end
59
70
  end
@@ -1,8 +1,8 @@
1
+ require "octokit"
1
2
  require "faraday_middleware"
2
3
  require "active_support"
3
4
  require "hub_link/simple_logger"
4
- require "hub_link/api_logging"
5
-
5
+ require "hub_link/api/logging"
6
6
 
7
7
  module HubLink
8
8
  class Configuration
@@ -20,7 +20,7 @@ module HubLink
20
20
 
21
21
  def middleware
22
22
  Faraday::RackBuilder.new do |builder|
23
- builder.use ApiLogging
23
+ builder.use Api::Logging
24
24
  builder.request :retry
25
25
  builder.use Octokit::Response::RaiseError
26
26
  builder.adapter Faraday.default_adapter
@@ -1,4 +1,3 @@
1
- require "hub_link"
2
1
  require "hub_link/insert"
3
2
 
4
3
  module HubLink
@@ -15,7 +14,6 @@ module HubLink
15
14
 
16
15
  def run
17
16
  stream.in_batches do |batch|
18
-
19
17
  resources.each do |source, target|
20
18
  import batch.fetch(source), to: target
21
19
  end
@@ -26,21 +24,14 @@ module HubLink
26
24
 
27
25
  attr_reader :repo, :since, :resources
28
26
 
29
- def import(records, to:)
30
- logger.info(START) { "Storing #{records.size} record(s) " }
31
-
32
- records.each do |row|
33
- Insert.new(row: row, target: to).run
34
- end
35
- logger.info(FINISH) { "Total: #{to.count}" }
36
- end
37
-
38
27
  def stream
39
28
  @_stream ||= Stream.new(repo, since: since)
40
29
  end
41
30
 
42
- def logger
43
- HubLink.logger
31
+ def import(records, to:)
32
+ records.each do |row|
33
+ Insert.new(row: row, target: to).run
34
+ end
44
35
  end
45
36
  end
46
37
  end
@@ -1,7 +1,5 @@
1
1
  module HubLink
2
2
  class Insert
3
- delegate :primary_key, to: :target
4
-
5
3
  def initialize(row:, target:)
6
4
  @row = row
7
5
  @target = target
@@ -21,6 +19,10 @@ module HubLink
21
19
  row[primary_key]
22
20
  end
23
21
 
22
+ def primary_key
23
+ target.primary_key
24
+ end
25
+
24
26
  def importable_attributes
25
27
  row.slice(*target_columns)
26
28
  end
@@ -2,7 +2,7 @@ module HubLink
2
2
  class SimpleLogger < SimpleDelegator
3
3
  def initialize(output = "hub_link.log")
4
4
  logger = Logger.new(output)
5
- logger.formatter = ->(_, datetime, _, msg) { "#{datetime.to_s(:db)} - #{msg}\n" }
5
+ logger.formatter = ->(_, datetime, _, msg) { "#{datetime} - #{msg}\n" }
6
6
  __setobj__(logger)
7
7
  end
8
8
  end
@@ -1,4 +1,3 @@
1
- require "hub_link/api/pull_request"
2
1
  require "hub_link/batch"
3
2
 
4
3
  module HubLink
@@ -1,3 +1,3 @@
1
1
  module HubLink
2
- VERSION = "0.13.0"
2
+ VERSION = "0.15.0"
3
3
  end
data/lib/hub_link.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "dotenv/load"
2
2
  require "hub_link/configuration"
3
3
  require "hub_link/stream"
4
+ require "hub_link/importer"
4
5
  require "hub_link/version"
5
6
 
6
7
  module HubLink
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hub_link
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jens Balvig
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pastel
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: bundler
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -140,6 +154,7 @@ files:
140
154
  - bin/setup
141
155
  - hub_link.gemspec
142
156
  - lib/hub_link.rb
157
+ - lib/hub_link/api/logging.rb
143
158
  - lib/hub_link/api/pull_request.rb
144
159
  - lib/hub_link/api/review.rb
145
160
  - lib/hub_link/api/review_request.rb