obst 0.1.0 → 0.1.1

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
  SHA256:
3
- metadata.gz: 37a6b113b516b2377d046869f403ce9c548b6c62cf8b320538fef6e94cacb070
4
- data.tar.gz: 427c566fc6b6496541a71813b36c1b1e3c178c3d2be39dbfa8a64bcef3c67c81
3
+ metadata.gz: 8fa5dec61f4c26ed664472ec781fc2cd49cd9e394045bd5300a0cce2553df855
4
+ data.tar.gz: 2ae5084507590446957c8082d5764fb81fd6c53f7fec007c0b066f266be8be8e
5
5
  SHA512:
6
- metadata.gz: feb102e3ac56ae7471994c8f2df2e233df80cfae75f545b9e8b2117d1e74abf4bde224e4940dec73f3ed24f09e9b308d199e42b8f3c89f9f5fd99f21b63e67d8
7
- data.tar.gz: 22e3be408cee349091515c8f48587d233cd11802f9a569da90445d289430a11b8868cca88bf680291a08d7cdf28aa7fb463c393b78db42399943d81161c572f3
6
+ metadata.gz: e24d2cabc29a3b9366bf5f556adf56b70144edef016dd2b68097efcc4766ddb006aca9218a3686bab089b089fdb473b7f4914357af4280c151f35935ba0e4d5c
7
+ data.tar.gz: 6a0336b13a65f370496b004fa315928951a2e4f69b8ee097e1d944b7933c23de85204258378031922943b417bd351f8e0d33f887f34286c1a3b08532c4910b66
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  /Gemfile.lock
10
+ /*.gem
data/lib/obst/git_log.rb CHANGED
@@ -1,13 +1,16 @@
1
+ require "open3"
2
+
1
3
  module Obst
2
4
  class GitLog
3
5
  def initialize(**opts)
4
- @C = "-C #{opts[:C] || '.'}"
5
- @after = opts[:after] ? "--after #{opts[:after]}" : ''
6
- @before = opts[:before] ? "--before #{opts[:before]}" : ''
6
+ path = opts[:C] || '.'
7
+ @cmd = ['git', '-C', path, 'log', '--name-status', '--pretty=format:%ad', "--date=format:'%Y-%m-%d %H:%M:%S'"]
8
+ @cmd << '--after' << opts[:after] if opts[:after]
9
+ @cmd << '--before' << opts[:before] if opts[:before]
7
10
  end
8
11
 
9
12
  def to_s
10
- `git #{@C} log --name-status #{@after} #{@before} --pretty=format:%ad --date='format:%Y-%m-%d %H:%M:%S'`
13
+ `#{@cmd.join(' ')}`
11
14
  end
12
15
 
13
16
  class Commit
@@ -26,7 +29,6 @@ module Obst
26
29
  AMD = /^[AMD]/
27
30
  RENAME = /^R/
28
31
 
29
-
30
32
  attr_reader :status, :name, :old_name
31
33
 
32
34
  def initialize(line)
@@ -47,10 +49,13 @@ module Obst
47
49
  def commits
48
50
  Enumerator.new do |y|
49
51
  batch = []
50
- to_s.each_line do |line|
51
- next batch << line unless line == EMPTY_LINE
52
- y << Commit.new(batch)
53
- batch.clear
52
+ Open3.popen2(*@cmd) do |stdin, stdout, status_thread|
53
+ stdout.each_line do |line|
54
+ next batch << line unless line == EMPTY_LINE
55
+ y << Commit.new(batch)
56
+ batch.clear
57
+ end
58
+ raise 'fail to loop git log' unless status_thread.value.success?
54
59
  end
55
60
  y << Commit.new(batch)
56
61
  end
data/lib/obst/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Obst
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: obst
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ken