gistory 0.2.1 → 0.4.0

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: 3e8eab6d518dee70d3c57035306062a1d3d466fe9fdd468076bece37ea8f21d3
4
- data.tar.gz: 384accb7f97bc56ca2adaaae3963520a1d60f9f96e1b8c9f418077f0a14f5055
3
+ metadata.gz: f341c570f2515833182e1f419546dab208d4a59402d9989f4c12796d8a667fe5
4
+ data.tar.gz: 801b7ddc547c1283c33100b2a5bbb9c49f7c2cbc62e4fc104e0f9a4725130857
5
5
  SHA512:
6
- metadata.gz: 2320727fc749c876387b075bf3a26e5e45a74fc688f06fc1d91acf132307f7a3cac6a94bac3b913073f3a61be25a7ee31ed6ad1e275f7890309f9b3cf64dd6f9
7
- data.tar.gz: 2877f804af2ef087f87a6900b6b4cdc834e574015853022d8332896fabbf4a9f9f63c8cf61c38016c463b5c3127234dce41c423890da16b9e99892227de67d9b
6
+ metadata.gz: 2634fe4c166f434f9cf0de52e5b27ed373e50ba6c1eaf9f5cc8a506a3c1efbdc1001e5312917556fdeda65449425b1d06bf3e37a53a3e38f9f9a29cb91978258
7
+ data.tar.gz: e15805708ef8ee6d5d49137997814fad1deedf94cbd428681dad8f2aa2b983f881535b8b0f4d642e30852245492a9bb67bfe63a18cc382c8f2caff97939b9bff
data/.rubocop.yml CHANGED
@@ -1,4 +1,10 @@
1
- require: rubocop-rspec
1
+ require:
2
+ - rubocop-rspec
3
+ - rubocop-performance
4
+
5
+ AllCops:
6
+ TargetRubyVersion: 2.4
7
+ NewCops: enable
2
8
 
3
9
  Metrics/AbcSize:
4
10
  Max: 25
@@ -12,9 +18,6 @@ Metrics/BlockLength:
12
18
  Metrics/MethodLength:
13
19
  Max: 20
14
20
 
15
- Layout/EmptyLineAfterGuardClause:
16
- Enabled: false
17
-
18
21
  Layout/LineLength:
19
22
  Max: 120
20
23
 
@@ -41,47 +44,3 @@ RSpec/MultipleExpectations:
41
44
 
42
45
  RSpec/ExampleLength:
43
46
  Max: 15
44
-
45
- # starting rubocop 0.80 newly added cops need to be explicitly enabled:
46
-
47
- Lint/DeprecatedOpenSSLConstant:
48
- Enabled: true
49
-
50
- Layout/EmptyLinesAroundAttributeAccessor:
51
- Enabled: true
52
-
53
- Lint/MixedRegexpCaptureTypes:
54
- Enabled: true
55
-
56
- Lint/RaiseException:
57
- Enabled: true
58
-
59
- Layout/SpaceAroundMethodCallOperator:
60
- Enabled: true
61
-
62
- Lint/StructNewOverride:
63
- Enabled: true
64
-
65
- Style/ExponentialNotation:
66
- Enabled: true
67
-
68
- Style/HashEachMethods:
69
- Enabled: true
70
-
71
- Style/HashTransformKeys:
72
- Enabled: true
73
-
74
- Style/HashTransformValues:
75
- Enabled: true
76
-
77
- Style/RedundantFetchBlock:
78
- Enabled: true
79
-
80
- Style/RedundantRegexpCharacterClass:
81
- Enabled: true
82
-
83
- Style/RedundantRegexpEscape:
84
- Enabled: true
85
-
86
- Style/SlicingWithRange:
87
- Enabled: true
data/Gemfile CHANGED
@@ -4,11 +4,13 @@ source "https://rubygems.org"
4
4
 
5
5
  gemspec
6
6
 
7
- group :development, :test do
8
- gem "byebug" # debugger
9
- gem "pry" # better console
10
- gem "pry-byebug" # pry integration for byebug
11
- end
7
+ gem "pry", "~> 0.13.1"
8
+ gem "pry-byebug", "~> 3.9.0"
9
+ gem "rake", "~> 13.0"
10
+ gem "rspec", "~> 3.9"
11
+ gem "rubocop"
12
+ gem "rubocop-performance"
13
+ gem "rubocop-rspec"
12
14
 
13
15
  group :test do
14
16
  gem "coveralls", require: false
data/README.md CHANGED
@@ -51,3 +51,4 @@ only show the latest version changes up until it was removed.
51
51
  - remove bundler dep
52
52
  - add yard doc
53
53
  - do not print the warning text if there were no more changes in the lock file
54
+ - link the commit SHA to the repo's hosting service, if any
data/bin/console CHANGED
@@ -14,7 +14,7 @@ def reload!
14
14
  verbosity = $VERBOSE
15
15
  begin
16
16
  $VERBOSE = nil
17
- files = $LOADED_FEATURES.select { |feat| feat =~ %r{/gistory/} }
17
+ files = $LOADED_FEATURES.select { |feat| feat.include?("gistory") }
18
18
  files.each { |file| load(file) }
19
19
  ensure
