guard-terraform 1.0.0 → 1.0.1
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 +4 -4
 - data/lib/guard/terraform/version.rb +1 -1
 - data/lib/guard/terraform.rb +29 -11
 - data/lib/terraform.rb +8 -0
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 42c6614a4b4d8c9de19825c6e3959c392f4edb8f2641e48658873db3642bb3a4
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 57595bd4449cbcf06851508175c80217bd7d91ad490726df0af08890385f9ccc
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 2e324f81d68630ff90790c0cccf1bd5cd894f3fb6de1194fbd9828358d2b21ca21e01347ee8a460a372e85d58166f3890a53df3c5f1ad67e5531307554e9eb59
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: d1dc22204bf90613e249ad37c3a0d90f5696ead97b7f5d5a95a8b0804d28c656a355eef214b3e731638244d1fc25ad03e3bcfcc59a41149b618d912f8b412ec2
         
     | 
    
        data/lib/guard/terraform.rb
    CHANGED
    
    | 
         @@ -18,7 +18,8 @@ module Guard 
     | 
|
| 
       18 
18 
     | 
    
         
             
                  write:        false,  # fix the formatting instead of just verifying?
         
     | 
| 
       19 
19 
     | 
    
         
             
                }.freeze
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
                attr_reader :options 
     | 
| 
      
 21 
     | 
    
         
            +
                attr_reader :options
         
     | 
| 
      
 22 
     | 
    
         
            +
                attr_reader :terraform, :tf_flags
         
     | 
| 
       22 
23 
     | 
    
         | 
| 
       23 
24 
     | 
    
         
             
                def initialize(**options)
         
     | 
| 
       24 
25 
     | 
    
         
             
                  super
         
     | 
| 
         @@ -49,13 +50,19 @@ module Guard 
     | 
|
| 
       49 
50 
     | 
    
         
             
                end
         
     | 
| 
       50 
51 
     | 
    
         | 
| 
       51 
52 
     | 
    
         
             
                def run_all
         
     | 
| 
      
 53 
     | 
    
         
            +
                  paths = ['.']
         
     | 
| 
      
 54 
     | 
    
         
            +
                  extra_flags = {}
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
       52 
56 
     | 
    
         
             
                  if terraform.pre_0_12?
         
     | 
| 
       53 
57 
     | 
    
         
             
                    # Terraform v<0.12 does not check *.tfvars by default,
         
     | 
| 
       54 
     | 
    
         
            -
                    # so  
     | 
| 
       55 
     | 
    
         
            -
                     
     | 
| 
      
 58 
     | 
    
         
            +
                    # so find and check them separately
         
     | 
| 
      
 59 
     | 
    
         
            +
                    paths += terraform.find_tfvars_files
         
     | 
| 
       56 
60 
     | 
    
         
             
                  else
         
     | 
| 
       57 
     | 
    
         
            -
                     
     | 
| 
      
 61 
     | 
    
         
            +
                    # Terraform 0.12+ does not check recursively by default
         
     | 
| 
      
 62 
     | 
    
         
            +
                    extra_flags[:recursive] = true
         
     | 
| 
       58 
63 
     | 
    
         
             
                  end
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
                  run(paths, extra_flags)
         
     | 
| 
       59 
66 
     | 
    
         
             
                end
         
     | 
| 
       60 
67 
     | 
    
         | 
| 
       61 
68 
     | 
    
         
             
                def run_on_modifications(paths)
         
     | 
| 
         @@ -65,10 +72,11 @@ module Guard 
     | 
|
| 
       65 
72 
     | 
    
         
             
                alias run_on_additions run_on_modifications
         
     | 
| 
       66 
73 
     | 
    
         | 
| 
       67 
74 
     | 
    
         
             
                def run(paths, **extra_flags)
         
     | 
| 
      
 75 
     | 
    
         
            +
                  print_pre_run_message(paths)
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
       68 
77 
     | 
    
         
             
                  flags = tf_flags.merge(extra_flags)
         
     | 
| 
       69 
78 
     | 
    
         | 
| 
       70 
     | 
    
         
            -
                  result = terraform.fmt(paths, flags) do | 
     | 
| 
       71 
     | 
    
         
            -
                    UI.info("#{flags[:write] ? 'Enforcing' : 'Inspecting'} Terraform formatting: #{path}")
         
     | 
| 
      
 79 
     | 
    
         
            +
                  result = terraform.fmt(paths, flags) do |_, cmd|
         
     | 
| 
       72 
