neetob 0.2.3 → 0.2.4

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: ab7271fb7040070268b0c67e53a7dfabae013e6294265f19fc5f38de85952075
4
- data.tar.gz: cee7a555e9d0a17f7006aefb26932cbd70d44297f2f0c13b59dde2a787f9f4f4
3
+ metadata.gz: 7fa4fc2f085419e84e0bbacf6cec1e365a60e276c26583dfc7fbebe969d49d8c
4
+ data.tar.gz: c45d3baa3ff401dec0fad7335f136242023ff031f377591e03ce9773545b7fb5
5
5
  SHA512:
6
- metadata.gz: 07b0a97173101a0f6a67f632641c7e67f2b42155177704fa3efeefa015ca9f269b372308cc0b1503e37931158ae178625e5e3c6f2361da5f234aa9f0c90bbd25
7
- data.tar.gz: 3cdae7098530aeaf351b82e7b31944e606bf086235fd9964842f1ad19cc59276ed10fb1130c4647a86770c326b670121e37574e25397aecba8ec4345eb290bb8
6
+ metadata.gz: 01c2ddc361ec88eb2aaa4c84ed4485db66950a87dc572e7a1d705b35a95b92ea6311f736100add1c7938b050d68e37c0db5286c819ff9ef6537e7f81f27bc16d
7
+ data.tar.gz: 503235621a7d75727728500fcd51c238332ff39c05323b3a3d8e160b4c13fd792d77516f1ff9de215154a3ea1446b92af5ed9acf6a1ecc4784f1b8267524416c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ### [0.2.4](https://www.github.com/bigbinary/neetob/compare/v0.2.3...v0.2.4) (2023-03-14)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Fixed commands to execute only for instances mentioned in the single source of truth file ([#206](https://www.github.com/bigbinary/neetob/issues/206)) ([e79a341](https://www.github.com/bigbinary/neetob/commit/e79a3414ad4ed4790333cff42b5376cf1660c47d))
9
+ * Fixed label delete command to skip deletion of labels that aren't found in the repo ([#195](https://www.github.com/bigbinary/neetob/issues/195)) ([d48626b](https://www.github.com/bigbinary/neetob/commit/d48626b1997a60c58e0fb023c3fb2e491e67a4da))
10
+ * Replaced `--all-neeto-repos` flag with the format `--apps "all"` ([#212](https://www.github.com/bigbinary/neetob/issues/212)) ([8c656cd](https://www.github.com/bigbinary/neetob/commit/8c656cd11ba1721a8b68e6e40d3ec439e93977ef))
11
+
3
12
  ### [0.2.3](https://www.github.com/bigbinary/neetob/compare/v0.2.2...v0.2.3) (2023-03-10)
4
13
 
5
14
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- neetob (0.2.3)
4
+ neetob (0.2.4)
5
5
  dotenv (~> 2.8.1)
6
6
  launchy (~> 2.5.0)
7
7
  octokit (~> 4.0)
@@ -19,12 +19,13 @@ module Neetob
19
19
 
20
20
  private
21
21
 
22
- def find_all_matching_apps_or_repos(apps, platform_name, sandbox_mode, quiet = false, all_neeto_repos = false)
22
+ def find_all_matching_apps_or_repos(apps, platform_name, sandbox_mode, quiet = false)
23
+ all_neeto_repos = apps == ["all"]
23
24
  inform_about_current_working_mode(sandbox_mode, quiet)
24
25
  all_available_apps = sandbox_mode ?
25
26
  testing_apps(platform_name) :
26
27
  build_app_list_from_neeto_compliance(platform_name, all_neeto_repos)
27
- matching_apps = match_apps(apps || ["*"], all_available_apps)
28
+ matching_apps = all_neeto_repos ? all_available_apps : match_apps(apps || ["*"], all_available_apps)
28
29
  if matching_apps.length == 0
29
30
  error_msg = sandbox_mode ?
30
31
  "Only \"neeto-dummy\" app is available for sandbox mode. Remove the \"--sandbox\" flag to run the given command for all the neeto applications." :
@@ -49,19 +50,20 @@ module Neetob
49
50
  end
50
51
 
51
52
  def build_app_list_from_neeto_compliance(platform_name, all_neeto_repos)
52
- apps = all_neeto_repos ? fetch_all_neeto_repos : NeetoCompliance::NeetoRepos.products.keys
53
- platform_name == :heroku ? add_env_suffix(apps) : prefix_org_name(apps)
53
+ neeto_products = NeetoCompliance::NeetoRepos.products
54
+ apps = all_neeto_repos ? fetch_all_neeto_repos : neeto_products.keys
55
+ platform_name == :heroku ? add_env_suffix(apps, neeto_products) : prefix_org_name(apps)
54
56
  end
55
57
 
56
- def add_env_suffix(apps)
58
+ def add_env_suffix(apps, neeto_products)
57
59
  [
58
- suffix_slug(apps, :staging),
59
- suffix_slug(apps, :production)
60
- ].flatten.sort
60
+ suffix_slug(apps, :staging, neeto_products),
61
+ suffix_slug(apps, :production, neeto_products)
62
+ ].flatten.compact.sort
61
63
  end
62
64
 
63
- def suffix_slug(apps, suffix)
64
- apps.map { |app| "#{app}-#{suffix}" }
65
+ def suffix_slug(apps, suffix, neeto_products)
66
+ apps.map { |app| neeto_products.dig(app, suffix.to_s) ? "#{app}-#{suffix}" : nil }
65
67
  end
66
68
 
67
69
  def prefix_org_name(apps)
@@ -6,17 +6,16 @@ module Neetob
6
6
  class CLI
7
7
  module FetchorupdateRepos
8
8
  class Execute < Base
9
- attr_accessor :sandbox, :apps, :all_neeto_repos
9
+ attr_accessor :sandbox, :apps
10
10
 
11
- def initialize(sandbox = false, all_neeto_repos = false, apps = ["*"])
11
+ def initialize(sandbox = false, apps = ["*"])
12
12
  super()
13
13
  @sandbox = sandbox
14
14
  @apps = apps
15
- @all_neeto_repos = all_neeto_repos
16
15
  end
17
16
 
18
17
  def run
19
- neeto_apps = find_all_matching_apps_or_repos(apps, :github, sandbox, false, all_neeto_repos)
18
+ neeto_apps = find_all_matching_apps_or_repos(apps, :github, sandbox)
20
19
  neeto_apps.each do |app|
21
20
  app_name = app.split("/").last
22
21
  ui.info("\nWorking on #{app_name}\n")
@@ -23,13 +23,6 @@ module Neetob
23
23
  @client = Octokit::Client.new(access_token: auth_client.access_token)
24
24
  end
25
25
 
26
- def check_for_apps_and_all_neeto_repos_option(repos, all_neeto_repos)
27
- if (repos.nil? && !all_neeto_repos) || (!repos.nil? && all_neeto_repos)
28
- ui.error("Please provide either \"repos\" or \"all-neeto-repos\" option.")
29
- exit
30
- end
31
- end
32
-
33
26
  private
34
27
 
35
28
  def read_and_parse_auth_params_from_env
@@ -44,13 +44,13 @@ module Neetob
44
44
  desc: "Name of the branch whose protections rules needs to be updated", required: true
45
45
  option :path, type: :string, aliases: "-p",
46
46
  desc: "The JSON file path which specify all the required rules for branch protection"
47
- option :repos, type: :array, aliases: "-r", desc: "Github repo names. Can be matched using the '*' wildcard. Example: \"neeto*\" \"neeto-cal-web\""
48
- option :all_neeto_repos, type: :boolean, aliases: "--all",
49
- desc: "Use this flag for working with all neeto repos", default: false
47
+ option :repos, type: :array, aliases: "-r",
48
+ desc:
49
+ "Github repo names. Can be matched using the '*' wildcard. Example: \"neeto*\" \"neeto-cal-web\", also providing \"all\" as value matches all neeto repos.",
50
+ required: true
50
51
  def protect_branch
51
52
  ProtectBranch.new(
52
- options[:branch], options[:repos], options[:path], options[:sandbox],
53
- options[:all_neeto_repos]).run
53
+ options[:branch], options[:repos], options[:path], options[:sandbox]).run
54
54
  end