20
20
  $VERBOSE = verbosity
data/gistory.gemspec CHANGED
@@ -24,13 +24,6 @@ Gem::Specification.new do |spec|
24
24
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
25
  spec.require_paths = ["lib"]
26
26
 
27
- spec.add_dependency "bundler", "~> 1.0"
27
+ spec.add_dependency "bundler", "~> 2.0"
28
28
  spec.add_dependency "colorize"
29
-
30
- spec.add_development_dependency "pry"
31
- spec.add_development_dependency "pry-byebug"
32
- spec.add_development_dependency "rake", "~> 13.0"
33
- spec.add_development_dependency "rspec", "~> 3.9"
34
- spec.add_development_dependency "rubocop"
35
- spec.add_development_dependency "rubocop-rspec"
36
29
  end
@@ -31,6 +31,7 @@ module Gistory
31
31
  def parse_gem_name
32
32
  gem_name = @args.shift
33
33
  raise(Gistory::ParserError, "No gem specified") unless gem_name
34
+
34
35
  @config.gem_name = gem_name
35
36
  end
36
37
 
@@ -49,6 +50,7 @@ module Gistory
49
50
 
50
51
  add_max_fetched_commits(parser, config)
51
52
  add_use_commits_from_all_branches(parser, config)
53
+ add_output_commit_hashes_only(parser, config)
52
54
  add_help(parser)
53
55
  add_version(parser)
54
56
  end
@@ -58,6 +60,7 @@ module Gistory
58
60
  description = "max number of commits to be fetched (default #{default})"
59
61
  parser.on("-m", "--max-fetched-commits [Integer]", Integer, description) do |m|
60
62
  raise(Gistory::ParserError, "argument --max-fetched-commits must be an integer") if m.nil?
63
+
61
64
  config.max_fetched_commits = m
62
65
  end
63
66
  end
@@ -70,6 +73,15 @@ module Gistory
70
73
  end
71
74
  end
72
75
 
76
+ def add_output_commit_hashes_only(parser, config)
77
+ option_switch = "--hashes-only"
78
+ parser.on(option_switch,
79
+ "output commit hashes only so they can be piped",
80
+ "for example: gistory #{option_switch} sidekiq | xargs git show") do |ho|
81
+ config.output_commit_hashes_only = ho
82
+ end
83
+ end
84
+
73
85
  def add_help(parser)
74
86
  parser.on_tail("-h", "--help", "Show this message") do
75
87
  @io.puts parser
@@ -30,6 +30,18 @@ module Gistory
30
30
  raise(Gistory::Error, "Gem '#{gem_name}' not found in lock file, maybe a typo?")
31
31
  end
32
32
 
33
+ if Gistory.config.output_commit_hashes_only?
34
+ print_commit_hashes_only(changes)
35
+ else
36
+ print_full_output(gem_name, changes)
37
+ end
38
+ end
39
+
40
+ def print_commit_hashes_only(changes)
41
+ changes.each { |change| @io.puts change.short_hash }
42
+ end
43
+
44
+ def print_full_output(gem_name, changes)
33
45
  @io.puts "Gem: #{gem_name}"
34
46
  @io.puts "Current version: #{changes.first.version}"
35
47
  @io.puts ""
@@ -3,15 +3,20 @@
3
3
  module Gistory
4
4
  class Configuration
5
5
  attr_accessor :gem_name, :max_fetched_commits
6
- attr_writer :all_branches
6
+ attr_writer :all_branches, :output_commit_hashes_only
7
7
 
8
8
  def initialize
9
9
  @max_fetched_commits = 100
10
10
  @all_branches = false
11
+ @output_commit_hashes_only = false
11
12
  end
12
13
 
13
14
  def all_branches?
14
15
  @all_branches
15
16
  end
17
+
18
+ def output_commit_hashes_only?
19
+ @output_commit_hashes_only
20
+ end
16
21
  end
17
22
  end
@@ -45,6 +45,7 @@ module Gistory
45
45
  def git(command)
46
46
  out = `git #{command}`
47
47
  raise "Git CLI command failed" unless $CHILD_STATUS.success?
48
+
48
49
  out
49
50
  end
50
51
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gistory
4
- VERSION = "0.2.1"
4
+ VERSION = "0.4.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gistory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergio Medina
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-27 00:00:00.000000000 Z
11
+ date: 2023-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '2.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.0'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: colorize
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,90 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: pry
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: pry-byebug
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rake
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '13.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '13.0'
83
- - !ruby/object:Gem::Dependency
84
- name: rspec
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '3.9'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '3.9'
97
- - !ruby/object:Gem::Dependency
98
- name: rubocop
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: rubocop-rspec
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
41
  description: 'Gistory: Know exactly when a gem was updated in your Gemfile.lock'
126
42
  email:
127
43
  - medinasergio@gmail.com
@@ -175,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
175
91
  - !ruby/object:Gem::Version
176
92
  version: '0'
177
93
  requirements: []
178
- rubygems_version: 3.0.3
94
+ rubygems_version: 3.3.26
179
95
  signing_key:
180
96
  specification_version: 4
181
97
  summary: 'Gistory: Know exactly when a gem was updated in your Gemfile.lock'