stack_master 0.12.0 → 0.13.0
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/.travis.yml +2 -0
 - data/README.md +1 -0
 - data/lib/stack_master/aws_driver/cloud_formation.rb +7 -2
 - data/lib/stack_master/commands/apply.rb +1 -0
 - data/lib/stack_master/stack.rb +3 -0
 - data/lib/stack_master/stack_definition.rb +2 -0
 - data/lib/stack_master/test_driver/cloud_formation.rb +1 -0
 - data/lib/stack_master/version.rb +1 -1
 - data/spec/fixtures/stack_master.yml +4 -0
 - data/spec/stack_master/commands/apply_spec.rb +4 -1
 - data/spec/stack_master/config_spec.rb +5 -0
 - data/spec/stack_master/stack_spec.rb +10 -2
 - data/stack_master.gemspec +1 -0
 - metadata +4 -4
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: decf1cea6cb689ff5f5df562e7393715a97c9a59
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 6b2b11e73212a5e154f50a7350618b1e5f3a31a0
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 663b7860af6120f09ebed47d50374a51b09d4b4f9f3981b7753f1876fbcefa082b62d5dc99a7ebdeee78a2b85c0f23bcb088a5619e4a69284b08a2574547d537
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 65f77fc48be1584005cfc7292f07815a7f575b5b63cda9c6334572668bedfa9097f50ec5386c4aa25b642acd3e244b56a793bfc3e45ec675a1cf6a749457ed61
         
     | 
    
        data/.travis.yml
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    
| 
         @@ -19,8 +19,7 @@ module StackMaster 
     | 
|
| 
       19 
19 
     | 
    
         
             
                                      :get_stack_policy,
         
     | 
| 
       20 
20 
     | 
    
         
             
                                      :describe_stack_events,
         
     | 
| 
       21 
21 
     | 
    
         
             
                                      :update_stack,
         
     | 
| 
       22 
     | 
    
         
            -
                                      :create_stack 
     | 
| 
       23 
     | 
    
         
            -
                                      :validate_template
         
     | 
| 
      
 22 
     | 
    
         
            +
                                      :create_stack
         
     | 
| 
       24 
23 
     | 
    
         | 
| 
       25 
24 
     | 
    
         
             
                  def describe_stacks(options)
         
     | 
| 
       26 
25 
     | 
    
         
             
                    retry_with_backoff do
         
     | 
| 
         @@ -28,6 +27,12 @@ module StackMaster 
     | 
|
| 
       28 
27 
     | 
    
         
             
                    end
         
     | 
| 
       29 
28 
     | 
    
         
             
                  end
         
     | 
| 
       30 
29 
     | 
    
         | 
| 
      
 30 
     | 
    
         
            +
                  def validate_template(options)
         
     | 
| 
      
 31 
     | 
    
         
            +
                    retry_with_backoff do
         
     | 
| 
      
 32 
     | 
    
         
            +
                      cf.validate_template(options)
         
     | 
| 
      
 33 
     | 
    
         
            +
                    end
         
     | 
| 
      
 34 
     | 
    
         
            +
                  end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
       31 
36 
     | 
    
         
             
                  private
         
     | 
| 
       32 
37 
     | 
    
         | 
| 
       33 
38 
     | 
    
         
             
                  def cf
         
     | 
| 
         @@ -122,6 +122,7 @@ module StackMaster 
     | 
|
| 
       122 
122 
     | 
    
         
             
                      stack_name: stack_name,
         
     | 
| 
       123 
123 
     | 
    
         
             
                      parameters: proposed_stack.aws_parameters,
         
     | 
| 
       124 
124 
     | 
    
         
             
                      capabilities: ['CAPABILITY_IAM', 'CAPABILITY_NAMED_IAM'],
         
     | 
| 
      
 125 
     | 
    
         
            +
                      role_arn: proposed_stack.role_arn,
         
     | 
| 
       125 
126 
     | 
    
         
             
                      notification_arns: proposed_stack.notification_arns,
         
     | 
| 
       126 
127 
     | 
    
         
             
                      stack_policy_body: proposed_stack.stack_policy_body,
         
     | 
| 
       127 
128 
     | 
    
         
             
                      template_method => template_value
         
     | 
    
        data/lib/stack_master/stack.rb
    CHANGED
    
    | 
         @@ -7,6 +7,7 @@ module StackMaster 
     | 
