appetize-cli 0.1.0 → 0.1.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: a4ac2414c9e172da66611492b42b6be163259c5f077cd181ca986202c280fc05
4
- data.tar.gz: 160af0899d85e7ac9baa4e9767c92076825fe33c9b6765f297aec8fe645fed04
3
+ metadata.gz: 9cc8bacaba3e5f4e836d8e174d551bd32124a1ca8bfa4df92526492ac4904ae1
4
+ data.tar.gz: 7650c019adbc139aeac7beb5ee44e58f9163e340e26c7b6a43bf2f78204bd8b2
5
5
  SHA512:
6
- metadata.gz: 117f6fb975766e2b1bbe02d12af8a411b1149debcdb2eb5847d4016fdf630b306f7065dd4bcdacd7318e8afb8b987519dc90753ecea217d83f3c56de1a692b10
7
- data.tar.gz: a53615fdc5959c9a1d0d9e6ebd424fd83d1406551d2868524eb2785a3b02b2ab528025e74d60d3240dc57e31acc0086bed039bde26fe7f01e0a42798ec95353c
6
+ metadata.gz: 920e345be4a9c43c4cc12b853fbb0b354b2aebbd49fd6b368b6e220d344bac8d440446f7c62c39d34cd6509fb6337a49f01092f16118b99fc9388a098f4664f2
7
+ data.tar.gz: 49d8e0478a0ec95b035dc0737d758b3c798ec3cb8476a26e5b258f2ab882c452dda6e8237ee3876019facea3dedb81ee362edfbc88b0208aa1aedc88de8f8a1e
data/.rubocop.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.4
2
+ TargetRubyVersion: 2.5
3
+ SuggestExtensions: false
4
+ NewCops: enable
3
5
 
4
6
  Style/StringLiterals:
5
7
  Enabled: true
@@ -11,3 +13,16 @@ Style/StringLiteralsInInterpolation:
11
13
 
12
14
  Layout/LineLength:
13
15
  Max: 120
16
+
17
+ Lint/MissingSuper:
18
+ Enabled: false
19
+
20
+ Lint/UnusedMethodArgument:
21
+ Enabled: false
22
+
23
+ Style/Documentation:
24
+ Enabled: false
25
+
26
+ Metrics/BlockLength:
27
+ IgnoredMethods: ['describe', 'context']
28
+
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  ## [Unreleased]
2
2
 
3
- ## [0.1.0] - 2021-08-30
3
+ ## [0.1.4] - 2021-09-11
4
+
5
+ - Upload command will detect & update existing Review Apps when running in GitLab CI
6
+
7
+ ## [0.1.3] - 2021-09-09
8
+
9
+ - Upload command now returns full JSON response from Appetize
10
+
11
+ ## [0.1.2] - 2021-09-02
12
+
13
+ - Adding specs, cleaning up gemspec, updated README
14
+
15
+ ## [0.1.1] - 2021-08-30
4
16
 
5
17
  - Initial release
data/README.md CHANGED
@@ -1,43 +1,101 @@
1
- # Appetize
1
+ # Appetize CLI
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/appetize`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
3
+ The Appetize CLI provides a command line interface to the [Appetize API](https://docs.appetize.io/api/overview).
6
4
 
7
5
  ## Installation
8
6
 
9
- Add this line to your application's Gemfile:
7
+ Install this gem by executing:
8
+
9
+ $ gem install appetize-cli
10
+
11
+ ## Usage
12
+
13
+ Currently there are two supported actions `upload` and `delete` - `help` and `version` commands are also supplied.
10
14
 
11
- ```ruby
12
- gem 'appetize'
15
+ ```
16
+ Commands:
17
+ appetize delete PUBLIC_KEY # Delete an app deploymment from Appetize
18
+ appetize help [COMMAND] # Describe available commands or one specific command
19
+ appetize upload PATH PLATFORM # Upload an APK/ZIP to Appetize
20
+ appetize version # appetize version
13
21
  ```
14
22
 