80 
     | 
    
         
             
                    UI.debug(Shellwords.join(cmd))
         
     | 
| 
       73 
81 
     | 
    
         
             
                  end
         
     | 
| 
       74 
82 
     | 
    
         | 
| 
         @@ -78,6 +86,21 @@ module Guard 
     | 
|
| 
       78 
86 
     | 
    
         
             
                  throw(:task_has_failed)
         
     | 
| 
       79 
87 
     | 
    
         
             
                end
         
     | 
| 
       80 
88 
     | 
    
         | 
| 
      
 89 
     | 
    
         
            +
                def print_pre_run_message(paths)
         
     | 
| 
      
 90 
     | 
    
         
            +
                  @msg_format ||= "#{options[:write] ? 'Enforcing' : 'Inspecting'} " \
         
     | 
| 
      
 91 
     | 
    
         
            +
                                  'Terraform formatting for %s'
         
     | 
| 
      
 92 
     | 
    
         
            +
             
     | 
| 
      
 93 
     | 
    
         
            +
                  target = if paths.count > 1
         
     | 
| 
      
 94 
     | 
    
         
            +
                             "#{paths.count} files or dirs"
         
     | 
| 
      
 95 
     | 
    
         
            +
                           elsif paths.first == '.'
         
     | 
| 
      
 96 
     | 
    
         
            +
                             'the whole project'
         
     | 
| 
      
 97 
     | 
    
         
            +
                           else
         
     | 
| 
      
 98 
     | 
    
         
            +
                             paths.first
         
     | 
| 
      
 99 
     | 
    
         
            +
                           end
         
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
                  UI.info(format(@msg_format, target))
         
     | 
| 
      
 102 
     | 
    
         
            +
                end
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
       81 
104 
     | 
    
         
             
                def notify_failure
         
     | 
| 
       82 
105 
     | 
    
         
             
                  Notifier.notify(
         
     | 
| 
       83 
106 
     | 
    
         
             
                    'Terraform format check failed',
         
     | 
| 
         @@ -86,11 +109,6 @@ module Guard 
     | 
|
| 
       86 
109 
     | 
    
         
             
                  )
         
     | 
| 
       87 
110 
     | 
    
         
             
                end
         
     | 
| 
       88 
111 
     | 
    
         | 
| 
       89 
     | 
    
         
            -
                # Returns list of all Terraform files
         
     | 
| 
       90 
     | 
    
         
            -
                def all_tf_files
         
     | 
| 
       91 
     | 
    
         
            -
                  Dir['**/*.{tf,tfvars}']
         
     | 
| 
       92 
     | 
    
         
            -
                end
         
     | 
| 
       93 
     | 
    
         
            -
             
     | 
| 
       94 
112 
     | 
    
         
             
                # Terraform 0.12+ only supports checking directories,
         
     | 
| 
       95 
113 
     | 
    
         
             
                # older versions accept also files
         
     | 
| 
       96 
114 
     | 
    
         
             
                def mungle_paths(paths)
         
     | 
    
        data/lib/terraform.rb
    CHANGED
    
    | 
         @@ -31,6 +31,14 @@ class Terraform 
     | 
|
| 
       31 
31 
     | 
    
         
             
                VersionRequirement.new('< 0.12.0-alpha').satisfied_by?(version)
         
     | 
| 
       32 
32 
     | 
    
         
             
              end
         
     | 
| 
       33 
33 
     | 
    
         | 
| 
      
 34 
     | 
    
         
            +
              # Finds all *.tfvars files recursively in the given directory,
         
     | 
| 
      
 35 
     | 
    
         
            +
              # or current working directory if not specified.
         
     | 
| 
      
 36 
     | 
    
         
            +
              def find_tfvars_files(dir = nil, &block)
         
     | 
| 
      
 37 
     | 
    
         
            +
                dir = "#{dir}/" if dir && !dir.empty? && dir[-1] != '/'
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                Dir.glob("#{dir}**/*.tfvars", &block)
         
     | 
| 
      
 40 
     | 
    
         
            +
              end
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
       34 
42 
     | 
    
         
             
              # Returns `Array` of CLI flags for Terraform
         
     | 
| 
       35 
43 
     | 
    
         
             
              # E.g. `{ foo: true, bar: 'baz' }` -> `[ '-foo=true', '-bar=baz' ]`
         
     | 
| 
       36 
44 
     | 
    
         
             
              def cli_flags(**flags)
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: guard-terraform
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.0.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Teemu Matilainen
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2019-01- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2019-01-19 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: guard
         
     |