55
55
  end
56
56
  end
@@ -14,7 +14,7 @@ module Neetob
14
14
  class_option :repos,
15
15
  {
16
16
  type: :array, aliases: "-r", required: true,
17
- desc: "Github repo names. Can be matched using the '*' wildcard. Example: \"neeto*\" \"neeto-cal-web\""
17
+ desc: "Github repo names. Can be matched using the '*' wildcard. Example: \"neeto*\" \"neeto-cal-web\", also providing \"all\" as value matches all neeto repos."
18
18
  }
19
19
 
20
20
  desc "list", "List the issues in the Github repos"
@@ -16,21 +16,18 @@ module Neetob
16
16
  module Labels
17
17
  class Commands < SubCommandBase
18
18
  class_option :repos,
19
- type: :array, aliases: "-r",
20
- desc: "Github repo names. Can be matched using the '*' wildcard. Example: \"neeto*\" \"neeto-cal-web\""
21
- class_option :all_neeto_repos,
22
- type: :boolean, aliases: "--all", default: false,
23
- desc: "Use this flag for working with all neeto repos"
19
+ type: :array, aliases: "-r", required: true,
20
+ desc: "Github repo names. Can be matched using the '*' wildcard. Example: \"neeto*\" \"neeto-cal-web\", also providing \"all\" as value matches all neeto repos."
24
21
 
