last_green_go_pipeline 1.2.2 → 1.2.3

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: 89d364d788b7a03782c0552da583ec6a3582367f
4
- data.tar.gz: 272f2715105d2b6fb93b4feb5879c288e2c85799
3
+ metadata.gz: 2e4491c1dbdfd8b274714cb71ca48f869836df94
4
+ data.tar.gz: 414e63535ae002bbb04a4b485e51db9b4aad7cff
5
5
  SHA512:
6
- metadata.gz: fc517d6e6f39b421bc6e5155c3ac3ac1cdfd7f0a2e2647ccf17e1222b04278be5b936d31bebe0f0bef1dfc4799c750eac1ea095d60097d2f47c6e53ebb8a6a95
7
- data.tar.gz: 97d019d6f43521ca8dbdd161acd95423173eefcab3807fbd3de0a591c2be418c1116dcff70b60ca163ddf7f99f6dc67484926bc1429868998c32a683ed89ff22
6
+ metadata.gz: ecd54a5332e2e6bb62e105fac4a9e41352006133dc1af559213b7a9bd3f8fd1e702ebb5110b57514c1b63ef746501ecebbade48fbfb5c08a9e7c5b16f9a9b7b1
7
+ data.tar.gz: 63164fe8ea14a7ca8ca0c06faed4b7f40960120c4b485da10d28b0454a6ffa4a8e8d87fb61f8fb75c3b8a985e531e36231b52fbd37ea49f35d1a4dfc8e247d96
@@ -8,16 +8,22 @@ require_relative 'stage_run'
8
8
  module GoCD
9
9
  class LastGreenBuildFetcher
10
10
 
11
- PAGE_FETCH_LIMIT = 2
11
+ PAGE_FETCH_LIMIT = 1
12
12
 
13
13
  def initialize(options)
14
14
  @options = options
15
15
  @pipeline = @options[:pipeline_name]
16
16
  @stage = @options.delete(:stage_name)
17
- @cache = PStore.new(File.expand_path('./.last_green_build_fetcher_cache'))
17
+ cache_filename = @options[:cache_file] || default_cache_filename
18
+ if File.exists?(cache_filename)
19
+ log "[GoCD::LastGreenBuildFetcher] Reusing cache file: #{cache_filename}"
20
+ else
21
+ log "[GoCD::LastGreenBuildFetcher] Creating new cache file: #{cache_filename}"
22
+ end
23
+ @cache = PStore.new(cache_filename)
18
24
  @options.merge!(:latest_atom_entry_id => recall(:latest_atom_entry_id), :page_fetch_limit => PAGE_FETCH_LIMIT)
19
25
  if @options[:latest_atom_entry_id].nil? && ENV['QUIET'].nil?
20
- puts "Retrieving the the first #{PAGE_FETCH_LIMIT} feed pages for #{@options[:pipeline_name]}/#{@stage}."
26
+ puts "Retrieving the the latest #{PAGE_FETCH_LIMIT} page(s) of the Go event feed for #{@options[:pipeline_name]}/#{@stage}."
21
27
  end
22
28
  end
23
29
 
@@ -41,6 +47,16 @@ module GoCD
41
47
 
42
48
  private
43
49
 
50
+ def log(msg)
51
+ puts msg unless ENV['QUIET']
52
+ end
53
+
54
+ def default_cache_filename
55
+ dir = File.join(ENV['HOME'], ".last-green-go-pipeline-cache")
56
+ FileUtils.mkdir_p(dir)
57
+ File.join(dir, "#{@options[:host]}.pstore")
58
+ end
59
+
44
60
  def find_green_stage(params)
45
61
  pipelines = params.delete(:pipelines)
46
62
  filter = params.delete(:filters)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: last_green_go_pipeline
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bill DePhillips
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-16 00:00:00.000000000 Z
11
+ date: 2014-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -46,8 +46,8 @@ executables: []
46
46
  extensions: []
47
47
  extra_rdoc_files: []
48
48
  files:
49
- - lib/go_cd/last_green_build_fetcher.rb
50
49
  - lib/go_cd/stage_run.rb
50
+ - lib/go_cd/last_green_build_fetcher.rb
51
51
  - LICENSE
52
52
  - README.md
53
53
  homepage: https://github.com/rearadmiral/last_green_go_pipeline