Icarus-Mod-Tools 2.1.2 → 2.1.4

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: 6b11076691550f236dbbe8cffc43ab3f4e87d0d6bc3796a05249586884df9af7
4
- data.tar.gz: 7c0c0dbeee725796ebea01ea3b8f0d1fd11418fc92aaad54ceca055ef36c83f0
3
+ metadata.gz: d6567527e650542f138580d498b0096d41595a10703b25a572ffc624baba6610
4
+ data.tar.gz: '09e582fbbd638e722b5bd54a232f491f94d190226015d9d95ca0c26d126d57c8'
5
5
  SHA512:
6
- metadata.gz: bb68f166b13d2d62e696d880a7ce63da51a0d941fd00211a6c63df28109808ee85f390090dcbf0c5bad35f5905b79d05b902a4be72b3366cc31a96ee908cc9d7
7
- data.tar.gz: 55e3a9b353561d231cc58f6081f06f98d0204b9229d1fe1f404b0516e2dbd8e37a82297bb0bd610a3e11afc6f5409020409f9d3aec524d26c44b90b3790abfc7
6
+ metadata.gz: 615be569c373d31071b5ee747a4ad28183d5db7cefc0409105a42511bd853ec9a3a89aff3c187a1908b0ca16f83e2f613db88899b329ca3358804542fe0f31fd
7
+ data.tar.gz: f496b73c26b7b98afbcc7a8521b1d955116dfb7fedc8b0999d87baaefcb917128310ff0122f35aa8c492f7e358f0c4e59d7e68361cc49ff5a59f700aa4ce9490
data/.standard.yml ADDED
@@ -0,0 +1,2 @@
1
+ extend_config:
2
+ - .standard_rubocop_extensions.yml
@@ -0,0 +1,10 @@
1
+ require:
2
+ - rubocop-rspec
3
+
4
+ AllCops:
5
+ TargetRubyVersion: 3.1
6
+ NewCops: enable
7
+ SuggestExtensions: false
8
+
9
+ RSpec/MultipleMemoizedHelpers:
10
+ Max: 10
data/Gemfile CHANGED
@@ -8,10 +8,12 @@ gemspec
8
8
  gem "rake", "~> 13.0"
9
9
 
10
10
  group :develop do
11
+ gem "fuubar"
11
12
  gem "guard", "~> 2.18"
12
13
  gem "guard-rspec", "~> 4.7"
13
14
  gem "pry", "~> 0.14.1"
14
15
  gem "rspec", "~> 3.12"
15
16
  gem "rubocop", "~> 1.41"
16
17
  gem "rubocop-rspec", "~> 2.16", require: false
18
+ gem "standard"
17
19
  end
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- Icarus-Mod-Tools (2.1.2)
4
+ Icarus-Mod-Tools (2.1.4)
5
5
  google-cloud-firestore (~> 2.7)
6
6
  octokit (~> 6.0)
7
7
  paint (~> 2.3)
@@ -14,17 +14,20 @@ GEM
14
14
  public_suffix (>= 2.0.2, < 6.0)
15
15
  ast (2.4.2)
16
16
  coderay (1.1.3)
17
- concurrent-ruby (1.2.0)
17
+ concurrent-ruby (1.2.2)
18
18
  diff-lcs (1.5.0)
19
19
  faraday (2.7.4)
20
20
  faraday-net_http (>= 2.0, < 3.1)
21
21
  ruby2_keywords (>= 0.0.4)
22
22
  faraday-net_http (3.0.2)
23
- faraday-retry (2.0.0)
23
+ faraday-retry (2.1.0)
24
24
  faraday (~> 2.0)
25
25
  ffi (1.15.5)
26
26
  formatador (1.1.0)
27
- gapic-common (0.17.1)
27
+ fuubar (2.5.1)
28
+ rspec-core (~> 3.0)
29
+ ruby-progressbar (~> 1.4)
30
+ gapic-common (0.18.0)
28
31
  faraday (>= 1.9, < 3.a)
29
32
  faraday-retry (>= 1.0, < 3.a)