25
22
  desc "list", "List all the labels in the Github repos"
26
23
  def list
27
- List.new(options[:repos], options[:sandbox], options[:all_neeto_repos]).run
24
+ List.new(options[:repos], options[:sandbox]).run
28
25
  end
29
26
 
30
27
  desc "show", "Show details about the given label in the Github repos"
31
28
  option :name, type: :string, aliases: "-n", required: true, desc: "Name of the label"
32
29
  def show
33
- Show.new(options[:repos], options[:name], options[:sandbox], options[:all_neeto_repos]).run
30
+ Show.new(options[:repos], options[:name], options[:sandbox]).run
34
31
  end
35
32
 
36
33
  desc "upsert", "Create and update labels in the Github repos"
@@ -40,19 +37,19 @@ module Neetob
40
37
  option :description, type: :string, desc: "Description of the label you want to upsert"
41
38
  def upsert
42
39
  Upsert.new(
43
- options[:repos], options[:path], options[:sandbox], options[:all_neeto_repos], options[:name],
40
+ options[:repos], options[:path], options[:sandbox], options[:name],
44
41
  options[:color], options[:description]).run
45
42
  end
46
43
 
47
44
  desc "delete_all", "Delete all the labels from the Github repos"
48
45
  def delete_all
49
- DeleteAll.new(options[:repos], options[:sandbox], options[:all_neeto_repos]).run
46
+ DeleteAll.new(options[:repos], options[:sandbox]).run
50
47
  end
51
48
 
52
49
  desc "delete", "Delete some labels from the Github repos"
53
50
  option :labels, type: :array, required: true, desc: "Labels you want to delete from the repos."
54
51
  def delete
55
- Delete.new(options[:repos], options[:labels], options[:sandbox], options[:all_neeto_repos]).run
52
+ Delete.new(options[:repos], options[:labels], options[:sandbox]).run
56
53
  end
57
54
 
58
55
  desc "update", "Update a label name in Github repos"
@@ -60,8 +57,7 @@ module Neetob
60
57
  option :new_name, type: :string, required: true, desc: "New name for the updated label"
61
58
  def update
62
59
  Update.new(
63
- options[:repos], options[:old_name], options[:new_name], options[:sandbox],
64
- options[:all_neeto_repos]).run
60
+ options[:repos], options[:old_name], options[:new_name], options[:sandbox]).run
65
61
  end
