targit 1.1.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +3 -3
- data/bin/targit +2 -2
- data/circle.yml +10 -0
- data/lib/targit/asset.rb +6 -7
- data/lib/targit/client.rb +17 -3
- data/lib/targit/release.rb +15 -15
- data/lib/targit/version.rb +1 -1
- data/spec/spec_helper.rb +7 -6
- data/spec/targit/asset_spec.rb +9 -8
- data/targit.gemspec +8 -8
- metadata +21 -21
- data/.travis.yml +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 14f83324bcb4729bc0e0de994d3c3f79c1186822
|
4
|
+
data.tar.gz: 1072eb454a950cdaa6efbe5c39877096f5f397dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 569cc0bfe444f1f7a6d4004f0f4ac31505ebafe21ddbcf783cf2c306441f7d9f4f38dfcae5f2f1b2d06e0ec08cbe90e4e814166e74e9cd510de8733a1fe3fc02
|
7
|
+
data.tar.gz: 996f88576a3def8606c349611e3e98cdda65d623dd6896c45cd3a94a97a3b1d7fc2aa7110121f85f6de62ed79d1d95503c115fde64362c3aeb4636161ef274c2
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -3,9 +3,9 @@ targit
|
|
3
3
|
|
4
4
|
[![Gem Version](https://img.shields.io/gem/v/targit.svg)](https://rubygems.org/gems/targit)
|
5
5
|
[![Dependency Status](https://img.shields.io/gemnasium/akerl/targit.svg)](https://gemnasium.com/akerl/targit)
|
6
|
-
[![
|
7
|
-
[![Coverage Status](https://img.shields.io/
|
8
|
-
[![
|
6
|
+
[![Build Status](https://img.shields.io/circleci/project/akerl/targit.svg)](https://circleci.com/gh/akerl/targit)
|
7
|
+
[![Coverage Status](https://img.shields.io/codecov/c/github/akerl/targit.svg)](https://codecov.io/github/akerl/targit)
|
8
|
+
[![Code Quality](https://img.shields.io/codacy/596c329739534caeb1df1f14a5381355.svg)](https://www.codacy.com/app/akerl/targit)
|
9
9
|
[![MIT Licensed](https://img.shields.io/badge/license-MIT-green.svg)](https://tldrlegal.com/license/mit-license)
|
10
10
|
|
11
11
|
Manages GitHub release assets for pushing binaries and other large files
|
data/bin/targit
CHANGED
@@ -14,14 +14,14 @@ Mercenary.program(:targit) do |p|
|
|
14
14
|
p.description 'Tool for adding GitHub release assets'
|
15
15
|
p.syntax 'targit [options] USER/REPO TAG /path/to/file'
|
16
16
|
|
17
|
-
# rubocop:disable
|
17
|
+
# rubocop:disable Metrics/LineLength
|
18
18
|
p.option :force, '-f', '--force', 'Replace the asset if it already exists'
|
19
19
|
p.option :create, '-c', '--create', 'Create release if it does not exist'
|
20
20
|
p.option :release_name, '-r NAME', '--release NAME', 'Set the release name'
|
21
21
|
p.option :prerelease, '-p', '--prerelease', 'With -c, create as a dev release'
|
22
22
|
p.option :authfile, '-a FILE', '--authfile FILE', 'Set the auth files for GitHub credentials (comma-delimited)'
|
23
23
|
p.option :name, '-n NAME', '--name NAME', 'Set the name for the release asset'
|
24
|
-
# rubocop:enable
|
24
|
+
# rubocop:enable Metrics/LineLength
|
25
25
|
|
26
26
|
p.action do |_, options|
|
27
27
|
repo, tag = ARGV.shift 2
|
data/circle.yml
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
dependencies:
|
2
|
+
override:
|
3
|
+
- 'rvm-exec 2.0.0-p645 bundle install'
|
4
|
+
- 'rvm-exec 2.1.6 bundle install'
|
5
|
+
- 'rvm-exec 2.2.2 bundle install'
|
6
|
+
test:
|
7
|
+
override:
|
8
|
+
- 'rvm-exec 2.0.0-p645 bundle exec rake'
|
9
|
+
- 'rvm-exec 2.1.6 bundle exec rake'
|
10
|
+
- 'rvm-exec 2.2.2 bundle exec rake'
|
data/lib/targit/asset.rb
CHANGED
@@ -12,19 +12,18 @@ module Targit
|
|
12
12
|
|
13
13
|
def initialize(asset, repo, tag, params = {})
|
14
14
|
@options = params
|
15
|
-
@options[:client] ||=
|
16
|
-
@client = @options[:client]
|
15
|
+
@options[:client] ||= client
|
17
16
|
@release = _release repo, tag
|
18
|
-
@upload_options = _upload_options
|
19
17
|
@asset = asset
|
18
|
+
@upload_options = _upload_options
|
20
19
|
@name = @options[:name] || File.basename(@asset)
|
21
20
|
end
|
22
21
|
|
23
22
|
def upload!
|
24
23
|
delete! if @options[:force]
|
25
24
|
fail('Release asset already exists') if already_exists?
|
26
|
-
asset =
|
27
|
-
|
25
|
+
asset = client.upload_asset @release.data[:url], @asset, @upload_options
|
26
|
+
client.release_asset asset[:url]
|
28
27
|
end
|
29
28
|
|
30
29
|
def already_exists?
|
@@ -34,11 +33,11 @@ module Targit
|
|
34
33
|
def delete!
|
35
34
|
asset = github_data
|
36
35
|
return unless asset
|
37
|
-
|
36
|
+
client.delete_release_asset asset[:url]
|
38
37
|
end
|
39
38
|
|
40
39
|
def github_data
|
41
|
-
|
40
|
+
client.release_assets(@release.data[:url]).find { |x| x[:name] == @name }
|
42
41
|
end
|
43
42
|
|
44
43
|
def url
|
data/lib/targit/client.rb
CHANGED
@@ -7,10 +7,12 @@ module Targit
|
|
7
7
|
module Client
|
8
8
|
private
|
9
9
|
|
10
|
+
def client
|
11
|
+
@client ||= _client
|
12
|
+
end
|
13
|
+
|
10
14
|
def _client
|
11
|
-
|
12
|
-
autosave = @options[:autosave] || true
|
13
|
-
auth = Octoauth.new note: 'targit', files: files, autosave: autosave
|
15
|
+
auth = Octoauth.new octoauth_options
|
14
16
|
Octokit::Client.new(
|
15
17
|
access_token: auth.token,
|
16
18
|
api_endpoint: @options[:api_endpoint],
|
@@ -18,5 +20,17 @@ module Targit
|
|
18
20
|
auto_paginate: true
|
19
21
|
)
|
20
22
|
end
|
23
|
+
|
24
|
+
def octoauth_options
|
25
|
+
autosave = @options[:autosave] || true
|
26
|
+
{
|
27
|
+
note: 'targit', files: authfiles, autosave: autosave, scopes: ['user']
|
28
|
+
}
|
29
|
+
end
|
30
|
+
|
31
|
+
def authfiles
|
32
|
+
return [:default] unless @options[:authfile]
|
33
|
+
@authfile ||= @options[:authfile].split(',')
|
34
|
+
end
|
21
35
|
end
|
22
36
|
end
|
data/lib/targit/release.rb
CHANGED
@@ -4,32 +4,32 @@ module Targit
|
|
4
4
|
class Release
|
5
5
|
include Targit::Client
|
6
6
|
|
7
|
-
attr_reader :
|
7
|
+
attr_reader :repo, :tag
|
8
8
|
|
9
9
|
def initialize(repo, tag, params = {})
|
10
|
-
@repo
|
11
|
-
@
|
12
|
-
@
|
13
|
-
@
|
14
|
-
@
|
15
|
-
|
16
|
-
|
10
|
+
@repo = repo
|
11
|
+
@tag = tag
|
12
|
+
@options = params
|
13
|
+
@options[:client] ||= client
|
14
|
+
create if @options.include?(:create) && data.nil?
|
15
|
+
fail('No release found') if data.nil?
|
16
|
+
end
|
17
|
+
|
18
|
+
def data
|
19
|
+
@data ||= _data
|
17
20
|
end
|
18
21
|
|
19
22
|
private
|
20
23
|
|
21
|
-
def
|
22
|
-
|
23
|
-
x[:tag_name] == @tag
|
24
|
-
end
|
24
|
+
def _data
|
25
|
+
client.releases(@repo).find { |x| x[:tag_name] == @tag }
|
25
26
|
end
|
26
27
|
|
27
28
|
def create
|
28
|
-
|
29
|
-
@data = find
|
29
|
+
client.create_release(@repo, @tag, create_options)
|
30
30
|
end
|
31
31
|
|
32
|
-
def
|
32
|
+
def create_options
|
33
33
|
opts = {}
|
34
34
|
opts[:name] = @options[:release_name] if @options[:release_name]
|
35
35
|
[:prerelease, :target_commitish].each_with_object(opts) do |option, hash|
|
data/lib/targit/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
|
-
|
2
|
-
require '
|
3
|
-
|
4
|
-
SimpleCov.formatter =
|
5
|
-
SimpleCov.start do
|
6
|
-
|
1
|
+
if ENV['CI'] == 'true'
|
2
|
+
require 'simplecov'
|
3
|
+
require 'codecov'
|
4
|
+
SimpleCov.formatter = SimpleCov::Formatter::Codecov
|
5
|
+
SimpleCov.start do
|
6
|
+
add_filter '/spec/'
|
7
|
+
end
|
7
8
|
end
|
8
9
|
|
9
10
|
require 'rspec'
|
data/spec/targit/asset_spec.rb
CHANGED
@@ -15,14 +15,15 @@ describe Targit do
|
|
15
15
|
end
|
16
16
|
let(:io_asset) do
|
17
17
|
VCR.use_cassette('current_io_asset') do
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
18
|
+
File.open('spec/examples/alpha') do |fh|
|
19
|
+
Targit.new(
|
20
|
+
fh,
|
21
|
+
'akerl/targit',
|
22
|
+
'testing',
|
23
|
+
authfile: 'spec/.creds',
|
24
|
+
create: true
|
25
|
+
)
|
26
|
+
end
|
26
27
|
end
|
27
28
|
end
|
28
29
|
|
data/targit.gemspec
CHANGED
@@ -17,16 +17,16 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.test_files = `git ls-files spec/*`.split
|
18
18
|
s.executables = ['targit']
|
19
19
|
|
20
|
-
s.add_dependency 'octokit', '~>
|
21
|
-
s.add_dependency 'octoauth', '~> 1.
|
20
|
+
s.add_dependency 'octokit', '~> 4.2.0'
|
21
|
+
s.add_dependency 'octoauth', '~> 1.4.0'
|
22
22
|
s.add_dependency 'mercenary', '~> 0.3.4'
|
23
|
-
s.add_dependency 'mime-types', '~>
|
23
|
+
s.add_dependency 'mime-types', '~> 3.0'
|
24
24
|
|
25
|
-
s.add_development_dependency 'rubocop', '~> 0.
|
25
|
+
s.add_development_dependency 'rubocop', '~> 0.35.0'
|
26
26
|
s.add_development_dependency 'rake', '~> 10.4.0'
|
27
|
-
s.add_development_dependency '
|
28
|
-
s.add_development_dependency 'rspec', '~> 3.
|
27
|
+
s.add_development_dependency 'codecov', '~> 0.1.1'
|
28
|
+
s.add_development_dependency 'rspec', '~> 3.4.0'
|
29
29
|
s.add_development_dependency 'fuubar', '~> 2.0.0'
|
30
|
-
s.add_development_dependency 'webmock', '~> 1.
|
31
|
-
s.add_development_dependency 'vcr', '~>
|
30
|
+
s.add_development_dependency 'webmock', '~> 1.22.0'
|
31
|
+
s.add_development_dependency 'vcr', '~> 3.0.0'
|
32
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: targit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Les Aker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: octokit
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 4.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:
|
26
|
+
version: 4.2.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: octoauth
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.4.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.
|
40
|
+
version: 1.4.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: mercenary
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,28 +58,28 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '3.0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '3.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rubocop
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 0.35.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
82
|
+
version: 0.35.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -95,33 +95,33 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 10.4.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: codecov
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
103
|
+
version: 0.1.1
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
110
|
+
version: 0.1.1
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rspec
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 3.
|
117
|
+
version: 3.4.0
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 3.
|
124
|
+
version: 3.4.0
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: fuubar
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,28 +142,28 @@ dependencies:
|
|
142
142
|
requirements:
|
143
143
|
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: 1.
|
145
|
+
version: 1.22.0
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: 1.
|
152
|
+
version: 1.22.0
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: vcr
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
157
|
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
159
|
+
version: 3.0.0
|
160
160
|
type: :development
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
166
|
+
version: 3.0.0
|
167
167
|
description: Manages GitHub release assets for pushing binaries and other large files
|
168
168
|
email: me@lesaker.org
|
169
169
|
executables:
|
@@ -174,13 +174,13 @@ files:
|
|
174
174
|
- ".gitignore"
|
175
175
|
- ".rspec"
|
176
176
|
- ".rubocop.yml"
|
177
|
-
- ".travis.yml"
|
178
177
|
- CHANGELOG.md
|
179
178
|
- Gemfile
|
180
179
|
- LICENSE
|
181
180
|
- README.md
|
182
181
|
- Rakefile
|
183
182
|
- bin/targit
|
183
|
+
- circle.yml
|
184
184
|
- lib/targit.rb
|
185
185
|
- lib/targit/asset.rb
|
186
186
|
- lib/targit/client.rb
|
@@ -233,7 +233,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
233
233
|
version: '0'
|
234
234
|
requirements: []
|
235
235
|
rubyforge_project:
|
236
|
-
rubygems_version: 2.4.5
|
236
|
+
rubygems_version: 2.4.5.1
|
237
237
|
signing_key:
|
238
238
|
specification_version: 4
|
239
239
|
summary: Tool for adding GitHub release assets
|
data/.travis.yml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
cache: bundler
|
3
|
-
sudo: false
|
4
|
-
rvm:
|
5
|
-
- 2.2.0
|
6
|
-
- 2.1.5
|
7
|
-
- 2.0.0-p598
|
8
|
-
- 1.9.3-p551
|
9
|
-
notifications:
|
10
|
-
email: false
|
11
|
-
irc:
|
12
|
-
template:
|
13
|
-
- "%{repository}/%{branch}/%{build_number}: %{message} -- %{build_url}"
|
14
|
-
channels:
|
15
|
-
- irc.oftc.net#akerl
|