30
33
  google-protobuf (~> 3.14)
@@ -37,34 +40,34 @@ GEM
37
40
  google-cloud-errors (~> 1.0)
38
41
  google-cloud-env (1.6.0)
39
42
  faraday (>= 0.17.3, < 3.0)
40
- google-cloud-errors (1.3.0)
41
- google-cloud-firestore (2.10.0)
43
+ google-cloud-errors (1.3.1)
44
+ google-cloud-firestore (2.11.0)
42
45
  concurrent-ruby (~> 1.0)
43
46
  google-cloud-core (~> 1.5)
44
- google-cloud-firestore-v1 (~> 0.0)
47
+ google-cloud-firestore-v1 (~> 0.10)
45
48
  rbtree (~> 0.4.2)
46
- google-cloud-firestore-v1 (0.8.0)
47
- gapic-common (>= 0.10, < 2.a)
49
+ google-cloud-firestore-v1 (0.10.0)
50
+ gapic-common (>= 0.17.1, < 2.a)
48
51
  google-cloud-errors (~> 1.0)
49
- google-cloud-location (>= 0.0, < 2.a)
50
- google-cloud-location (0.3.0)
51
- gapic-common (>= 0.16.0, < 2.a)
52
+ google-cloud-location (>= 0.4, < 2.a)
53
+ google-cloud-location (0.4.0)
54
+ gapic-common (>= 0.17.1, < 2.a)
52
55
  google-cloud-errors (~> 1.0)
53
- google-protobuf (3.21.12-x86_64-darwin)
56
+ google-protobuf (3.22.2-x86_64-linux)
54
57
  googleapis-common-protos (1.4.0)
55
58
  google-protobuf (~> 3.14)
56
59
  googleapis-common-protos-types (~> 1.2)
57
60
  grpc (~> 1.27)
58
61
  googleapis-common-protos-types (1.5.0)
59
62
  google-protobuf (~> 3.14)
60
- googleauth (1.3.0)
63
+ googleauth (1.5.0)
61
64
  faraday (>= 0.17.3, < 3.a)
62
65
  jwt (>= 1.4, < 3.0)
63
66
  memoist (~> 0.16)
64
67
  multi_json (~> 1.11)
65
68
  os (>= 0.9, < 2.0)
66
69
  signet (>= 0.16, < 2.a)
67
- grpc (1.52.0-x86_64-darwin)
70
+ grpc (1.53.0-x86_64-linux)
68
71
  google-protobuf (~> 3.21)
69
72
  googleapis-common-protos-types (~> 1.0)
70
73
  guard (2.18.0)
@@ -83,6 +86,7 @@ GEM
83
86
  rspec (>= 2.99.0, < 4.0)
84
87
  json (2.6.3)
85
88
  jwt (2.7.0)
89
+ language_server-protocol (3.17.0.3)
86
90
  listen (3.8.0)
87
91
  rb-fsevent (~> 0.10, >= 0.10.3)
88
92
  rb-inotify (~> 0.9, >= 0.9.10)
@@ -94,13 +98,13 @@ GEM
94
98
  notiffany (0.1.3)
95
99
  nenv (~> 0.1)
96
100
  shellany (~> 0.0)
97
- octokit (6.0.1)
101
+ octokit (6.1.0)
98
102
  faraday (>= 1, < 3)
99
103
  sawyer (~> 0.9)
100
104
  os (1.1.4)
101
105
  paint (2.3.0)
102
106
  parallel (1.22.1)
103
- parser (3.2.1.0)
107
+ parser (3.2.1.1)
104
108
  ast (~> 2.4.1)
105
109
  pry (0.14.2)
106
110
  coderay (~> 1.1)
@@ -123,28 +127,31 @@ GEM
123
127
  rspec-expectations (3.12.2)
124
128
  diff-lcs (>= 1.2.0, < 2.0)
125
129
  rspec-support (~> 3.12.0)
126
- rspec-mocks (3.12.3)
130
+ rspec-mocks (3.12.4)
127
131
  diff-lcs (>= 1.2.0, < 2.0)