15
- And then execute:
23
+ ### Setup
16
24
 
17
- $ bundle install
25
+ All actions in this tool require an Appetize API token, which can be generated in your Appetize account. Once a token has been generated you must set it as the environment variable `APPETIZE_API_TOKEN`.
18
26
 
19
- Or install it yourself as:
27
+ Example:
20
28
 
21
- $ gem install appetize
29
+ $ export APPETIZE_API_TOKEN=yourtoken
22
30
 
23
- ## Usage
24
31
 
25
- TODO: Write usage instructions here
32
+ ### Upload
33
+
34
+ Upload an APK/ZIP to Appetize
35
+
36
+ ```
37
+ Usage:
38
+ appetize upload PATH PLATFORM
39
+ ```
40
+
41
+ `PATH` the path to the Apk or Zip file of the app you would like to deploy
42
+
43
+ `PLATFORM` either `ios` or `android`
44
+
45
+ Example:
46
+
47
+ $ appetize upload builds/app-debug.apk android
48
+ $ appetize upload builds/app.zip ios
49
+
50
+ ### Update
51
+
52
+ Update an existing app in Appitize with a new APK/ZIP
53
+
54
+ ```
55
+ Usage:
56
+ appetize update PATH PUBLIC_KEY
57
+ ```
58
+
59
+ `PATH` the path to the Apk or Zip file of the app you would like to deploy
60
+
61
+ `PUBLIC_KEY` the public key provided by Appetize for the specific app deployment you'd like to update
62
+
63
+ Example:
64
+
65
+ $ appetize upload builds/app-debug.apk somepublickey
66
+ $ appetize upload builds/app.zip somepublickey
67
+
68
+
69
+ ### Delete
70
+
71
+ Delete an app deploymment from Appetize
72
+
73
+ ```
74
+ Usage:
75
+ appetize delete PUBLIC_KEY
76
+ ```
77
+
78
+ `PUBLIC_KEY` the public key provided by Appetize for the specific app deployment you'd like to delete
79
+
80
+ Example:
81
+
82
+ $ appetize delete somepublickey
83
+
26
84
 
27
85
  ## Development
