bundler-alive 0.1.4 → 0.1.5

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
  SHA256:
3
- metadata.gz: 29049e60565e16c7e828304b8bd98f6a3b16b7f0afdcc5d9043349896f31acf9
4
- data.tar.gz: 969ce8eb67b823d8dad051addc685d86db571c4ac8fdbba926f54505e8f6b61a
3
+ metadata.gz: dd88b794101cf7f456811a805f287ec314d9ecf202294f5ec13e5e339db5834d
4
+ data.tar.gz: e0db2f2731c7dd50324900a5564365ff14abf82bc7169d30d9ad7444504dffec
5
5
  SHA512:
6
- metadata.gz: 3fad0ab06a408d151591063307eb460f09995086c5f63d7b4f5f5fbcc94aef889b5495940837b1f46b0719c235a3fa4e1de5a994aac38f489ff27a033c0d0f4e
7
- data.tar.gz: d3442abf4e2e0f454a0a9fa6980e299c04963f09b76df7f17912fddc12a50ed06ad53a8962ba45b2e3c00f8165fc53fccbde5181a4c6fb4cee5f7b0719cfdcac
6
+ metadata.gz: 89fec08047da08d6178bae7e2760f22139005dc33cd38201a6c7782a589ab173a7b5b72ee934bb301216fe4a5e1e5814dd69b773a9c937ab7ca2f7c7b61f0d3a
7
+ data.tar.gz: 0f1930be94cf0401d807ec1e63714dea3243c5bedbe226ff7cd4ff957e9d6d5f043d731f4903ca3dac35aa0403d1269cbc85e153a304894fad63848401ddec07
@@ -0,0 +1,30 @@
1
+ ---
2
+ gems:
3
+ coffee-script-source:
4
+ url: https://github.com/jashkenas/coffeescript/
5
+ erubis:
6
+ url: https://github.com/kwatch/erubis
7
+ ffi-compiler:
8
+ url: https://github.com/ffi/ffi
9
+ foundation-rails:
10
+ url: https://github.com/foundation/foundation-rails
11
+ guard-compat:
12
+ url: https://github.com/guard/guard-compat
13
+ spoon:
14
+ url: https://github.com/headius/spoon
15
+ shellany:
16
+ url: https://github.com/guard/shellany
17
+ vegas:
18
+ url: https://github.com/quirkey/vegas
19
+ zipruby:
20
+ url: https://github.com/fjg/zipruby
21
+ gli:
22
+ url: https://github.com/davetron5000/gli
23
+ zen_to_i:
24
+ url: https://github.com/yoshitsugu/zen_to_i
25
+ trailblazer-option:
26
+ url: https://github.com/trailblazer/trailblazer-option
27
+ fog-sakuracloud:
28
+ url: https://github.com/fog/fog-sakuracloud
29
+ ovirt-engine-sdk:
30
+ url: https://github.com/oVirt/ovirt-engine-sdk-ruby
data/.yardopts ADDED
@@ -0,0 +1 @@
1
+ --markup markdown --title "bundler-alive Documentation" --protected
data/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  `bunder-alive` checks if gems in a RubyGem's `Gemfile.lock` are active.
9
9
 
10
- Currently only github.com is supported as a source code repository. If the source code repository is archived, then reports as not alive.
10
+ Currently only GitHub is supported as a source code repository. If the source code repository is archived, then reports as not alive.
11
11
 
12
12
  ## Installation
13
13
 
@@ -23,13 +23,15 @@ $ bundle-alive
23
23
  ..W....
24
24
  Get all source code repository URLs of gems are done!
25
25
  .....
26
- Name: journey
27
- URL: http://github.com/rails/journey
28
- Status: false
29
26
 
30
- Gem: bundle-alive is not found in RubyGems.org.
27
+ Errors:
28
+ [bundle-alive] Not found in RubyGems.org.
31
29
 
32
- Total: 6 (Dead: 1, Alive: 4, Unknown: 1)
30
+ Archived gems:
31
+ Name: journey
32
+ URL: http://github.com/rails/journey
33
+
34
+ Total: 6 (Archived: 1, Alive: 4, Unknown: 1)
33
35
  Not alive gems are found!
34
36
  ```
35
37
 
@@ -39,7 +41,9 @@ Default `Gemfile.lock` location is in your current directory. You can specify it
39
41
  $ bundle-alive -G /path/to/Gemfile.lock
40
42
  ```
41
43
 