66
62
  end
67
63
  end
@@ -9,34 +9,39 @@ module Neetob
9
9
  module Github
10
10
  module Labels
11
11
  class Delete < Base
12
- attr_accessor :repos, :sandbox, :labels, :all_neeto_repos
12
+ attr_accessor :repos, :sandbox, :labels
13
13
 
14
- def initialize(repos, labels, sandbox = false, all_neeto_repos = false)
14
+ def initialize(repos, labels, sandbox = false)
15
15
  super()
16
16
  @labels = labels
17
17
  @repos = repos
18
18
  @sandbox = sandbox
19
- @all_neeto_repos = all_neeto_repos
20
19
  end
21
20
 
22
21
  def run
23
- check_for_apps_and_all_neeto_repos_option(repos, all_neeto_repos)
24
- matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox, false, all_neeto_repos)
22
+ matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox)
25
23
  matching_repos.each do |repo|
26
- ui.info("\n Deleting labels from #{repo} repo \n")
24
+ ui.info("\nDeleting labels from #{repo} repo \n")
27
25
  labels.each do |label|
28
- delete_label(repo, label)
26
+ begin
27
+ check_if_label_exist!(repo, label)
28
+ delete_label(repo, label)
29
+ rescue Octokit::NotFound
30
+ ui.say(" ↳The repo doesn't have the label \"#{label}\"")
31
+ end
29
32
  end
30
33
  end
31
34
  end
32
35
 
33
36
  private
34
37
 
38
+ def check_if_label_exist!(repo, label)
39
+ client.label(repo, label)
40
+ end
41
+
35
42
  def delete_label(repo, label)
36
43
  if client.delete_label!(repo, label)
37
- ui.success("The \"#{label}\" label deleted successfully")
38
- else
39
- ui.error("The \"#{label}\" label can't be deleted. Please check and try again")
44
+ ui.success("The \"#{label}\" label deleted successfully")
40
45
  end
41
46
  end
42
47
  end
@@ -9,18 +9,16 @@ module Neetob
9
9
  module Github
10
10
  module Labels
11
11
  class DeleteAll < Base
12
- attr_accessor :repos, :sandbox, :all_neeto_repos
12
+ attr_accessor :repos, :sandbox
13
13
 
14
- def initialize(repos, sandbox = false, all_neeto_repos = false)
14
+ def initialize(repos, sandbox = false)
15
15
  super()
16
16
  @repos = repos
17
17
  @sandbox = sandbox
18
- @all_neeto_repos = all_neeto_repos
19
18
  end
20
19
 
21
20
  def run
22
- check_for_apps_and_all_neeto_repos_option(repos, all_neeto_repos)
23
- matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox, false, all_neeto_repos)
21
+ matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox)
24
22
  matching_repos.each do |repo|
25
23
  ui.info("\n Working on #{repo} repo \n")
26
24
  begin
@@ -9,18 +9,16 @@ module Neetob
9
9
  module Github
10
10
  module Labels
11
11
  class List < Base
12
- attr_accessor :repos, :sandbox, :all_neeto_repos
12
+ attr_accessor :repos, :sandbox
13
13
 
14
- def initialize(repos, sandbox = false, all_neeto_repos = false)
14
+ def initialize(repos, sandbox = false)
15
15
  super()
16
16
  @repos = repos
17
17
  @sandbox = sandbox
18
- @all_neeto_repos = all_neeto_repos
19
18
  end
20
19
 
21
20
  def run
22
- check_for_apps_and_all_neeto_repos_option(repos, all_neeto_repos)
23
- matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox, false, all_neeto_repos)
21
+ matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox)
24
22
  matching_repos.each do |repo|
25
23
  ui.info("\n Labels of #{repo} \n")
26
24
  begin
@@ -9,19 +9,17 @@ module Neetob
9
9
  module Github
10
10
  module Labels
11
11
  class Show < Base
