last_green_go_pipeline 1.2.2 → 1.2.3

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: 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