|
| 
       7 
7 
     | 
    
         
             
                            :parameters,
         
     | 
| 
       8 
8 
     | 
    
         
             
                            :template_body,
         
     | 
| 
       9 
9 
     | 
    
         
             
                            :template_format,
         
     | 
| 
      
 10 
     | 
    
         
            +
                            :role_arn,
         
     | 
| 
       10 
11 
     | 
    
         
             
                            :notification_arns,
         
     | 
| 
       11 
12 
     | 
    
         
             
                            :outputs,
         
     | 
| 
       12 
13 
     | 
    
         
             
                            :stack_policy_body,
         
     | 
| 
         @@ -52,6 +53,7 @@ module StackMaster 
     | 
|
| 
       52 
53 
     | 
    
         
             
                      template_body: template_body,
         
     | 
| 
       53 
54 
     | 
    
         
             
                      template_format: template_format,
         
     | 
| 
       54 
55 
     | 
    
         
             
                      outputs: outputs,
         
     | 
| 
      
 56 
     | 
    
         
            +
                      role_arn: cf_stack.role_arn,
         
     | 
| 
       55 
57 
     | 
    
         
             
                      notification_arns: cf_stack.notification_arns,
         
     | 
| 
       56 
58 
     | 
    
         
             
                      stack_policy_body: stack_policy_body,
         
     | 
| 
       57 
59 
     | 
    
         
             
                      stack_status: cf_stack.stack_status)
         
     | 
| 
         @@ -73,6 +75,7 @@ module StackMaster 
     | 
|
| 
       73 
75 
     | 
    
         
             
                      parameters: parameters,
         
     | 
| 
       74 
76 
     | 
    
         
             
                      template_body: template_body,
         
     | 
| 
       75 
77 
     | 
    
         
             
                      template_format: template_format,
         
     | 
| 
      
 78 
     | 
    
         
            +
                      role_arn: stack_definition.role_arn,
         
     | 
| 
       76 
79 
     | 
    
         
             
                      notification_arns: stack_definition.notification_arns,
         
     | 
| 
       77 
80 
     | 
    
         
             
                      stack_policy_body: stack_policy_body)
         
     | 
| 
       78 
81 
     | 
    
         
             
                end
         
     | 
| 
         @@ -4,6 +4,7 @@ module StackMaster 
     | 
|
| 
       4 
4 
     | 
    
         
             
                              :stack_name,
         
     | 
| 
       5 
5 
     | 
    
         
             
                              :template,
         
     | 
| 
       6 
6 
     | 
    
         
             
                              :tags,
         
     | 
| 
      
 7 
     | 
    
         
            +
                              :role_arn,
         
     | 
| 
       7 
8 
     | 
    
         
             
                              :notification_arns,
         
     | 
| 
       8 
9 
     | 
    
         
             
                              :base_dir,
         
     | 
| 
       9 
10 
     | 
    
         
             
                              :secret_file,
         
     | 
| 
         @@ -28,6 +29,7 @@ module StackMaster 
     | 
|
| 
       28 
29 
     | 
    
         
             
                    @stack_name == other.stack_name &&
         
     | 
| 
       29 
30 
     | 
    
         
             
                    @template == other.template &&
         
     | 
| 
       30 
31 
     | 
    
         
             
                    @tags == other.tags &&
         
     | 
| 
      
 32 
     | 
    
         
            +
                    @role_arn == other.role_arn &&
         
     | 
| 
       31 
33 
     | 
    
         
             
                    @notification_arns == other.notification_arns &&
         
     | 
| 
       32 
34 
     | 
    
         
             
                    @base_dir == other.base_dir &&
         
     | 
| 
       33 
35 
     | 
    
         
             
                    @secret_file == other.secret_file &&
         
     | 
    
        data/lib/stack_master/version.rb
    CHANGED
    
    
| 
         @@ -15,6 +15,7 @@ region_defaults: 
     | 
|
| 
       15 
15 
     | 
    
         
             
                  environment: production
         
     | 
| 
       16 
16 
     | 
    
         
             
                notification_arns:
         
     | 
| 
       17 
17 
     | 
    
         
             
                  - test_arn
         
     | 
| 
      
 18 
     | 
    
         
            +
                role_arn: test_service_role_arn
         
     | 
| 
       18 
19 
     | 
    
         
             
                secret_file: production.yml.gpg
         
     | 