128
132
  rspec-support (~> 3.12.0)
129
133
  rspec-support (3.12.0)
130
- rubocop (1.45.1)
134
+ rubocop (1.48.1)
131
135
  json (~> 2.3)
132
136
  parallel (~> 1.10)
133
137
  parser (>= 3.2.0.0)
134
138
  rainbow (>= 2.2.2, < 4.0)
135
139
  regexp_parser (>= 1.8, < 3.0)
136
140
  rexml (>= 3.2.5, < 4.0)
137
- rubocop-ast (>= 1.24.1, < 2.0)
141
+ rubocop-ast (>= 1.26.0, < 2.0)
138
142
  ruby-progressbar (~> 1.7)
139
143
  unicode-display_width (>= 2.4.0, < 3.0)
140
- rubocop-ast (1.26.0)
144
+ rubocop-ast (1.28.0)
141
145
  parser (>= 3.2.1.0)
142
- rubocop-capybara (2.17.0)
146
+ rubocop-capybara (2.17.1)
143
147
  rubocop (~> 1.41)
144
- rubocop-rspec (2.18.1)
148
+ rubocop-performance (1.16.0)
149
+ rubocop (>= 1.7.0, < 2.0)
150
+ rubocop-ast (>= 0.4.0)
151
+ rubocop-rspec (2.19.0)
145
152
  rubocop (~> 1.33)
146
153
  rubocop-capybara (~> 2.17)
147
- ruby-progressbar (1.11.0)
154
+ ruby-progressbar (1.13.0)
148
155
  ruby2_keywords (0.0.5)
149
156
  sawyer (0.9.2)
150
157
  addressable (>= 2.3.5)
@@ -155,6 +162,10 @@ GEM
155
162
  faraday (>= 0.17.5, < 3.a)
156
163
  jwt (>= 1.5, < 3.0)
157
164
  multi_json (~> 1.10)
165
+ standard (1.25.3)
166
+ language_server-protocol (~> 3.17.0.2)
167
+ rubocop (~> 1.48.1)
168
+ rubocop-performance (~> 1.16.0)
158
169
  thor (1.2.1)
159
170
  unicode-display_width (2.4.2)
160
171
 
@@ -164,6 +175,7 @@ PLATFORMS
164
175
 
165
176
  DEPENDENCIES
166
177
  Icarus-Mod-Tools!
178
+ fuubar
167
179
  guard (~> 2.18)
168
180
  guard-rspec (~> 4.7)
169
181
  pry (~> 0.14.1)
@@ -171,6 +183,7 @@ DEPENDENCIES
171
183
  rspec (~> 3.12)
172
184
  rubocop (~> 1.41)
173
185
  rubocop-rspec (~> 2.16)
186
+ standard
174
187
 
175
188
  BUNDLED WITH
176
189
  2.3.26
data/Rakefile CHANGED
@@ -3,14 +3,10 @@
3
3
  require "bundler/gem_tasks"
4
4
  require "rake/testtask"
5
5
  require "rspec/core/rake_task"
6
- require "rubocop/rake_task"
6
+ require "standard/rake"
7
7
 
8
- RuboCop::RakeTask.new
9
-
10
- # Default directory to look in is `/specs`
11
- # Run with `rake spec`
12
8
  RSpec::Core::RakeTask.new(:spec) do |task|
13
- task.rspec_opts = ["--color", "--format", "doc"]
9
+ task.rspec_opts = ["--color", "--format", "Fuubar"]
14
10
  end
15
11
 
16
- task default: %i[spec rubocop]
12
+ task default: %i[spec standard]
@@ -11,12 +11,12 @@ module Icarus
11
11
  # The Base CLI class for Icarus Mod Tools. This is inherited by all subcommands.
12
12
  class Base < Thor
13
13
  class_option :config,
14
- aliases: "-C", type: :string, default: File.join(Dir.home, "/.imtconfig.json"),
15
- desc: "Path to the config file"
14
+ aliases: "-C", type: :string, default: File.join(Dir.home, "/.imtconfig.json"),
15
+ desc: "Path to the config file"
16
16
 