12
- attr_accessor :repos, :label_name, :sandbox, :all_neeto_repos
12
+ attr_accessor :repos, :label_name, :sandbox
13
13
 
14
- def initialize(repos, label_name, sandbox = false, all_neeto_repos = false)
14
+ def initialize(repos, label_name, sandbox = false)
15
15
  super()
16
16
  @repos = repos
17
17
  @label_name = label_name
18
18
  @sandbox = sandbox
19
- @all_neeto_repos = all_neeto_repos
20
19
  end
21
20
 
22
21
  def run
23
- check_for_apps_and_all_neeto_repos_option(repos, all_neeto_repos)
24
- matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox, false, all_neeto_repos)
22
+ matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox)
25
23
  matching_repos.each do |repo|
26
24
  ui.info("\n \"#{label_name}\" label details from #{repo} \n")
27
25
  begin
@@ -9,20 +9,18 @@ module Neetob
9
9
  module Github
10
10
  module Labels
11
11
  class Update < Base
12
- attr_accessor :repos, :sandbox, :old_name, :new_name, :all_neeto_repos
12
+ attr_accessor :repos, :sandbox, :old_name, :new_name
13
13
 
14
- def initialize(repos, old_name, new_name, sandbox = false, all_neeto_repos = false)
14
+ def initialize(repos, old_name, new_name, sandbox = false)
15
15
  super()
16
16
  @repos = repos
17
17
  @sandbox = sandbox
18
18
  @old_name = old_name
19
19
  @new_name = new_name
20
- @all_neeto_repos = all_neeto_repos
21
20
  end
22
21
 
23
22
  def run
24
- check_for_apps_and_all_neeto_repos_option(repos, all_neeto_repos)
25
- matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox, false, all_neeto_repos)
23
+ matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox)
26
24
  matching_repos.each do |repo|
27
25
  ui.info("\nUpdating label for #{repo} repo \n")
28
26
  begin
@@ -11,23 +11,21 @@ module Neetob
11
11
  class Upsert < Base
12
12
  WHITE_COLOR_HEX_CODE = "ffffff"
13
13
 
14
- attr_accessor :repos, :required_labels_json_file_path, :sandbox, :all_neeto_repos, :name, :color, :description
14
+ attr_accessor :repos, :required_labels_json_file_path, :sandbox, :name, :color, :description
15
15
 
16
- def initialize(repos, required_labels_json_file_path = "", sandbox = false, all_neeto_repos = false,
16
+ def initialize(repos, required_labels_json_file_path = "", sandbox = false,
17
17
  name = "", color = "", description = "")
18
18
  super()
19
19
  @repos = repos
20
20
  @required_labels_json_file_path = required_labels_json_file_path
21
21
  @sandbox = sandbox
22
- @all_neeto_repos = all_neeto_repos
23
22
  @name = name
24
23
  @color = color
25
24
  @description = description
26
25
  end
27
26
 
28
27
  def run
29
- check_for_apps_and_all_neeto_repos_option(repos, all_neeto_repos)
30
- matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox, false, all_neeto_repos)
28
+ matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox)
31
29
  inform_about_default_labels_file
32
30
  matching_repos.each do |repo|
33
31
  ui.info("\nWorking on #{repo} repo\n")
@@ -6,20 +6,18 @@ module Neetob
6
6
  class CLI
7
7
  module Github
8
8
  class ProtectBranch < Base
9
- attr_accessor :branch_name, :required_rules_json_file_path, :repos, :sandbox, :all_neeto_repos
9
+ attr_accessor :branch_name, :required_rules_json_file_path, :repos, :sandbox
10
10
 
11
- def initialize(branch_name, repos, required_rules_json_file_path = "", sandbox = false, all_neeto_repos = false)
11
+ def initialize(branch_name, repos, required_rules_json_file_path = "", sandbox = false)
12
12
  super()
13
13
  @branch_name = branch_name
14
14
  @required_rules_json_file_path = required_rules_json_file_path
