itamae 1.1.17 → 1.1.18

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