17
17
  class_option :version,
18
- aliases: "-V", type: :boolean,
19
- desc: "Print the version and exit"
18
+ aliases: "-V", type: :boolean,
19
+ desc: "Print the version and exit"
20
20
 
21
21
  def self.exit_on_failure?
22
22
  true
@@ -45,10 +45,10 @@ module Icarus
45
45
 
46
46
  no_commands do
47
47
  def list_for_type(type)
48
- klass = type == :mods ? Icarus::Mod::Tools::Modinfo : Icarus::Mod::Tools::Toolinfo
48
+ klass = (type == :mods) ? Icarus::Mod::Tools::Modinfo : Icarus::Mod::Tools::Toolinfo
49
49
  valid_keys = klass::HASHKEYS + [:updated_at]
50
50
  sort_field = options[:sort]&.to_sym
51
- filter = !options[:filter].empty?
51
+ filter = !options[:filter].empty?
52
52
 
53
53
  if filter
54
54
  filter_field = options[:filter].first&.to_sym
@@ -90,7 +90,7 @@ module Icarus
90
90
  end
91
91
 
92
92
  # Sort by field, optionally subsorting by name
93
- (sort_field == :name ? items.sort_by(&:name) : items.sort_by { |item| [item.send(sort_field), item.name] }).each do |item|
93
+ ((sort_field == :name) ? items.sort_by(&:name) : items.sort_by { |item| [item.send(sort_field), item.name] }).each do |item|
94
94
  data_format = "%-<name>50s %-<author>20s v%-<version>10s%-<updated_at>20s"
95
95
  data_format += " %-<id>20s %<description>s" if verbose > 1
96
96
 
@@ -8,8 +8,8 @@ module Icarus
8
8
  # Base class for all subcommands
9
9
  class SubcommandBase < Base
10
10
  class_option :verbose,
11
- aliases: "-v", type: :boolean, repeatable: true, default: [true],
12
- desc: "Increase verbosity. May be repeated for even more verbosity."
11
+ aliases: "-v", type: :boolean, repeatable: true, default: [true],
12
+ desc: "Increase verbosity. May be repeated for even more verbosity."
13
13
 
14
14
  no_commands do
15
15
  def check_false
@@ -57,8 +57,12 @@ module Icarus
57
57
  $firestore ||= Firestore.new
58
58
  end
59
59
 
60
+ def success_or_failure(status)
61
+ format("%<status>10s", status: status ? Paint["Success", :green] : Paint["Failure", :red])
62
+ end
63
+
60
64
  def sync_info(type)
61
- sync = (type == :modinfo ? Icarus::Mod::Tools::Sync::ModinfoList : Icarus::Mod::Tools::Sync::ToolinfoList).new(client: firestore)
65
+ sync = ((type == :modinfo) ? Icarus::Mod::Tools::Sync::ModinfoList : Icarus::Mod::Tools::Sync::ToolinfoList).new(client: firestore)
62
66
 
63
67
  puts "Retrieving repository Data..." if verbose?
64
68
  repositories = sync.repositories
@@ -71,19 +75,19 @@ module Icarus
71
75
  raise Icarus::Mod::Tools::Error, "no .json files found for #{type}" unless info_array&.any?
72
76
 
73
77
  if options[:dry_run]
74
- puts "Dry run; no changes will be made"
78
+ puts Paint["Dry run; no changes will be made", :orange, :bright]
75
79
  return
76
80
  end
77
81
 
78
- puts "Saving to Firestore..." if verbose?
82
+ puts Paint["Saving to Firestore...", :black] if verbose?
79
83
  response = sync.update(info_array)
80
- puts response ? "Success" : "Failure (may be no changes)" if verbose?
84
+ puts response ? Paint["Success", :green, :bright] : Paint["Failure (may be no changes)", :red, :bright] if verbose?
81
85
  rescue Icarus::Mod::Tools::Error => e