| 
       19 
20 
     | 
    
         
             
                stack_policy_file: my_policy.json
         
     | 
| 
       20 
21 
     | 
    
         
             
              staging:
         
     | 
| 
         @@ -23,6 +24,7 @@ region_defaults: 
     | 
|
| 
       23 
24 
     | 
    
         
             
                  test_override: 1
         
     | 
| 
       24 
25 
     | 
    
         
             
                notification_arns:
         
     | 
| 
       25 
26 
     | 
    
         
             
                  - test_arn_3
         
     | 
| 
      
 27 
     | 
    
         
            +
                role_arn: test_service_role_arn3
         
     | 
| 
       26 
28 
     | 
    
         
             
                secret_file: staging.yml.gpg
         
     | 
| 
       27 
29 
     | 
    
         
             
            stacks:
         
     | 
| 
       28 
30 
     | 
    
         
             
              us-east-1:
         
     | 
| 
         @@ -30,6 +32,7 @@ stacks: 
     | 
|
| 
       30 
32 
     | 
    
         
             
                  template: myapp_vpc.json
         
     | 
| 
       31 
33 
     | 
    
         
             
                  notification_arns:
         
     | 
| 
       32 
34 
     | 
    
         
             
                    - test_arn_2
         
     | 
| 
      
 35 
     | 
    
         
            +
                  role_arn: test_service_role_arn2
         
     | 
| 
       33 
36 
     | 
    
         
             
                myapp_web:
         
     | 
| 
       34 
37 
     | 
    
         
             
                  template: myapp_web.rb
         
     | 
| 
       35 
38 
     | 
    
         
             
                myapp_vpc_with_secrets:
         
     | 
| 
         @@ -39,6 +42,7 @@ stacks: 
     | 
|
| 
       39 
42 
     | 
    
         
             
                  template: myapp_vpc.rb
         
     | 
| 
       40 
43 
     | 
    
         
             
                  notification_arns:
         
     | 
| 
       41 
44 
     | 
    
         
             
                    - test_arn_4
         
     | 
| 
      
 45 
     | 
    
         
            +
                  role_arn: test_service_role_arn4
         
     | 
| 
       42 
46 
     | 
    
         
             
                myapp_web:
         
     | 
| 
       43 
47 
     | 
    
         
             
                  template: myapp_web
         
     | 
| 
       44 
48 
     | 
    
         
             
                  tags:
         
     | 
| 
         @@ -4,12 +4,13 @@ RSpec.describe StackMaster::Commands::Apply do 
     | 
|
| 
       4 
4 
     | 
    
         
             
              let(:region) { 'us-east-1' }
         
     | 
| 
       5 
5 
     | 
    
         
             
              let(:stack_name) { 'myapp-vpc' }
         
     | 
| 
       6 
6 
     | 
    
         
             
              let(:config) { double(find_stack: stack_definition) }
         
     | 
| 
      
 7 
     | 
    
         
            +
              let(:role_arn) { 'test_service_role_arn' }
         
     | 
| 
       7 
8 
     | 
    
         
             
              let(:notification_arn) { 'test_arn' }
         
     | 
| 
       8 
9 
     | 
    
         
             
              let(:stack_definition) { StackMaster::StackDefinition.new(base_dir: '/base_dir', region: region, stack_name: stack_name) }
         
     | 
| 
       9 
10 
     | 
    
         
             
              let(:template_body) { '{}' }
         
     | 
| 
       10 
11 
     | 
    
         
             
              let(:template_format) { :json }
         
     | 
| 
       11 
12 
     | 
    
         
             
              let(:parameters) { { 'param_1' => 'hello' } }
         
     | 
| 
       12 
     | 
    
         
            -
              let(:proposed_stack) { StackMaster::Stack.new(template_body: template_body, template_format: template_format, tags: { 'environment' => 'production' } , parameters: parameters, notification_arns: [notification_arn], stack_policy_body: stack_policy_body ) }
         
     | 
| 
      
 13 
     | 
    
         
            +
              let(:proposed_stack) { StackMaster::Stack.new(template_body: template_body, template_format: template_format, tags: { 'environment' => 'production' } , parameters: parameters, role_arn: role_arn, notification_arns: [notification_arn], stack_policy_body: stack_policy_body ) }
         
     | 
| 
       13 
14 
     | 
    
         
             
              let(:stack_policy_body) { '{}' }
         
     | 
