concourse-resource-rubygems 0.2.0 → 0.3.0

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
  SHA1:
3
- metadata.gz: 32a81eae3ce44b57dec1d9067edaea85ff9a45b8
4
- data.tar.gz: 0a77ec939ca55e726d39018ffacf4123a7a957e5
3
+ metadata.gz: 9ae782d323d63615063c63b9ea1383ebdb593496
4
+ data.tar.gz: ae7fe4c2ab0b74bacd12384575bcb98b02c07b72
5
5
  SHA512:
6
- metadata.gz: f6042c93bbca3ad330005259653c4ec3708903d4866d54d9e08c37072bc832398d803848eb7c0b75526820aec822c05d06183c0e19b786bdea9992a9df44f7ec
7
- data.tar.gz: 8dea8489e74b690f5c2be92113b29f84d8a50c3c24d926f1f2d03d1404bffefe0b17355ad1a86fe735568a39e77cfe8df4afd57b72f80d57a034c0839b4b1fbf
6
+ metadata.gz: 533a82f921c9354e231b3f1d3bfab9d73f25d95663b12feb1ecf07899e4ee8865f97afdd9a1d82a7e2b06a529397526ce6fb29ac6660350c8a2e16b0ed223260
7
+ data.tar.gz: fce94d3751a4bd7a3d7091149d31172e5572292d53614a231f3dafae0ea636823f105c6de6a1853eba2a551fda0439f3ffba10ff88b6d1935077c5385d5554bb
data/.semver CHANGED
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  :major: 0
3
- :minor: 2
3
+ :minor: 3
4
4
  :patch: 0
5
5
  :special: ''
6
6
  :metadata: ''
data/bin/in CHANGED
@@ -1,3 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- STDERR.puts 'Not Implemented'
3
+ require 'concourse-resource/rubygems/in'
4
+
5
+ get = ConcourseResource::RubyGems::In.new
6
+
7
+ unless get.run
8
+ STDERR.puts "Failed to fetch from RubyGems"
9
+ abort
10
+ end
@@ -17,6 +17,7 @@ Gem::Specification.new do |gem|
17
17
 
18
18
  gem.add_runtime_dependency 'concourse-fuselage', '~> 0.3', '>= 0.3.0'
19
19
  gem.add_runtime_dependency 'gems', '~> 0.8', '>= 0.8.3'
20
+ gem.add_runtime_dependency 'http', '~> 1.0', '>= 1.0.2'
20
21
 
21
22
  gem.add_development_dependency 'semver2', '~> 3.4', '>= 3.4.2'
22
23
  end
@@ -1,12 +1,25 @@
1
1
  require 'contracts'
2
2
  require 'concourse-fuselage'
3
3
  require 'concourse-resource/rubygems/core'
4
+ require 'http'
4
5
 
5
6
  module ConcourseResource
6
7
  module RubyGems
7
8
  # In Step
8
9
  class In < Fuselage::In
9
10
  include Core
11
+
12
+ def filename
13
+ @filename ||= "#{gem}-#{version.fetch 'number'}.gem"
14
+ end
15
+
16
+ def download
17
+ @download ||= HTTP.get "https://#{host}/gems/#{filename}", follow: true
18
+ end
19
+
20
+ def fetch!
21
+ File.write "#{workdir}/#{filename}", download.flush
22
+ end
10
23
  end
11
24
  end
12
25
  end
@@ -1,5 +1,5 @@
1
1
  module ConcourseResource
2
2
  module RubyGems
3
- VERSION = '0.2.0'.freeze
3
+ VERSION = '0.3.0'.freeze
4
4
  end
5
5
  end
@@ -1,3 +1,4 @@
1
1
  require 'concourse-resource/rubygems/check'
2
+ require 'concourse-resource/rubygems/in'
2
3
  require 'concourse-resource/rubygems/gem_not_found'
3
4
  require 'concourse-resource/rubygems/version'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: concourse-resource-rubygems
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Olstrom
@@ -50,6 +50,26 @@ dependencies:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: 0.8.3
53
+ - !ruby/object:Gem::Dependency
54
+ name: http
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '1.0'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 1.0.2
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '1.0'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 1.0.2
53
73
  - !ruby/object:Gem::Dependency
54
74
  name: semver2
55
75
  requirement: !ruby/object:Gem::Requirement