82
86
  warn e.message
83
87
  end
84
88
 
85
89
  def sync_list(type)
86
- sync = (type == :mods ? Icarus::Mod::Tools::Sync::Mods : Icarus::Mod::Tools::Sync::Tools).new(client: firestore)
90
+ sync = ((type == :mods) ? Icarus::Mod::Tools::Sync::Mods : Icarus::Mod::Tools::Sync::Tools).new(client: firestore)
87
91
 
88
92
  puts "Syncing #{type} to #{Config.firebase.collections.send(type)}" if verbose > 1
89
93
 
@@ -100,11 +104,18 @@ module Icarus
100
104
  verb = "Creating"
101
105
 
102
106
  puts "Validating Info Data for #{list.uniq_name}..." if verbose > 2
103
- warn "Skipping List #{list.uniq_name} due to validation errors" && next unless list.valid?
107
+ unless list.valid?
108
+ warn Paint["Skipping List #{list.uniq_name} due to validation errors", :yellow, :bright]
109
+ if verbose > 1
110
+ warn list.errors.map { |error| Paint[error, :red] }.join("\n")
111
+ end
112
+
113
+ next
114
+ end
104
115
 
105
116
  doc_id = sync.find(list)
106
117
  if doc_id
107
- puts "Found existing list #{list.name} at #{doc_id}" if verbose > 2
118
+ puts Paint["Found existing list #{list.name} at #{doc_id}", :black] if verbose > 2
108
119
  list.id = doc_id
109
120
  verb = "Updating"
110
121
  end
@@ -112,16 +123,16 @@ module Icarus
112
123
  print format("#{verb} %-<name>60s", name: "'#{list.author || "NoOne"}/#{list.name || "Unnamed"}'") if verbose > 1
113
124
 
114
125
  if options[:dry_run]
115
- puts "Dry run; no changes will be made" if verbose > 1
126
+ puts Paint["Dry run; no changes will be made", :yellow] if verbose > 1
116
127
  next
117
128
  end
118
129
 
119
130
  response = sync.update(list)
120
- puts format("%<status>10s", status: response ? "Success" : "Failure") if verbose > 1
131
+ puts success_or_failure(status: response) if verbose > 1
121
132
  end
122
133
 
123
134
  if options[:dry_run]
124
- puts "Dry run; no changes will be made" if verbose?
135
+ puts Paint["Dry run; no changes will be made", :white] if verbose?
125
136
  return
126
137
  end
127
138
 
@@ -135,7 +146,7 @@ module Icarus
135
146
  delete_array.each do |list|