| 
       14 
15 
     | 
    
         | 
| 
       15 
16 
     | 
    
         
             
              before do
         
     | 
| 
         @@ -47,6 +48,7 @@ RSpec.describe StackMaster::Commands::Apply do 
     | 
|
| 
       47 
48 
     | 
    
         
             
                      { parameter_key: 'param_1', parameter_value: 'hello' }
         
     | 
| 
       48 
49 
     | 
    
         
             
                    ],
         
     | 
| 
       49 
50 
     | 
    
         
             
                    capabilities: ['CAPABILITY_IAM', 'CAPABILITY_NAMED_IAM'],
         
     | 
| 
      
 51 
     | 
    
         
            +
                    role_arn: role_arn,
         
     | 
| 
       50 
52 
     | 
    
         
             
                    notification_arns: [notification_arn],
         
     | 
| 
       51 
53 
     | 
    
         
             
                    stack_policy_body: stack_policy_body
         
     | 
| 
       52 
54 
     | 
    
         
             
                  )
         
     | 
| 
         @@ -134,6 +136,7 @@ RSpec.describe StackMaster::Commands::Apply do 
     | 
|
| 
       134 
136 
     | 
    
         
             
                        value: 'production'
         
     | 
| 
       135 
137 
     | 
    
         
             
                      }],
         
     | 
| 
       136 
138 
     | 
    
         
             
                    capabilities: ['CAPABILITY_IAM', 'CAPABILITY_NAMED_IAM'],
         
     | 
| 
      
 139 
     | 
    
         
            +
                    role_arn: role_arn,
         
     | 
| 
       137 
140 
     | 
    
         
             
                    notification_arns: [notification_arn],
         
     | 
| 
       138 
141 
     | 
    
         
             
                    stack_policy_body: stack_policy_body,
         
     | 
| 
       139 
142 
     | 
    
         
             
                    on_failure: 'ROLLBACK'
         
     | 
| 
         @@ -10,6 +10,7 @@ RSpec.describe StackMaster::Config do 
     | 
|
| 
       10 
10 
     | 
    
         
             
                  tags: { 'application' => 'my-awesome-blog', 'environment' => 'production' },
         
     | 
| 
       11 
11 
     | 
    
         
             
                  s3: { 'bucket' => 'my-bucket', 'region' => 'us-east-1' },
         
     | 
| 
       12 
12 
     | 
    
         
             
                  notification_arns: ['test_arn', 'test_arn_2'],
         
     | 
| 
      
 13 
     | 
    
         
            +
                  role_arn: 'test_service_role_arn2',
         
     | 
| 
       13 
14 
     | 
    
         
             
                  base_dir: base_dir,
         
     | 
| 
       14 
15 
     | 
    
         
             
                  secret_file: 'production.yml.gpg',
         
     | 
| 
       15 
16 
     | 
    
         
             
                  stack_policy_file: 'my_policy.json',
         
     | 
| 
         @@ -87,12 +88,14 @@ RSpec.describe StackMaster::Config do 
     | 
|
| 
       87 