42
- In some cases, the following error is output.
44
+ ## Exceeding rate limit
45
+
46
+ In some cases, the following error may be output.
43
47
 
44
48
  ```
45
49
  Too many requested! Retry later.
@@ -47,7 +51,34 @@ Too many requested! Retry later.
47
51
 
48
52
  In this case, setting [GitHub Personal Access Token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) as `BUNDLER_ALIVE_GITHUB_TOKEN` environment variable may alleviate the error.
49
53
 
50
- If you run again, it will resume.
54
+ ## Ignore gems
55
+
56
+ You can ignore certain gems.
57
+
58
+ ```
59
+ $ bundle-alive -i journey rubocop-junit-formatter
60
+ ```
61
+
62
+ ## Specifying repository URL
63
+
64
+ In some cases, some gems cannot find the URL of their source code repositories. For this case, you can specify a mapping between the gem and its URL.
65
+
66
+ Put `.bundler-alive.yml` in your current directory. The following code is the sample.
67
+
68
+ ```yaml
69
+ ---
70
+ gems:
71
+ coffee-script-source:
72
+ url: https://github.com/jashkenas/coffeescript/
73
+ ```
74
+
75
+ You can also specify the file path.
76
+
77
+ ```
78
+ $ bundle-alive -c /path/to/.bundler-alive.yml
79
+ ```
80
+
81
+ [.bundler-alive.default.yml](https://github.com/kyoshidajp/bundler-alive/blob/main/.bundler-alive.default.yml) may also be helpful. Considering that having these mappings obtained automatically in the future.
51
82
 
52
83
  ## Contributing
53
84
 
data/gemspec.yml CHANGED
@@ -19,7 +19,6 @@ dependencies:
19
19
  octokit:
20
20
  rake:
21
21
  thor:
22
- toml-rb:
23
22
 
24
23
  development_dependencies:
25
24
  rspec:
@@ -16,15 +16,14 @@ module Bundler
16
16
  map "--version" => :version
17
17
 
18
18
  desc "check [DIR]", "Checks the Gemfile.lock"
19
+ method_option :ignore, type: :array, aliases: "-i", default: []
19
20
  method_option :gemfile_lock, type: :string, aliases: "-G",
20
21
  default: "Gemfile.lock"
21
- method_option :result, type: :string, aliases: "-r",
22
- default: "result.toml"
22
+ method_option :config, type: :string, aliases: "-c", default: ".bundler-alive.yml"
23
23
 
24
24
  def check(_dir = Dir.pwd)
25
25
  extend Reportable
26
26
  report = check_by_doctor
27
- report.save_as_file(options[:result])
28
27
  print_report(report)
29
28
 
30
29
  exit_status = report.result.all_alive? ? 0 : 1
@@ -40,7 +39,7 @@ module Bundler
40
39
 
41
40
  def check_by_doctor
42
41
  doctor = begin
43
- Doctor.new(options[:gemfile_lock], options[:result])
42
+ Doctor.new(options[:gemfile_lock], options[:config], options[:ignore])
44
43
  rescue Bundler::GemfileLockNotFound
45
44
  exit 1
46
45
  end
@@ -18,8 +18,18 @@ module Bundler
18
18
  class NotFound < StandardError
19
19
  end
20
20
 
21
- def initialize
21
+ #
22
+ # A new instance of `GemApiClient`
23
+ #
24
+ # @param [String] config_path
25
+ #
26
+ # @return [GemApiClient]
27
+ #
28
+ def initialize(config_path = nil)
22
29
  @error_messages = []
30
+ @config_gems = get_config_gems(config_path)
31
+
32
+ freeze
23
33
  end
24
34
 
25
35
  #
@@ -29,8 +39,8 @@ module Bundler
29
39
  #
30
40
  # @return [Client::GemsApiResponse]
31
41
  #
32
- def gems_api_response(gem_names, &block)
33
- urls = service_with_urls(gem_names, &block)
42
+ def gems_api_response(gem_names)
43
+ urls = service_with_urls(gem_names)
34
44
  $stdout.puts <<~MESSAGE
35
45
 
36
46
  Get all source code repository URLs of gems are done!
@@ -43,7 +53,7 @@ module Bundler
43
53
 
44
54
  private
45
55
 
46
- attr_accessor :error_messages
56
+ attr_accessor :error_messages, :config_gems
47
57
 
48
58
  def api_url(gem_name)
49
59
  "https://rubygems.org/api/v1/gems/#{gem_name}.json"
@@ -55,8 +65,15 @@ module Bundler
55
65
  end
56
66
  end
57
67
 
58
- def service_with_urls(gem_names, &block)
59
- urls = get_repository_urls(gem_names, &block)
68
+ def get_config_gems(path)
69
+ return {} if path.nil? || !File.exist?(path)
70
+
71
+ config = YAML.load_file(path)
72
+ config["gems"]
73
+ end
74
+
75
+ def service_with_urls(gem_names)
76
+ urls = get_repository_urls(gem_names)
60
77
  urls.each_with_object({}) do |url, hash|
61
78
  service_name = url.service_name
62
79
  hash[service_name] = Array(hash[service_name]) << url
@@ -71,16 +88,27 @@ module Bundler
71
88
  # @return [SourceCodeRepositoryUrl]
72
89
  #
73
90
  def get_repository_url(gem_name)
91
+ url_from_config = get_repository_url_from_config(gem_name)
92
+ return url_from_config unless url_from_config.nil?
93
+
74
94
  url = api_url(gem_name)
75
95
  response = connection.get(url)
76
96
 
77
- raise NotFound, "Gem: #{gem_name} is not found in RubyGems.org." unless response.success?
97
+ raise NotFound, "[#{gem_name}] Not found in RubyGems.org." unless response.success?
78
98
 
79
99
  body = JSON.parse(response.body)
80
100
  raw_url = source_code_url(body: body, gem_name: gem_name)
81
101
  SourceCodeRepositoryUrl.new(raw_url, gem_name)
82
102
  end
83
103
 
104
+ def get_repository_url_from_config(gem_name)
105
+ return nil if config_gems.nil?
106
+ return nil unless config_gems.key?(gem_name)
107
+
108
+ gem = config_gems[gem_name]
109
+ SourceCodeRepositoryUrl.new(gem["url"], gem_name)
110
+ end
111
+
84
112
  def source_code_url(body:, gem_name:)
85
113
  url = body["source_code_uri"]
86
114
  return url if SourceCodeRepositoryUrl.support_url?(url)
@@ -88,12 +116,14 @@ module Bundler
88
116
  url = body["homepage_uri"]
89
117
  return url if SourceCodeRepositoryUrl.support_url?(url)
90
118
 
91
- raise NotFound, "[#{gem_name}] source code repository is not found in RubyGems.org."
119
+ message = "[#{gem_name}] Source code repository is not found in RubyGems.org,"\
120
+ " or not supported. URL: https://rubygems.org/gems/#{gem_name}"
121
+ raise NotFound, message
92
122
  end
93
123
 
94
124
  def get_repository_urls(gem_names)
95
125
  result = gem_names.map do |gem_name|
96
- yield if block_given?
126
+ $stdout.write "."
97
127
  get_repository_url(gem_name)
98
128
  rescue StandardError => e
99
129
  $stdout.write "W"
@@ -21,7 +21,15 @@ module Bundler
21
21
  # Number of attempts to request after too many requests
22
22
  RETRIES_ON_TOO_MANY_REQUESTS = 3
23
23
 
24
+ #
24
25
  # Interval second when retrying request
26
+ #
27
+ # @note
28
+ # This is an empirical value and should
29
+ # refer to response of Rate Limit API
30
+ #
31
+ # @see
32
+ # https://docs.github.com/en/rest/overview/resources-in-the-rest-api#checking-your-rate-limit-status
25
33
  RETRY_INTERVAL_SEC_ON_TOO_MANY_REQUESTS = 120
26
34
 
27
35
  #
@@ -60,7 +68,7 @@ module Bundler
60
68
  collection = StatusCollection.new
61
69
  name_with_archived = get_name_with_statuses(urls)
62
70
  urls.each do |url|
63
- yield if block_given?
71
+ $stdout.write "."
64
72
 
65
73
  gem_name = url.gem_name
66
74
  alive = !name_with_archived[gem_name]
@@ -151,7 +159,7 @@ module Bundler
151
159
  end
152
160
 
153
161
  def sleep_with_message
154
- puts "Too many requested. Sleep #{RETRY_INTERVAL_SEC_ON_TOO_MANY_REQUESTS} sec."
162
+ puts "Too many requested to GitHub. Sleep #{RETRY_INTERVAL_SEC_ON_TOO_MANY_REQUESTS} sec."
155
163
  sleep RETRY_INTERVAL_SEC_ON_TOO_MANY_REQUESTS
156
164
  puts "Retry request (#{@retries_on_too_many_requests}/#{RETRIES_ON_TOO_MANY_REQUESTS})"
157
165
  end
@@ -2,32 +2,31 @@
2
2
 
3
3
  require "bundler"
4
4
  require "octokit"
5
- require "toml-rb"
6
5
 
7
6
  module Bundler
8
7
  module Alive
9
8
  #
10
- # Diagnoses a `Gemfile.lock` with a TOML file
9
+ # Diagnoses a `Gemfile.lock`
11
10
  #
12
11
  class Doctor
13
12
  #
14
13
  # A new instance of Doctor
15
14
  #
16
15
  # @param [String] lock_file lock file of gem
17
- # @param [String] result_file file of result
16
+ # @param [String] config_file config file
17
+ # @param [Array<String>] ignore_gems ignore gems
18
18
  #
19
- def initialize(lock_file, result_file)
19
+ def initialize(lock_file, config_file, ignore_gems)
20
20
  @lock_file = lock_file
21
- @result_file = result_file
22
- @gem_client = Client::GemsApiClient.new
21
+ @gem_client = Client::GemsApiClient.new(config_file)
22
+ @ignore_gems = ignore_gems
23
23
  @result = nil
24
24
  @rate_limit_exceeded = false
25
- @announcer = Announcer.new
26
25
  @error_messages = []
27
26
  end
28
27
 
29
28
  #
30
- # Diagnoses gems in lock file of gem
29
+ # Diagnoses gems in Gemfile.lock
31
30
  #
32
31
  # @raise [Client::SourceCodeClient::RateLimitExceededError]
33
32
  # When exceeded access rate limit
@@ -38,41 +37,27 @@ module Bundler
38
37
  # @return [Report]
39
38
  #
40
39
  def diagnose
41
- $stdout.puts "#{collection_from_gemfile.total_size} gems are in Gemfile.lock"
40
+ message = "#{collection_from_gemfile.total_size + ignore_gems.size} gems are in Gemfile.lock"
41
+ message = "#{message} (#{ignore_gems.size} gems are ignored)" if ignore_gems.size.positive?
42
+ $stdout.puts message
43
+
42
44
  result = _diagnose
43
45
  Report.new(result)
44
46
  end
45
47
 
46
48
  private
47
49
 
48
- attr_reader :lock_file, :result_file, :gem_client, :announcer,
50
+ attr_reader :lock_file, :gem_client, :ignore_gems,
49
51
  :result, :error_messages, :rate_limit_exceeded
50
52
 
51
- #
52
- # @return [Array<String>]
53
- #
54
- def no_need_to_get_gems
55
- return [] unless File.exist?(result_file)
56
-
57
- toml_hash = TomlRB.load_file(result_file)
58
- toml_hash.each_with_object([]) do |(gem_name, v), array|
59
- alive = v["alive"]
60
- array << gem_name unless alive
61
- end
62
- end
63
-
64
53
  def diagnose_by_service(service, urls)
65
54
  client = Client::SourceCodeClient.new(service_name: service)
66
- client.query(urls: urls) do
67
- announcer.announce
68
- end
55
+ client.query(urls: urls)
69
56
  end
70
57
 
58
+ # @return [StatusResult]
71
59
  def result_by_search(collection)
72
- gems_api_response = gem_client.gems_api_response(collection.names) do
73
- announcer.announce
74
- end
75
-
60
+ gems_api_response = gem_client.gems_api_response(collection.names)
76
61
  service_with_urls = gems_api_response.service_with_urls
77
62
  error_messages.concat(gems_api_response.error_messages)
78
63
 
@@ -83,19 +68,12 @@ module Bundler
83
68
  result
84
69
  end
85
70
 
86
- def fetch_target_collection(base_collection, gem_names)
87
- collection = StatusCollection.new
88
- base_collection.each do |name, status|
89
- next if gem_names.include?(name)
90
-
91
- collection = collection.add(name, status)
92
- end
93
- collection
94
- end
95
-
71
+ # @return [StatusCollection]
96
72
  def collection_from_gemfile
97
73
  gems_from_lockfile.each_with_object(StatusCollection.new) do |gem, collection|
98
74
  gem_name = gem.name
75
+ next if ignore_gems.include?(gem_name)
76
+
99
77
  status = Status.new(name: gem_name,
100
78
  repository_url: nil,
101
79
  alive: nil,
@@ -104,14 +82,13 @@ module Bundler
104
82
  end
105
83
  end
106
84
 
85
+ # @return [StatusResult]
107
86
  def _diagnose
108
- collection = fetch_target_collection(collection_from_gemfile, no_need_to_get_gems)
87
+ collection = collection_from_gemfile
109
88
  result = result_by_search(collection)
110
- collection_from_toml_file = StatusCollection.new_from_toml_file(result_file)
111
- new_collection = collection_from_gemfile.merge(collection_from_toml_file)
112
- .merge(result.collection)
113
-
89
+ new_collection = collection.merge(result.collection)
114
90
  messages = error_messages.concat(result.error_messages)
91
+
115
92
  StatusResult.new(collection: new_collection,
116
93
  error_messages: messages,
117
94
  rate_limit_exceeded: result.rate_limit_exceeded)
@@ -20,16 +20,6 @@ module Bundler
20
20
 
21
21
  freeze
22
22
  end
23
-
24
- #
25
- # Save result to file
26
- #
27
- # @param [String] file_path
28
- #
29
- def save_as_file(file_path)
30
- body = TomlRB.dump(result.to_h)
31
- File.write(file_path, body)
32
- end
33
23
  end
34
24
  end
35
25
  end
@@ -21,11 +21,8 @@ module Bundler
21
21
  error_messages = report.error_messages
22
22
  print_error(error_messages)
23
23
 
24
- gems = result.need_to_report_gems
25
- $stdout.puts if gems.size.positive?
26
- gems.each do |_name, gem|
27
- $stdout.puts gem.report
28
- end
24
+ gems = result.archived_gems
25
+ print_archived_gems(gems) if gems.size.positive?
29
26
 
30
27
  print_summary(result)
31
28
  print_message(result, report.rate_limit_exceeded)
@@ -33,18 +30,33 @@ module Bundler
33
30
 
34
31
  private
35
32
 
33
+ # soo messy
34
+ def print_archived_gems(gems)
35
+ $stdout.puts
36
+ $stdout.puts "Archived gems:"
37
+ archived_gems = gems.map do |_name, gem|
38
+ gem.report.split("\n").each_with_object([]) do |line, gem_str|
39
+ gem_str << " #{line}"
40
+ end.join("\n")
41
+ end
42
+ $stdout.puts archived_gems.join("\n\n")
43
+ end
44
+
36
45
  def print_error(error_messages)
37
- return if error_messages.nil?
46
+ return if error_messages.empty?
38
47
 
39
48
  $stdout.puts <<~ERROR
40
49
 
41
- #{error_messages.join("\n")}
50
+
51
+ Errors:
52
+ #{error_messages.join("\n ")}
42
53
  ERROR
43
54
  end
44
55
 
45
56
  def print_summary(result)
46
57
  $stdout.puts <<~RESULT
47
- Total: #{result.total_size} (Dead: #{result.dead_size}, Alive: #{result.alive_size}, Unknown: #{result.unknown_size})
58
+
59
+ Total: #{result.total_size} (Archived: #{result.archived_size}, Alive: #{result.alive_size}, Unknown: #{result.unknown_size})
48
60
  RESULT
49
61
  end
50
62
 
@@ -55,7 +67,7 @@ module Bundler
55
67
  end
56
68
 
57
69
  say "Too many requested! Retry later.", :yellow if rate_limit_exceeded
58
- if result.dead_size.positive?
70
+ if result.archived_size.positive?
59
71
  say "Not alive gems are found!", :red
60
72
  return
61
73
  end
@@ -17,6 +17,8 @@ module Bundler
17
17
  raise ArgumentError, "Unknown url: #{url}" unless url.instance_of?(SourceCodeRepositoryUrl)
18
18
 
19
19
  @url = url
20
+
21
+ freeze
20
22
  end
21
23
 
22
24
  private
@@ -44,6 +44,8 @@ module Bundler
44
44
  end
45
45
  message = "[#{name}] is not support URL: #{decorated_url}"
46
46
  super(message)
47
+
48
+ freeze
47
49
  end
48
50
  end
49
51
 
@@ -20,7 +20,7 @@ module Bundler
20
20
  # @param [String] :name
21
21
  # @param [SourceCodeRepositoryUrl] :repository_url
22
22
  # @param [Boolean] :alive
23
- # @param [] :checked_at
23
+ # @param [Time] :checked_at
24
24
  #
25
25
  # @return [Status]
26
26
  #
@@ -67,7 +67,6 @@ module Bundler
67
67
  <<~REPORT
68
68
  Name: #{name}
69
69
  URL: #{decorated_repository_url}
70
- Status: #{decorated_alive}
71
70
 
72
71
  REPORT
73
72
  end
@@ -10,30 +10,7 @@ module Bundler
10
10
  delegate each: :collection
11
11
  delegate values: :collection
12
12
 
13
- attr_reader :alive_size, :dead_size, :unknown_size
14
-
15
- #
16
- # Creates `StatusCollection` from TOML file
17
- #
18
- # @param [String] path
19
- #
20
- # @return [StatusCollection]
21
- #
22
- def self.new_from_toml_file(path)
23
- return new unless File.exist?(path)
24
-
25
- collection = new
26
- TomlRB.load_file(path).each do |name, v|
27
- next if v["alive"] == Status::ALIVE_UNKNOWN
28
-
29
- url = SourceCodeRepositoryUrl.new(v["repository_url"], name)
30
- status = Status.new(name: name, repository_url: url,
31
- alive: v["alive"], checked_at: v["checked_at"])
32
- collection = collection.add(name, status)
33
- end
34
-
35
- collection
36
- end
13
+ attr_reader :alive_size, :archived_size, :unknown_size
37
14
 
38
15
  #
39
16
  # Generates instance of `StatusCollection`
@@ -48,7 +25,8 @@ module Bundler
48
25
 
49
26
  @alive_size = _alive_size
50
27
  @unknown_size = _unknown_size
51
- @dead_size = _dead_size
28
+ @archived_size = _archived_size
29
+
52
30
  freeze
53
31
  end
54
32
 
@@ -107,7 +85,7 @@ module Bundler
107
85
  collection.transform_values(&:to_h)
108
86
  end
109
87
 
110
- def need_to_report_gems
88
+ def archived_gems
111
89
  collection.find_all { |_name, gem| !!!gem.alive }
112
90
  end
113
91
 
@@ -137,7 +115,7 @@ module Bundler
137
115
  statuses_values.count { |gem| !!gem.alive && !gem.unknown? }
138
116
  end
139
117
 
140
- def _dead_size
118
+ def _archived_size
141
119
  statuses_values.count { |gem| !gem.alive && !gem.unknown? }
142
120
  end
143
121
 
@@ -21,6 +21,8 @@ module Bundler
21
21
  @collection = collection
22
22
  @error_messages = error_messages
23
23
  @rate_limit_exceeded = rate_limit_exceeded
24
+
25
+ freeze
24
26
  end
25
27
 
26
28
  #
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Bundler
4
4
  module Alive
5
- VERSION = "0.1.4"
5
+ VERSION = "0.1.5"
6
6
  end
7
7
  end
data/lib/bundler/alive.rb CHANGED
@@ -7,7 +7,6 @@ require_relative "alive/source_code_repository_url"
7
7
  require_relative "alive/status"
8
8
  require_relative "alive/status_result"
9
9
  require_relative "alive/status_collection"
10
- require_relative "alive/announcer"
11
10
  require_relative "alive/report"
12
11
  require_relative "alive/client/gems_api_client"
13
12
  require_relative "alive/client/gems_api_response"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bundler-alive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katsuhiko YOSHIDA
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-16 00:00:00.000000000 Z
11
+ date: 2022-05-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: toml-rb
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'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: rspec
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -192,8 +178,10 @@ executables:
192
178
  extensions: []
193
179
  extra_rdoc_files: []
194
180
  files:
181
+ - ".bundler-alive.default.yml"
195
182
  - ".rspec"
196
183
  - ".rubocop.yml"
184
+ - ".yardopts"
197
185
  - Gemfile
198
186
  - LICENSE
199
187
  - README.md
@@ -203,7 +191,6 @@ files:
203
191
  - bundler-alive.gemspec
204
192
  - gemspec.yml
205
193
  - lib/bundler/alive.rb
206
- - lib/bundler/alive/announcer.rb
207
194
  - lib/bundler/alive/cli.rb
208
195
  - lib/bundler/alive/client/gems_api_client.rb
209
196
  - lib/bundler/alive/client/gems_api_response.rb
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "bundler"
4
-
5
- module Bundler
6
- module Alive
7
- #
8
- # Announces check progress
9
- #
10
- class Announcer
11
- DOT = "."
12
-
13
- private_constant :DOT
14
-
15
- #
16
- # A new instance of Reporter
17
- #
18
- def initialize
19
- @output = $stdout
20
- end
21
-
22
- def announce
23
- output.write DOT
24
- end
25
-
26
- private
27
-
28
- attr_reader :output
29
- end
30
- end
31
- end