itamae 1.1.17 → 1.1.18

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: 16aa08aedcb8ca1d05f9e64a3c25114f09fc2025
4
- data.tar.gz: b9a6807d96fb67075231852495c4f40d519e4f03
3
+ metadata.gz: 21d7a4d489e16899e9c5554fc59a8741ec2aa0cc
4
+ data.tar.gz: c188142a5e592f79df63523e0f193b266432d888
5
5
  SHA512:
6
- metadata.gz: 9a5fabef2a518f3c4a2859b98affb21de321ded98e33b92407de1b0c93631bbaff9c2b5b54ecbd0c9ab1a83943750fd70aeb96ae38be503c13754ac843d02b83
7
- data.tar.gz: 8138b073c53e2ff24a788354daf77fdb13ad884889afdc5a5dabd9e6bcdca517d19238e031ce19f6f0e0dea3824f59223df84b0832b92881293c571aa3d64038
6
+ metadata.gz: 8221d7deaa055b4091ccb439c8ca9411f8d91baa938d1dd12dba5ca661b991f755a30eb8ed1789c2cb8c78239f739a1a0e28ffb02e8cb8dcceb21490934701d1
7
+ data.tar.gz: deee523a22ae7d96c6d814580f67aed9afa8d5f120a9d131dc1d68ae594a6ba0d4da032070d63e625334a6dcb5fa03cc8a542c369076b8ad16a4ab976780d75c
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## v1.1.18
2
+
3
+ Improvements
4
+
5
+ - [Add remove action to package resource (by @eagletmt)](https://github.com/itamae-kitchen/itamae/pull/92)
6
+ - Colorize diff output of file resource
7
+ - removed lines in red
8
+ - inserted lines in green
9
+
1
10
  ## v1.1.17
2
11
 
3
12
  Bugfixes
data/itamae.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.require_paths = ["lib"]
19
19
 
20
20
  spec.add_runtime_dependency "thor"
21
- spec.add_runtime_dependency "specinfra", "~> 2.12.1"
21
+ spec.add_runtime_dependency "specinfra", ">= 2.18.2"
22
22
  spec.add_runtime_dependency "hashie"
23
23
  spec.add_runtime_dependency "ansi"
24
24
 
@@ -55,18 +55,7 @@ module Itamae
55
55
  super
56
56
 
57
57
  if current.exist
58
- diff = run_command(["diff", "-u", attributes.path, @temppath], error: false)
59
- if diff.exit_status == 0
60
- # no change
61
- Logger.debug "file content will not change"
62
- else
63
- Logger.formatter.color :green do
64
- Logger.info "diff:"
65
- diff.stdout.each_line do |line|
66
- Logger.info line.chomp
67
- end
68
- end
69
- end
58
+ show_file_diff
70
59
  end
71
60
  end
72
61
 
@@ -96,6 +85,28 @@ module Itamae
96
85
  run_specinfra(:remove_file, attributes.path)
97
86
  end
98
87
  end
88
+
89
+ def show_file_diff
90
+ diff = run_command(["diff", "-u", attributes.path, @temppath], error: false)
91
+ if diff.exit_status == 0
92
+ # no change
93
+ Logger.debug "file content will not change"
94
+ else
95
+ Logger.info "diff:"
96
+ diff.stdout.each_line do |line|
97
+ color = if line.start_with?('+')
98
+ :green
99
+ elsif line.start_with?('-')
100
+ :red
101
+ else
102
+ :clear
103
+ end
104
+ Logger.formatter.color(color) do
105
+ Logger.info line.chomp
106
+ end
107
+ end
108
+ end
109
+ end
99
110
  end
100
111
  end
101
112
  end
@@ -12,6 +12,8 @@ module Itamae
12
12
  case @current_action
13
13
  when :install
14
14
  attributes.installed = true
15
+ when :remove
16
+ attributes.installed = false
15
17
  end
16
18
  end
17
19
 
@@ -29,6 +31,13 @@ module Itamae
29
31
  updated!
30
32
  end
31
33
  end
34
+
35
+ def action_remove(action_options)
36
+ if run_specinfra(:check_package_is_installed, attributes.name, nil)
37
+ run_specinfra(:remove_package, attributes.name, attributes.options)
38
+ updated!
39
+ end
40
+ end
32
41
  end
33
42
  end
34
43
  end
@@ -1 +1 @@
1
- 1.1.17
1
+ 1.1.18
@@ -18,6 +18,10 @@ describe package('sl') do
18
18
  it { should be_installed }
19
19
  end
20
20
 
21
+ describe package('resolvconf') do
22
+ it { should_not be_installed }
23
+ end
24
+
21
25
  describe file('/tmp/remote_file') do
22
26
  it { should be_file }
23
27
  its(:content) { should match(/Hello Itamae/) }
@@ -25,6 +25,10 @@ package 'sl' do
25
25
  version '3.03-17'
26
26
  end
27
27
 
28
+ package 'resolvconf' do
29
+ action :remove
30
+ end
31
+
28
32
  ######
29
33
 
30
34
  package "ruby"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itamae
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.17
4
+ version: 1.1.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryota Arai
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: specinfra
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 2.12.1
33
+ version: 2.18.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 2.12.1
40
+ version: 2.18.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: hashie
43
43
  requirement: !ruby/object:Gem::Requirement