diff --git a/lib/ci/gitlab_ci_yaml_processor.rb b/lib/ci/gitlab_ci_yaml_processor.rb
index e152de590de776559b554f0bd3c4e3854cfbde51..209da7ad81f164282536aeff130611b92c6a490f 100644
--- a/lib/ci/gitlab_ci_yaml_processor.rb
+++ b/lib/ci/gitlab_ci_yaml_processor.rb
@@ -45,11 +45,7 @@ module Ci
     end
 
     def job_variables(name)
-      if job = @jobs[name.to_sym]
-        job[:variables] || []
-      else
-        []
-      end
+      @jobs[name.to_sym].try(:fetch, :variables, []) || []
     end
 
     private
diff --git a/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb b/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
index 45f08c95cc36212fe868d1c68fc6968806e708a8..9a014c4b6c6fcdc5dc01a7fec49a01e7935f02a8 100644
--- a/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
+++ b/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
@@ -345,50 +345,55 @@ module Ci
       end
     end
 
-    describe "Variables" do
+    describe 'Variables' do
       context 'when global variables are defined' do
-        it 'returns variables' do
+        it 'returns global variables' do
           variables = {
-            var1: "value1",
-            var2: "value2",
+            VAR1: 'value1',
+            VAR2: 'value2',
           }
+
           config = YAML.dump({
-                               variables: variables,
-                               before_script: ["pwd"],
-                               rspec: { script: "rspec" }
-                             })
+            variables: variables,
+            before_script: ['pwd'],
+            rspec: { script: 'rspec' }
+          })
 
           config_processor = GitlabCiYamlProcessor.new(config, path)
+
           expect(config_processor.global_variables).to eq(variables)
         end
       end
 
       context 'when job variables are defined' do
-        let(:job_variables) { { KEY1: 'value1', SOME_KEY_2: 'value2' } }
-        let(:yaml_config) do
-          YAML.dump(
+        it 'returns job variables' do
+          variables =  {
+            KEY1: 'value1',
+            SOME_KEY_2: 'value2'
+          }
+
+          config =  YAML.dump(
             { before_script: ['pwd'],
               rspec: {
-                variables: job_variables,
+                variables: variables,
                 script: 'rspec' }
             })
-        end
 
-        it 'returns job variables' do
-          config = GitlabCiYamlProcessor.new(yaml_config, path)
+          config_processor = GitlabCiYamlProcessor.new(config, path)
 
-          expect(config.job_variables(:rspec)).to eq job_variables
+          expect(config_processor.job_variables(:rspec)).to eq variables
         end
       end
 
       context 'when job variables are not defined' do
         it 'returns empty array' do
           config = YAML.dump({
-                               before_script: ["pwd"],
-                               rspec: { script: "rspec" }
-                             })
+            before_script: ['pwd'],
+            rspec: { script: 'rspec' }
+          })
 
           config_processor = GitlabCiYamlProcessor.new(config, path)
+
           expect(config_processor.job_variables(:rspec)).to eq []
         end
       end