concourse-resource-rubygems 0.2.0 → 0.3.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: 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