88 
     | 
    
         
             
                expect(loaded_config.region_defaults).to eq({
         
     | 
| 
       88 
89 
     | 
    
         
             
                  'us-east-1' => {
         
     | 
| 
       89 
90 
     | 
    
         
             
                    'tags' => { 'environment' => 'production' },
         
     | 
| 
      
 91 
     | 
    
         
            +
                    'role_arn' => 'test_service_role_arn',
         
     | 
| 
       90 
92 
     | 
    
         
             
                    'notification_arns' => ['test_arn'],
         
     | 
| 
       91 
93 
     | 
    
         
             
                    'secret_file' => 'production.yml.gpg',
         
     | 
| 
       92 
94 
     | 
    
         
             
                    'stack_policy_file' => 'my_policy.json'
         
     | 
| 
       93 
95 
     | 
    
         
             
                  },
         
     | 
| 
       94 
96 
     | 
    
         
             
                  'ap-southeast-2' => {
         
     | 
| 
       95 
97 
     | 
    
         
             
                    'tags' => {'environment' => 'staging', 'test_override' => 1 },
         
     | 
| 
      
 98 
     | 
    
         
            +
                    'role_arn' => 'test_service_role_arn3',
         
     | 
| 
       96 
99 
     | 
    
         
             
                    'notification_arns' => ['test_arn_3'],
         
     | 
| 
       97 
100 
     | 
    
         
             
                    'secret_file' => 'staging.yml.gpg'
         
     | 
| 
       98 
101 
     | 
    
         
             
                  }
         
     | 
| 
         @@ -117,6 +120,7 @@ RSpec.describe StackMaster::Config do 
     | 
|
| 
       117 
120 
     | 
    
         
             
                    'test_override' => 1
         
     | 
| 
       118 
121 
     | 
    
         
             
                  },
         
     | 
| 
       119 
122 
     | 
    
         
             
                  s3: { 'bucket' => 'my-bucket', 'region' => 'us-east-1' },
         
     | 
| 
      
 123 
     | 
    
         
            +
                  role_arn: 'test_service_role_arn4',
         
     | 
| 
       120 
124 
     | 
    
         
             
                  notification_arns: ['test_arn_3', 'test_arn_4'],
         
     | 
| 
       121 
125 
     | 
    
         
             
                  template: 'myapp_vpc.rb',
         
     | 
| 
       122 
126 
     | 
    
         
             
                  base_dir: base_dir,
         
     | 
| 
         @@ -133,6 +137,7 @@ RSpec.describe StackMaster::Config do 
     | 
|
| 
       133 
137 
     | 
    
         
             
                    'test_override' => 2
         
     | 
| 
       134 
138 
     | 
    
         
             
                  },
         
     | 
| 
       135 
139 
     | 
    
         
             
                  s3: { 'bucket' => 'my-bucket', 'region' => 'us-east-1' },
         
     | 
| 
      
 140 
     | 
    
         
            +
                  role_arn: 'test_service_role_arn3',
         
     | 
| 
       136 
141 
     | 
    
         
             
                  notification_arns: ['test_arn_3'],
         
     | 
| 
       137 
142 
     | 
    
         
             
                  template: 'myapp_web',
         
     | 
| 
       138 
143 
     | 
    
         
             
                  base_dir: base_dir,
         
     | 
| 
         @@ -19,7 +19,7 @@ RSpec.describe StackMaster::Stack do 
     | 
|
| 
       19 
19 
     | 
    
         
             
                    ]
         
     | 
| 
       20 
20 
     | 
    
         
             
                  }
         
     | 
| 
       21 
21 
     | 
    
         
             
                  before do
         
     | 
| 
       22 
     | 
    
         
            -
                    cf.stub_responses(:describe_stacks, stacks: [{ stack_id: stack_id, stack_name: stack_name, creation_time: Time.now, stack_status: 'UPDATE_COMPLETE', parameters: parameters, notification_arns: ['test_arn']}])
         
     | 
| 
      
 22 
     | 
    
         
            +
                    cf.stub_responses(:describe_stacks, stacks: [{ stack_id: stack_id, stack_name: stack_name, creation_time: Time.now, stack_status: 'UPDATE_COMPLETE', parameters: parameters, notification_arns: ['test_arn'], role_arn: 'test_service_role_arn'}])
         
     | 
| 
       23 
23 
     | 
    
         
             
                    cf.stub_responses(:get_template, template_body: "{}")
         
     | 
| 
       24 
24 
     | 
    
         
             
                    cf.stub_responses(:get_stack_policy, stack_policy_body: stack_policy_body)
         
     | 
| 
       25 
25 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -36,6 +36,10 @@ RSpec.describe StackMaster::Stack do 
     | 
|
| 
       36 
36 
     | 
    
         
             
                    expect(stack.parameters).to eq({'param1' => 'value1', 'param2' => 'value2'})
         
     | 
| 
       37 
37 
     | 
    
         
             
                  end
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
      
 39 
     | 
    
         
            +
                  it 'sets role_arn' do
         
     | 
| 
      
 40 
     | 
    
         
            +
                    expect(stack.role_arn).to eq('test_service_role_arn')
         
     | 
| 
      
 41 
     | 
    
         
            +
                  end
         
     | 
| 
      
 42 
     | 
    
         
            +
                  
         
     | 
| 
       39 
43 
     | 
    
         
             
                  it 'sets notification_arns' do
         
     | 
| 
       40 
44 
     | 
    
         
             
                    expect(stack.notification_arns).to eq(['test_arn'])
         
     | 
| 
       41 
45 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -70,7 +74,7 @@ RSpec.describe StackMaster::Stack do 
     | 
|
| 
       70 
74 
     | 
    
         | 
| 
       71 
75 
     | 
    
         
             
              describe '.generate' do
         
     | 
| 
       72 
76 
     | 
    
         
             
                let(:tags) { { 'tag1' => 'value1' } }
         
     | 
| 
       73 
     | 
    
         
            -
                let(:stack_definition) { StackMaster::StackDefinition.new(region: region, stack_name: stack_name, tags: tags, base_dir: '/base_dir', template: template_file_name, notification_arns: ['test_arn'], stack_policy_file: 'no_replace_rds.json') }
         
     | 
| 
      
 77 
     | 
    
         
            +
                let(:stack_definition) { StackMaster::StackDefinition.new(region: region, stack_name: stack_name, tags: tags, base_dir: '/base_dir', template: template_file_name, notification_arns: ['test_arn'], role_arn: 'test_service_role_arn', stack_policy_file: 'no_replace_rds.json') }
         
     | 
| 
       74 
78 
     | 
    
         
             
                let(:config) { StackMaster::Config.new({'stacks' => {}}, '/base_dir') }
         
     | 
| 
       75 
79 
     | 
    
         
             
                subject(:stack) { StackMaster::Stack.generate(stack_definition, config) }
         
     | 
| 
       76 
80 
     | 
    
         
             
                let(:parameter_hash) { { 'DbPassword' => { 'secret' => 'db_password' } } }
         
     | 
| 
         @@ -107,6 +111,10 @@ RSpec.describe StackMaster::Stack do 
     | 
|
| 
       107 
111 
     | 
    
         
             
                  expect(stack.template_body).to eq template_body
         
     | 
| 
       108 
112 
     | 
    
         
             
                end
         
     | 
| 
       109 
113 
     | 
    
         | 
| 
      
 114 
     | 
    
         
            +
                it 'has role_arn' do
         
     | 
| 
      
 115 
     | 
    
         
            +
                  expect(stack.role_arn).to eq 'test_service_role_arn'
         
     | 
| 
      
 116 
     | 
    
         
            +
                end
         
     | 
| 
      
 117 
     | 
    
         
            +
                
         
     | 
| 
       110 
118 
     | 
    
         
             
                it 'has notification_arns' do
         
     | 
| 
       111 
119 
     | 
    
         
             
                  expect(stack.notification_arns).to eq ['test_arn']
         
     | 
| 
       112 
120 
     | 
    
         
             
                end
         
     | 
    
        data/stack_master.gemspec
    CHANGED
    
    | 
         @@ -17,6 +17,7 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       17 
17 
     | 
    
         
             
              spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
         
     | 
| 
       18 
18 
     | 
    
         
             
              spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
         
     | 
| 
       19 
19 
     | 
    
         
             
              spec.require_paths = ["lib"]
         
     | 
| 
      
 20 
     | 
    
         
            +
              spec.required_ruby_version = ">= 2.1.0"
         
     | 
| 
       20 
21 
     | 
    
         | 
| 
       21 
22 
     | 
    
         
             
              spec.add_development_dependency "bundler", "~> 1.5"
         
     | 
| 
       22 
23 
     | 
    
         
             
              spec.add_development_dependency "rake"
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: stack_master
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.13.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Steve Hodgkiss
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date:  
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2017-03-01 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -442,7 +442,7 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       442 
442 
     | 
    
         
             
              requirements:
         
     | 
| 
       443 
443 
     | 
    
         
             
              - - ">="
         
     | 
| 
       444 
444 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       445 
     | 
    
         
            -
                  version:  
     | 
| 
      
 445 
     | 
    
         
            +
                  version: 2.1.0
         
     | 
| 
       446 
446 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       447 
447 
     | 
    
         
             
              requirements:
         
     | 
| 
       448 
448 
     | 
    
         
             
              - - ">="
         
     | 
| 
         @@ -450,7 +450,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       450 
450 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       451 
451 
     | 
    
         
             
            requirements: []
         
     | 
| 
       452 
452 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       453 
     | 
    
         
            -
            rubygems_version: 2. 
     | 
| 
      
 453 
     | 
    
         
            +
            rubygems_version: 2.6.8
         
     | 
| 
       454 
454 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       455 
455 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       456 
456 
     | 
    
         
             
            summary: StackMaster is a sure-footed way of creating, updating and keeping track
         
     |