15
15
  @repos = repos
16
16
  @sandbox = sandbox
17
- @all_neeto_repos = all_neeto_repos
18
17
  end
19
18
 
20
19
  def run
21
- check_for_apps_and_all_neeto_repos_option(repos, all_neeto_repos)
22
- matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox, false, all_neeto_repos)
20
+ matching_repos = find_all_matching_apps_or_repos(repos, :github, sandbox)
23
21
  inform_about_default_rules_file
24
22
  matching_repos.each do |repo|
25
23
  ui.info("\n Working on \"#{repo}\" repo")
@@ -14,15 +14,12 @@ module Neetob
14
14
  end
15
15
 
16
16
  desc "commits", "List the commits of a user across the neeto apps"
17
- option :apps, type: :array, aliases: "-a", default: ["*"], desc: "Github app names. Can be matched using the '*' wildcard. Example: \"neeto*\" \"neeto-cal-web\""
17
+ option :apps, type: :array, aliases: "-a", default: ["*"], desc: "Github app names. Can be matched using the '*' wildcard. Example: \"neeto*\" \"neeto-cal-web\", also providing \"all\" as value matches all neeto repos."
18
18
  option :author, type: :string, required: true, desc: "Github username of the person whose commits you want to list"
19
19
  option :duration, type: :string, required: true, desc: "Duration for which you want to list the commits. Example: \"6.months\" \"10.days\""
20
- option :all_neeto_repos, type: :boolean, aliases: "--all",
21
- desc: "Use this flag for working with all neeto repos", default: false
22
20
  def commits
23
21
  Commits.new(
24
- options[:author], options[:duration], options[:apps],
25
- options[:sandbox], options[:all_neeto_repos]).run
22
+ options[:author], options[:duration], options[:apps], options[:sandbox]).run
26
23
  end
27
24
  end
28
25
  end
@@ -11,15 +11,14 @@ module Neetob
11
11
  class Commits < Github::Base
12
12
  include ActionView::Helpers::DateHelper
13
13
 
14
- attr_accessor :sandbox, :apps, :author, :duration, :all_neeto_repos
14
+ attr_accessor :sandbox, :apps, :author, :duration
15
15
 
16
- def initialize(author, duration, apps = ["*"], sandbox = false, all_neeto_repos = false)
16
+ def initialize(author, duration, apps = ["*"], sandbox = false)
17
17
  super()
18
18
  @sandbox = sandbox
19
19
  @apps = apps
20
20
  @author = author
21
21
  @duration = duration
22
- @all_neeto_repos = all_neeto_repos
23
22
  end
24
23
 
25
24
  def run
@@ -32,7 +31,7 @@ module Neetob
32
31
  private
33
32
 
34
33
  def build_commit_rows
35
- commits = find_all_matching_apps_or_repos(apps, :github, sandbox, true, all_neeto_repos).map do |app|
34
+ commits = find_all_matching_apps_or_repos(apps, :github, sandbox, true).map do |app|
36
35
  commits = commits_within_range(app)
37
36
  if commits&.empty?
38
37
  ui.info("No commits found in \"#{app}\" for the given author and duration.")
data/lib/neetob/cli.rb CHANGED
@@ -33,10 +33,8 @@ module Neetob
33
33
  subcommand "local", Local::Commands
34
34
 
35
35
  desc "make_repos_uptodate", "Uptodate all neeto repos"
36
- option :all_neeto_repos, type: :boolean, aliases: "--all", desc: "Use this flag for working with all neeto repos",
37
- default: false
38
36
  def make_repos_uptodate
39
- FetchorupdateRepos::Execute.new(options[:sandbox], options[:all_neeto_repos]).run
37
+ FetchorupdateRepos::Execute.new(options[:sandbox]).run
40
38
  end
41
39
  end
42
40
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Neetob
4
- VERSION = "0.2.3"
4
+ VERSION = "0.2.4"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: neetob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Udai Gupta
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-03-13 00:00:00.000000000 Z
11
+ date: 2023-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor