Sha256: 8ea7fc91b1939b20eb8020fd6e6dc9b84b0bde8c6dc2100961ab7fe6f12ceeda

Contents?: true

Size: 1.53 KB

Versions: 2

Compression:

Stored size: 1.53 KB

Contents

#+TITLE: fuselage
#+SUBTITLE: Simplifying Concourse Resources in Ruby
#+LATEX: \pagebreak

* Overview

~fuselage~ simplifies development of resources for Concourse by providing
classes for standard resource steps, interface contracts between Concourse and
your resource, and clear errors for most failure conditions.

* Implementing a Resource

#+BEGIN_SRC ruby
  require 'concourse-fuselage'
#+END_SRC

Inherit from the appropriate class and implement the required methods.

** ~Fuselage::Check~

~Check~ is used to poll for new versions.

*** ~#latest~

Should return a ~Hash~ that describes the latest version. This will be called
when no prior version has been detected.

*** ~#since(version)~

Will be passed a ~Hash~ in the form ~Out#version~ returns.

Should return an ~Array~ of ~Hashes~, similar to what ~#latest~ would return.

** ~Fuselage::In~

~In~ is called for the ~get~ step of a resource.

*** ~#fetch!~

Fetch ~#version~ place it in ~#workdir~.

Should fail if ~#version~ is unavailable.

** ~Fuselage::Out~

~Out~ is called for the ~put~ step of a resource.

*** ~#update!~

Update the resource. All outputs from prior steps are available in ~#workdir~.

*** ~#version~

Should return a ~Hash~ that describes the resulting version.

* License

  ~concourse-fuselage~ is available under the [[https://tldrlegal.com/license/mit-license][MIT License]]. See ~LICENSE.txt~ for
  the full text.

* Contributors

- [[https://colstrom.github.io/][Chris Olstrom]] | [[mailto:chris@olstrom.com][e-mail]] | [[https://twitter.com/ChrisOlstrom][Twitter]]
  

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
concourse-fuselage-0.5.8 README.org
concourse-fuselage-0.5.7 README.org