136
147
  print format("Deleting %-<name>60s", name: "'#{list.author || "NoOne"}/#{list.name || "Unnamed'"}") if verbose > 1
137
148
  response = sync.delete(list)
138
- puts format("%<status>10s", status: response ? "Success" : "Failure") if verbose > 1
149
+ puts success_or_failure(status: response) if verbose > 1
139
150
  end
140
151
 
141
152
  puts "Deleted #{delete_array.count} outdated items" if verbose?
@@ -48,16 +48,16 @@ module Icarus
48
48
  raise "You must specify a payload to update" if payload&.empty? || payload.nil?
49
49
 
50
50
  response = case type.to_sym
51
- when :modinfo, :toolinfo
52
- update_array = (send(type) + [payload]).flatten.uniq
53
- @client.doc(collections.meta.send(type)).set({ list: update_array }, merge:) if update_array.any?
54
- when :repositories
55
- @client.doc(collections.meta.repositories).set({ list: payload }, merge:)
56
- when :mod, :tool
57
- create_or_update(pluralize(type), payload, merge:)
58
- else
59
- raise "Invalid type: #{type}"
60
- end
51
+ when :modinfo, :toolinfo
52
+ update_array = (send(type) + [payload]).flatten.uniq
53
+ @client.doc(collections.meta.send(type)).set({list: update_array}, merge:) if update_array.any?
54
+ when :repositories
55
+ @client.doc(collections.meta.repositories).set({list: payload}, merge:)
56
+ when :mod, :tool
57
+ create_or_update(pluralize(type), payload, merge:)
58
+ else
59
+ raise "Invalid type: #{type}"
60
+ end
61
61
 
62
62
  response.is_a?(Google::Cloud::Firestore::DocumentReference) || response.is_a?(Google::Cloud::Firestore::CommitResponse::WriteResult)
63
63
  end
@@ -81,7 +81,7 @@ module Icarus
81
81
  @client.doc(collections.meta.send(type)).get[:list]
82
82
  when :mods, :tools
83
83
  @client.col(collections.send(type)).get.map do |doc|
84
- klass = type == :mods ? Icarus::Mod::Tools::Modinfo : Icarus::Mod::Tools::Toolinfo
84
+ klass = (type == :mods) ? Icarus::Mod::Tools::Modinfo : Icarus::Mod::Tools::Toolinfo
85
85
  klass.new(doc.data, id: doc.document_id, created: doc.create_time, updated: doc.update_time)
86
86
  end
87
87
  else
@@ -34,7 +34,7 @@ module Icarus
34
34
  use_cache = @resources.any? && cache
35
35
 
36
36
  if use_cache
37
- @resources.each { |file| block.call(file) } if block_given?
37
+ @resources.each { |file| block.call(file) } if block
38
38
  else
39
39
  @client.contents(repository, path:).each do |entry|
40
40
  if entry[:type] == "dir"
@@ -42,16 +42,16 @@ module Icarus
42
42
  next # we don't need directories in our output
43
43
  end
44
44
 
45
- block.call(entry) if block_given?
45
+ block&.call(entry)
46
46
  @resources << entry # cache the file
47
47
  end
48
48
  end
49
49
 
50
- @resources unless block_given?
50
+ @resources unless block
51
51
  end
52
52
 
53
53
  def find(pattern)
54
- all_files { |file| return file if file[:name] =~ /#{pattern}/i }
54
+ all_files { |file| return file if /#{pattern}/i.match?(file[:name]) }
55
55
  end
56
56
 
57
57
  def get_contents(url)
@@ -102,11 +102,11 @@ module Icarus
102
102
  end
103
103
 
104
104
  def method_missing(method_name, *_args, &_block)
105
- @data[method_name.to_sym] if @data.keys.include?(method_name.to_sym)
105
+ @data[method_name.to_sym] if @data.key?(method_name.to_sym)
106
106
  end
107
107
 
108
108
  def respond_to_missing?(method_name, include_private = false)
109
- @data.keys.include?(method_name.to_sym) || super
109
+ @data.key?(method_name.to_sym) || super
110
110
  end
111
111
 
112
112
  private
@@ -144,7 +144,7 @@ module Icarus
144
144
  if version.nil?
145
145
  @warnings << "Version was nil, it has been defaulted to 1.0"
146
146
  else
147
- @warnings << "Version should be a version string" unless version =~ /^\d+[.\d+]*/
147
+ @warnings << "Version should be a version string" unless /^\d+[.\d+]*/.match?(version)
148
148
  end
149
149
  end
150
150
  end
@@ -9,7 +9,7 @@ module Icarus
9
9
  class Modinfo < Baseinfo
10
10
  def to_h
11
11
  db_hash = super
12
- db_hash[:meta] = { status: } # Add metadata
12
+ db_hash[:meta] = {status:} # Add metadata
13
13
 
14
14
  db_hash
15
15
  end
@@ -21,7 +21,7 @@ module Icarus
21
21
 
22
22
  def info_array
23
23
  @info_array ||= @firestore.modinfo.map do |url|
24
- retrieve_from_url(url)[:mods].map { |mod| Icarus::Mod::Tools::Modinfo.new(mod) if mod[:name] =~ /[a-z0-9]+/i }
24
+ retrieve_from_url(url)[:mods].map { |mod| Icarus::Mod::Tools::Modinfo.new(mod) if mod[:name].match?(/[a-z0-9]+/i) }
25
25
  rescue Icarus::Mod::Tools::Sync::RequestFailed
26
26
  warn "Skipped; Failed to retrieve #{url}"
27
27
  next
@@ -23,7 +23,7 @@ module Icarus
23
23
  @info_array ||= @firestore.toolinfo.map do |url|
24
24
  next unless url
25
25
 
26
- retrieve_from_url(url)[:tools].map { |tool| Icarus::Mod::Tools::Toolinfo.new(tool) if tool[:name] =~ /[a-z0-9]+/i }
26
+ retrieve_from_url(url)[:tools].map { |tool| Icarus::Mod::Tools::Toolinfo.new(tool) if /[a-z0-9]+/i.match?(tool[:name]) }
27
27
  rescue Icarus::Mod::Tools::Sync::RequestFailed
28
28
  warn "Skipped; Failed to retrieve #{url}"
29
29
  next
@@ -9,13 +9,13 @@ module Icarus
9
9
 
10
10
  def initialize(type)
11
11
  @array = case type
12
- when :modinfo
13
- Sync::Mods.new.info_array
14
- when :toolinfo
15
- Sync::Tools.new.info_array
16
- else
17
- raise ArgumentError, "Invalid type: #{type}"
18
- end
12
+ when :modinfo
13
+ Sync::Mods.new.info_array
14
+ when :toolinfo
15
+ Sync::Tools.new.info_array
16
+ else
17
+ raise ArgumentError, "Invalid type: #{type}"
18
+ end
19
19
  end
20
20
  end
21
21
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Icarus
4
4
  module Mod
5
- VERSION = "2.1.2"
5
+ VERSION = "2.1.4"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Icarus-Mod-Tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 2.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Donovan Young
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-12 00:00:00.000000000 Z
11
+ date: 2023-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-cloud-firestore
@@ -75,8 +75,9 @@ extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
77
  - ".rspec"
78
- - ".rubocop.yml"
79
78
  - ".ruby-version"
79
+ - ".standard.yml"
80
+ - ".standard_rubocop_extensions.yml"
80
81
  - CHANGELOG.md
81
82
  - Gemfile
82
83
  - Gemfile.lock
data/.rubocop.yml DELETED
@@ -1,61 +0,0 @@
1
- require: rubocop-rspec
2
-
3
- AllCops:
4
- TargetRubyVersion: 3.1
5
- NewCops: enable
6
- SuggestExtensions: false
7
-
8
- Style/StringLiterals:
9
- Enabled: true
10
- EnforcedStyle: double_quotes
11
-
12
- Style/StringLiteralsInInterpolation:
13
- Enabled: true
14
- EnforcedStyle: double_quotes
15
-
16
- Layout/LineLength:
17
- Max: 160
18
-
19
- Style/FrozenStringLiteralComment:
20
- Exclude:
21
- - Guardfile
22
- - spec/**/*_spec.rb
23
-
24
- Metrics/CyclomaticComplexity:
25
- Max: 15
26
- Exclude:
27
- - spec/**/*_spec.rb
28
- - lib/icarus/mod/cli/*.rb # Thor command files
29
-
30
- Metrics/PerceivedComplexity:
31
- Max: 15
32
- Exclude:
33
- - spec/**/*_spec.rb
34
- - lib/icarus/mod/cli/*.rb # Thor command files
35
-
36
- Metrics/AbcSize:
37
- Max: 35
38
- Exclude:
39
- - lib/icarus/mod/cli/*.rb # Thor command files
40
-
41
- Metrics/BlockLength:
42
- Enabled: false
43
-
44
- Metrics/ClassLength:
45
- Enabled: false
46
-
47
- Metrics/MethodLength:
48
- Enabled: false
49
-
50
- Naming/BlockForwarding:
51
- EnforcedStyle: explicit
52
-
53
- RSpec/MultipleMemoizedHelpers:
54
- Enabled: false
55
-
56
- Style/Documentation:
57
- Exclude:
58
- - lib/icarus/mod/cli/*.rb # Thor command files
59
-
60
- Style/OpenStructUse:
61
- Enabled: false