targit 1.1.0 → 2.0.0

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
  SHA1:
3
- metadata.gz: d9c24d83d5995fef98de9689b8852b8c68646258
4
- data.tar.gz: 871da0a7a3bca5260c83115edcf411f8c5a020f8
3
+ metadata.gz: 14f83324bcb4729bc0e0de994d3c3f79c1186822
4
+ data.tar.gz: 1072eb454a950cdaa6efbe5c39877096f5f397dc
5
5
  SHA512:
6
- metadata.gz: a5c86ed4423e4a56c3eaf41426410402f723c3cd824f4e69cb38afeec1297bb1cdcef010fd64693a2c3371a7122178913580a749ca1e112d54bbc5346525e0d0
7
- data.tar.gz: 5b2b75233390a33d4d6156d9dbcd2fc78eb09f3b59acad3dd0632257bcb0addcf269196bc08410cf162fed05fbd61243b11f75cfe195f56b1d21b911bfa139c0
6
+ metadata.gz: 569cc0bfe444f1f7a6d4004f0f4ac31505ebafe21ddbcf783cf2c306441f7d9f4f38dfcae5f2f1b2d06e0ec08cbe90e4e814166e74e9cd510de8733a1fe3fc02
7
+ data.tar.gz: 996f88576a3def8606c349611e3e98cdda65d623dd6896c45cd3a94a97a3b1d7fc2aa7110121f85f6de62ed79d1d95503c115fde64362c3aeb4636161ef274c2
@@ -1,3 +1,9 @@
1
+ # 2.0.0 / 2015-11-22
2
+
3
+ * [ENHANCEMENT] Upgrade to mime-types v3
4
+ * [DEPRECATED] Rubies earlier than 2.x are no longer supported
5
+ * [BUGFIX] Fix failed mime-type parsing
6
+
1
7
  # 1.1.0 / 2015-05-04
2
8
 
3
9
  * [FEATURE] Support multiple files for auth file
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
- [![Code Climate](https://img.shields.io/codeclimate/github/akerl/targit.svg)](https://codeclimate.com/github/akerl/targit)
7
- [![Coverage Status](https://img.shields.io/coveralls/akerl/targit.svg)](https://coveralls.io/r/akerl/targit)
8
- [![Build Status](https://img.shields.io/travis/akerl/targit.svg)](https://travis-ci.org/akerl/targit)
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 Style/LineLength
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 Style/LineLength
24
+ # rubocop:enable Metrics/LineLength
25
25
 
26
26
  p.action do |_, options|
27
27
  repo, tag = ARGV.shift 2
@@ -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'
@@ -12,19 +12,18 @@ module Targit
12
12
 
13
13
  def initialize(asset, repo, tag, params = {})
14
14
  @options = params
15
- @options[:client] ||= _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 = @client.upload_asset @release.data[:url], @asset, @upload_options
27
- @client.release_asset asset[:url]
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
- @client.delete_release_asset asset[:url]
36
+ client.delete_release_asset asset[:url]
38
37
  end
39
38
 
40
39
  def github_data
41
- @client.release_assets(@release.data[:url]).find { |x| x[:name] == @name }
40
+ client.release_assets(@release.data[:url]).find { |x| x[:name] == @name }
42
41
  end
43
42
 
44
43
  def url
@@ -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
- files = @options[:authfile].split(',') || [:default]
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
@@ -4,32 +4,32 @@ module Targit
4
4
  class Release
5
5
  include Targit::Client
6
6
 
7
- attr_reader :data, :repo, :tag
7
+ attr_reader :repo, :tag
8
8
 
9
9
  def initialize(repo, tag, params = {})
10
- @repo, @tag, @options = repo, tag, params
11
- @options[:client] ||= _client
12
- @client = @options[:client]
13
- @create_options = _create_options
14
- @data = find
15
- create if @data.nil? && @options.include?(:create)
16
- fail('No release found') if @data.nil?
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 find
22
- @client.releases(@repo).find do |x|
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
- @client.create_release(@repo, @tag, @create_options)
29
- @data = find
29
+ client.create_release(@repo, @tag, create_options)
30
30
  end
31
31
 
32
- def _create_options
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|
@@ -1,5 +1,5 @@
1
1
  ##
2
2
  # Set the version (needed for Mercenary -v)
3
3
  module Targit
4
- VERSION = '1.1.0'
4
+ VERSION = '2.0.0'
5
5
  end
@@ -1,9 +1,10 @@
1
- require 'simplecov'
2
- require 'coveralls'
3
-
4
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
5
- SimpleCov.start do
6
- add_filter '/spec/'
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'
@@ -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
- fh = File.open('spec/examples/alpha')
19
- Targit.new(
20
- fh,
21
- 'akerl/targit',
22
- 'testing',
23
- authfile: 'spec/.creds',
24
- create: true
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
 
@@ -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', '~> 3.8.0'
21
- s.add_dependency 'octoauth', '~> 1.1.0'
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', '~> 2.3'
23
+ s.add_dependency 'mime-types', '~> 3.0'
24
24
 
25
- s.add_development_dependency 'rubocop', '~> 0.30.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 'coveralls', '~> 0.8.0'
28
- s.add_development_dependency 'rspec', '~> 3.2.0'
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.21.0'
31
- s.add_development_dependency 'vcr', '~> 2.9.2'
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: 1.1.0
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-05-04 00:00:00.000000000 Z
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: 3.8.0
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: 3.8.0
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.1.0
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.1.0
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: '2.3'
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: '2.3'
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.30.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.30.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: coveralls
98
+ name: codecov
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.8.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.8.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.2.0
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.2.0
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.21.0
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.21.0
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: 2.9.2
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: 2.9.2
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
@@ -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