28
86
 
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
87
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `bundle exec rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
88
 
31
89
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
90
 
33
91
  ## Contributing
34
92
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/appetize. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/appetize/blob/master/CODE_OF_CONDUCT.md).
93
+ Bug reports and merge requests are welcome on GitLab at https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize-cli/-/issues. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize-cli/-/blob/master/CODE_OF_CONDUCT.md).
36
94
 
37
95
  ## Code of Conduct
38
96
 
39
- Everyone interacting in the Appetize project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/appetize/blob/master/CODE_OF_CONDUCT.md).
97
+ Everyone interacting in the Appetize CLI project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize-cli/-/blob/master/CODE_OF_CONDUCT.md).
40
98
 
41
99
  ## Copyright
42
100
 
43
- Copyright (c) 2021 Darby Frey. See [MIT License](LICENSE.txt) for further details.
101
+ Copyright (c) 2021 GitLab, Inc. See [MIT License](LICENSE.txt) for further details.
data/appetize.gemspec CHANGED
@@ -11,12 +11,12 @@ Gem::Specification.new do |spec|
11
11
 
12
12
  spec.summary = "A Command Line Interface to the Appetize.io API"
13
13
  spec.description = "A Command Line Interface to the Appetize.io API"
14
- spec.homepage = "https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize"
15
- spec.required_ruby_version = ">= 2.4.0"
14
+ spec.homepage = "https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize-cli"
15
+ spec.required_ruby_version = ">= 2.5.0"
16
16
 
17
17
  spec.metadata["homepage_uri"] = spec.homepage
18
- spec.metadata["source_code_uri"] = "https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize"
19
- spec.metadata["changelog_uri"] = "https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize/CHANGELOG.md"
18
+ spec.metadata["source_code_uri"] = "https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize-cli"
19
+ spec.metadata["changelog_uri"] = "https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize-cli/-/blob/master/CHANGELOG.md"
20
20
 
21
21
  # Specify which files should be added to the gem when it is released.
22
22
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -31,6 +31,7 @@ Gem::Specification.new do |spec|
31
31
 
32
32
  # Uncomment to register a new dependency of your gem
33
33
  spec.add_dependency "httparty"
34
+ spec.add_dependency "thor"
34
35
 
35
36
  # For more information and examples about making a new gem, checkout our
36
37
  # guide at: https://bundler.io/guides/creating_gem.html
data/exe/appetize CHANGED
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- lib_path = File.expand_path('../lib', __dir__)
5
- $:.unshift(lib_path) if !$:.include?(lib_path)
6
- require 'appetize/cli'
4
+ lib_path = File.expand_path("../lib", __dir__)
5
+ $LOAD_PATH.unshift(lib_path) unless $LOAD_PATH.include?(lib_path)
6
+ require "appetize/cli"
7
7
 
8
- Signal.trap('INT') do
8
+ Signal.trap("INT") do
9
9
  warn("\n#{caller.join("\n")}: interrupted")
10
10
  exit(1)
11
11
  end
12
12
 
13
13
  begin
14
14
  Appetize::CLI.start
15
- rescue Appetize::CLI::Error => err
16
- puts "ERROR: #{err.message}"
15
+ rescue Appetize::CLI::Error => e
16
+ puts "ERROR: #{e.message}"
17
17
  exit 1
18
18
  end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "httparty"
4
+
5
+ module Appetize
6
+ class API
7
+ def initialize(token = nil, api_host = nil)
8
+ @token = token || ENV["APPETIZE_API_TOKEN"]
9
+ @api_host = api_host || "api.appetize.io"
10
+
11
+ raise "Appetize Token Missing" if @token.nil?
12
+ end
13
+
14
+ def create(path, platform)
15
+ url = "https://#{@api_host}/v1/apps"
16
+ auth = { username: @token, password: "" }
17
+ body = { platform: platform, file: File.open(path) }
18
+
19
+ HTTParty.post(url, body: body, basic_auth: auth)
20
+ end
21
+
22
+ def update(path, public_key)
23
+ url = "https://#{@api_host}/v1/apps/#{public_key}"
24
+ auth = { username: @token, password: "" }
25
+ body = { file: File.open(path) }
26
+
27
+ HTTParty.post(url, body: body, basic_auth: auth)
28
+ end
29
+
30
+ def delete(public_key)
31
+ url = "https://#{@api_host}/v1/apps/#{public_key}"
32
+ auth = { username: @token, password: "" }
33
+
34
+ HTTParty.delete(url, basic_auth: auth)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "httparty"
4
+
5
+ module Appetize
6
+ module CI
7
+ class GitLab
8
+ def initialize(project_id, ref_name, api_token, api_host = nil)
9
+ @project_id = project_id
10
+ @ref_name = ref_name
11
+ @api_token = api_token
12
+ @api_host = api_host || "https://gitlab.com/api/v4"
13
+ end
14
+
15
+ def fetch_artifact(job, artifact_name)
16
+ url = "#{@api_host}/projects/#{@project_id}/jobs/artifacts/#{@ref_name}/raw/#{artifact_name}?job=#{job}"
17
+
18
+ headers = {
19
+ "PRIVATE-TOKEN" => @api_token
20
+ }
21
+
22
+ HTTParty.get(url, headers: headers)
23
+ end
24
+ end
25
+ end
26
+ end
data/lib/appetize/cli.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'thor'
4
- require 'httparty'
3
+ require "thor"
5
4
 
6
5
  module Appetize
7
6
  # Handle the application command line parsing
@@ -12,33 +11,45 @@ module Appetize
12
11
  # Error raised by this runner
13
12
  Error = Class.new(StandardError)
14
13
 
15
- desc 'version', 'appetize version'
14
+ desc "version", "appetize version"
16
15
  def version
17
- require_relative 'version'
16
+ require_relative "version"
18
17
  puts "v#{Appetize::VERSION}"
19
18
  end
20
- map %w(--version -v) => :version
19
+ map %w[--version -v] => :version
21
20
 
22
- desc 'upload PATH PLATFORM', 'Upload an APK/ZIP to Appetize'
23
- method_option :help, aliases: '-h', type: :boolean,
24
- desc: 'Display usage information'
21
+ desc "update PATH PUBLIC_KEY", "Command description..."
22
+ method_option :help, aliases: "-h", type: :boolean,
23
+ desc: "Display usage information"
24
+ def update(path, public_key, token = nil, api_host = nil)
25
+ if options[:help]
26
+ invoke :help, ["update"]
27
+ else
28
+ require_relative "commands/update"
29
+ Appetize::Commands::Update.new(path, public_key, token, api_host, options).execute
30
+ end
31
+ end
32
+
33
+ desc "upload PATH PLATFORM", "Upload an APK/ZIP to Appetize"
34
+ method_option :help, aliases: "-h", type: :boolean,
35
+ desc: "Display usage information"
25
36
  def upload(path, platform, token = nil, api_host = nil)
26
37
  if options[:help]
27
- invoke :help, ['upload']
38
+ invoke :help, ["upload"]
28
39
  else
29
- require_relative 'commands/upload'
40
+ require_relative "commands/upload"
30
41
  Appetize::Commands::Upload.new(path, platform, token, api_host, options).execute
31
42
  end
32
43
  end
33
44
 
34
- desc 'delete PUBLIC_KEY', 'Delete an app deploymment from Appetize'
35
- method_option :help, aliases: '-h', type: :boolean,
36
- desc: 'Display usage information'
45
+ desc "delete PUBLIC_KEY", "Delete an app deploymment from Appetize"
46
+ method_option :help, aliases: "-h", type: :boolean,
47
+ desc: "Display usage information"
37
48
  def delete(public_key, token = nil, api_host = nil)
38
49
  if options[:help]
39
- invoke :help, ['delete']
50
+ invoke :help, ["delete"]
40
51
  else
41
- require_relative 'commands/delete'
52
+ require_relative "commands/delete"
42
53
  Appetize::Commands::Delete.new(public_key, token, api_host, options).execute
43
54
  end
44
55
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'forwardable'
3
+ require "forwardable"
4
4
 
5
5
  module Appetize
6
6
  class Command
@@ -24,7 +24,7 @@ module Appetize
24
24
  #
25
25
  # @api public
26
26
  def command(**options)
27
- require 'tty-command'
27
+ require "tty-command"
28
28
  TTY::Command.new(options)
29
29
  end
30
30
 
@@ -34,7 +34,7 @@ module Appetize
34
34
  #
35
35
  # @api public
36
36
  def cursor
37
- require 'tty-cursor'
37
+ require "tty-cursor"
38
38
  TTY::Cursor
39
39
  end
40
40
 
@@ -44,7 +44,7 @@ module Appetize
44
44
  #
45
45
  # @api public
46
46
  def editor
47
- require 'tty-editor'
47
+ require "tty-editor"
48
48
  TTY::Editor
49
49
  end
50
50
 
@@ -54,7 +54,7 @@ module Appetize
54
54
  #
55
55
  # @api public
56
56
  def generator
57
- require 'tty-file'
57
+ require "tty-file"
58
58
  TTY::File
59
59
  end
60
60
 
@@ -64,7 +64,7 @@ module Appetize
64
64
  #
65
65
  # @api public
66
66
  def pager(**options)
67
- require 'tty-pager'
67
+ require "tty-pager"
68
68
  TTY::Pager.new(options)
69
69
  end
70
70
 
@@ -74,7 +74,7 @@ module Appetize
74
74
  #
75
75
  # @api public
76
76
  def platform
77
- require 'tty-platform'
77
+ require "tty-platform"
78
78
  TTY::Platform.new
79
79
  end
80
80
 
@@ -84,7 +84,7 @@ module Appetize
84
84
  #
85
85
  # @api public
86
86
  def prompt(**options)
87
- require 'tty-prompt'
87
+ require "tty-prompt"
88
88
  TTY::Prompt.new(options)
89
89
  end
90
90
 
@@ -94,7 +94,7 @@ module Appetize
94
94
  #
95
95
  # @api public
96
96
  def screen
97
- require 'tty-screen'
97
+ require "tty-screen"
98
98
  TTY::Screen
99
99
  end
100
100
 
@@ -104,7 +104,7 @@ module Appetize
104
104
  #
105
105
  # @api public
106
106
  def which(*args)
107
- require 'tty-which'
107
+ require "tty-which"
108
108
  TTY::Which.which(*args)
109
109
  end
110
110
 
@@ -114,7 +114,7 @@ module Appetize
114
114
  #
115
115
  # @api public
116
116
  def exec_exist?(*args)
117
- require 'tty-which'
117
+ require "tty-which"
118
118
  TTY::Which.exist?(*args)
119
119
  end
120
120
  end
@@ -1,35 +1,23 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../command'
3
+ require_relative "../command"
4
+ require_relative "../api"
4
5
 
5
6
  module Appetize
6
7
  module Commands
7
8
  class Delete < Appetize::Command
8
- def initialize(public_key, token, api_host, options)
9
+ def initialize(public_key, token = nil, api_host = nil, options = {})
10
+ @api = Appetize::API.new(token, api_host)
9
11
  @public_key = public_key
10
- @token = token
11
- @api_host = api_host
12
12
  @options = options
13
13
  end
14
14
 
15
15
  def execute(input: $stdin, output: $stdout)
16
- token = @token || ENV['APPETIZE_API_TOKEN']
17
- api_host = @api_host || 'api.appetize.io'
16
+ response = @api.delete(@public_key)
18
17
 
19
- url = "https://#{api_host}/v1/apps/#{@public_key}"
20
- auth = {
21
- username: token,
22
- password: ''
23
- }
18
+ raise "Delete failed: #{response.code}" unless response.code == 200
24
19
 
25
- response = HTTParty.delete(url, basic_auth: auth)
26
-
27
- if response.code == 200
28
- output.puts response
29
- else
30
- message = "Delete failed: #{response.code}"
31
- raise message
32
- end
20
+ output.puts response.body
33
21
  end
34
22
  end
35
23
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../command"
4
+ require_relative "../api"
5
+
6
+ module Appetize
7
+ module Commands
8
+ class Update < Appetize::Command
9
+ def initialize(path, public_key, token, api_host, options)
10
+ @api = Appetize::API.new(token, api_host)
11
+ @path = path
12
+ @public_key = public_key
13
+ @options = options
14
+ end
15
+
16
+ def execute(input: $stdin, output: $stdout)
17
+ response = @api.update(@path, @public_key)
18
+
19
+ raise "Update failed: #{response.code}" unless response.code == 200
20
+
21
+ output.puts response.body
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,40 +1,58 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../command'
3
+ require_relative "../command"
4
+ require_relative "../api"
5
+ require_relative "../ci/gitlab"
4
6
 
5
7
  module Appetize
6
8
  module Commands
7
9
  class Upload < Appetize::Command
8
10
  def initialize(path, platform, token, api_host, options)
9
- @path = path
11
+ @api = Appetize::API.new(token, api_host)
12
+ @path = path
10
13
  @platform = platform
11
- @token = token
12
- @api_host = api_host
13
- @options = options
14
+ @options = options
14
15
  end
15
16
 
16
17
  def execute(input: $stdin, output: $stdout)
17
- token = @token || ENV['APPETIZE_API_TOKEN']
18
- api_host = @api_host || 'api.appetize.io'
19
-
20
- url = "https://#{api_host}/v1/apps"
21
- auth = {
22
- username: token,
23
- password: ''
24
- }
25
- body = {
26
- platform: @platform,
27
- file: File.open(@path)
28
- }
29
-
30
- response = HTTParty.post(url, body: body, basic_auth: auth)
31
-
32
- if response.code == 200
33
- output.puts response
34
- else
35
- message = "Upload failed: #{response.code}"
36
- raise message
18
+ # If we are running in GitLab CI, check for an existing pipeline
19
+ # if a pipeline is found, fetch the public key and update the
20
+ # existing Appetize app
21
+ if Appetize::Commands::Upload.gitlab_ci?
22
+ artifact_response = fetch_gitlab_artifact
23
+
24
+ if artifact_response.code == 200
25
+ public_key = JSON.parse(artifact_response.body)["publicKey"]
26
+
27
+ response = @api.update(@path, public_key)
28
+ end
37
29
  end
30
+
31
+ response = @api.create(@path, @platform) if public_key.nil?
32
+
33
+ raise "Upload failed: #{response.code}" unless response.code == 200
34
+
35
+ output.puts response.body
36
+ end
37
+
38
+ def self.gitlab_ci?
39
+ ENV["GITLAB_CI"].to_s.downcase == "true"
40
+ end
41
+
42
+ private
43
+
44
+ def fetch_gitlab_artifact
45
+ gitlab_client = Appetize::CI::GitLab.new(
46
+ ENV["CI_PROJECT_ID"],
47
+ ENV["CI_COMMIT_REF_NAME"],
48
+ ENV["PRIVATE_TOKEN"],
49
+ ENV["CI_API_V4_URL"]
50
+ )
51
+
52
+ gitlab_client.fetch_artifact(
53
+ "startReview",
54
+ "appetize-information.json"
55
+ )
38
56
  end
39
57
  end
40
58
  end
@@ -0,0 +1 @@
1
+ #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Appetize
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.4"
5
5
  end
data/lib/appetize.rb CHANGED
@@ -4,5 +4,4 @@ require_relative "appetize/version"
4
4
 
5
5
  module Appetize
6
6
  class Error < StandardError; end
7
- # Your code goes here...
8
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appetize-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Darby Frey
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-08-30 00:00:00.000000000 Z
11
+ date: 2021-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: thor
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  description: A Command Line Interface to the Appetize.io API
28
42
  email:
29
43
  - dfrey@gitlab.com
@@ -45,22 +59,26 @@ files:
45
59
  - bin/setup
46
60
  - exe/appetize
47
61
  - lib/appetize.rb
62
+ - lib/appetize/api.rb
63
+ - lib/appetize/ci/gitlab.rb
48
64
  - lib/appetize/cli.rb
49
65
  - lib/appetize/command.rb
50
66
  - lib/appetize/commands/.gitkeep
51
67
  - lib/appetize/commands/delete.rb
68
+ - lib/appetize/commands/update.rb
52
69
  - lib/appetize/commands/upload.rb
53
70
  - lib/appetize/templates/.gitkeep
54
71
  - lib/appetize/templates/delete/.gitkeep
72
+ - lib/appetize/templates/update/.gitkeep
55
73
  - lib/appetize/templates/upload/.gitkeep
56
74
  - lib/appetize/version.rb
57
- homepage: https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize
75
+ homepage: https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize-cli
58
76
  licenses:
59
77
  - MIT
60
78
  metadata:
61
- homepage_uri: https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize
62
- source_code_uri: https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize
63
- changelog_uri: https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize/CHANGELOG.md
79
+ homepage_uri: https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize-cli
80
+ source_code_uri: https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize-cli
81
+ changelog_uri: https://gitlab.com/gitlab-org/incubation-engineering/devops-for-mobile-apps/appetize-cli/-/blob/master/CHANGELOG.md
64
82
  post_install_message:
65
83
  rdoc_options: []
66
84
  require_paths:
@@ -69,7 +87,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
69
87
  requirements:
70
88
  - - ">="
71
89
  - !ruby/object:Gem::Version
72
- version: 2.4.0
90
+ version: 2.5.0
73
91
  required_rubygems_version: !ruby/object:Gem::Requirement
74
92
  requirements:
75
93
  - - ">="