rspec-jumpstart 1.1.2 → 1.1.3

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
- SHA1:
3
- metadata.gz: d4a5489b963b8a167d9c35c6377e1a9b75571ae2
4
- data.tar.gz: 681a1dedbbe667a7f88c53bde131603eac6269d1
2
+ SHA256:
3
+ metadata.gz: 9e7fb2e27a41e53c53c809f0197079445c9dfe9c196810b11f927026fa29859e
4
+ data.tar.gz: 732a6779e43ea5cac52e7eef8737ae3f762f981784451c2c56ef4b2574c10234
5
5
  SHA512:
6
- metadata.gz: 27160b67cc005a275f060637c521fc0cc25215421aae7a32f11876ff1d19189daa00a83cd336c481386a1eb2a7e1afa99cd5a0240b2fc5d00c123237d3193775
7
- data.tar.gz: 8fd2f33404fc8c6ae21821dc69d680d72e98eb89c0f9acface84bc7da19d5a2717a84768d2098fd5d517d9c0d5e3324fe3842b4e51568fb69b562eea132c5214
6
+ metadata.gz: 1f6c2dfcaaae8f7be36c90af2f6635887ebd0ef04c259b74762681a83a96513430b4d11b3fb339d5dcc0f0d5716c65a5b12fa7e7bbb423a8a2df3efb1738cc3b
7
+ data.tar.gz: 1f37d5201e46346d07417857a5d18271e600e156fd3c760825b9480fcaa2438ccbbb6b5ee1c783264bc60823b1ba8f8a604c714e4f06e384cef1e5e4cd67fd4b
@@ -51,34 +51,34 @@ module RSpecJumpstart
51
51
 
52
52
  def get_rails_controller_template(is_full)
53
53
  if is_full
54
- RSpecJumpstart::ERBTemplates::RAILS_CONTROLLER_NEW_SPEC_TEMPLATE
55
- else
56
- RSpecJumpstart::ERBTemplates::RAILS_CONTROLLER_METHODS_PART_TEMPLATE
54
+ return RSpecJumpstart::ERBTemplates::RAILS_CONTROLLER_NEW_SPEC_TEMPLATE
57
55
  end
56
+
57
+ RSpecJumpstart::ERBTemplates::RAILS_CONTROLLER_METHODS_PART_TEMPLATE
58
58
  end
59
59
 
60
60
  def get_rails_model_template(is_full)
61
61
  if is_full
62
- RSpecJumpstart::ERBTemplates::RAILS_MODEL_NEW_SPEC_TEMPLATE
63
- else
64
- RSpecJumpstart::ERBTemplates::RAILS_MODEL_METHODS_PART_TEMPLATE
62
+ return RSpecJumpstart::ERBTemplates::RAILS_MODEL_NEW_SPEC_TEMPLATE
65
63
  end
64
+
65
+ RSpecJumpstart::ERBTemplates::RAILS_MODEL_METHODS_PART_TEMPLATE
66
66
  end
67
67
 
68
68
  def get_rails_helper_template(is_full)
69
69
  if is_full
70
- RSpecJumpstart::ERBTemplates::RAILS_HELPER_NEW_SPEC_TEMPLATE
71
- else
72
- RSpecJumpstart::ERBTemplates::RAILS_HELPER_METHODS_PART_TEMPLATE
70
+ return RSpecJumpstart::ERBTemplates::RAILS_HELPER_NEW_SPEC_TEMPLATE
73
71
  end
72
+
73
+ RSpecJumpstart::ERBTemplates::RAILS_HELPER_METHODS_PART_TEMPLATE
74
74
  end
75
75
 
76
76
  def get_basic_template(is_full)
77
77
  if is_full
78
- RSpecJumpstart::ERBTemplates::BASIC_NEW_SPEC_TEMPLATE
79
- else
80
- RSpecJumpstart::ERBTemplates::BASIC_METHODS_PART_TEMPLATE
78
+ return RSpecJumpstart::ERBTemplates::BASIC_NEW_SPEC_TEMPLATE
81
79
  end
80
+
81
+ RSpecJumpstart::ERBTemplates::BASIC_METHODS_PART_TEMPLATE
82
82
  end
83
83
 
84
84
  end
@@ -9,117 +9,117 @@ require 'rspec_jumpstart'
9
9
  module RSpecJumpstart
10
10
  module ERBTemplates
11
11
 
12
- BASIC_METHODS_PART_TEMPLATE = <<~SPEC
13
- <%- methods_to_generate.map { |method| %>
14
- # TODO: auto-generated
15
- describe '<%= decorated_name(method) %>' do
16
- it '<%= method.name %>' do
17
- <%- if get_instantiation_code(c, method) -%><%= get_instantiation_code(c, method) %><%- end -%>
18
- <%- if get_params_initialization_code(method) -%><%= get_params_initialization_code(method) %><%- end -%>
19
- result = <%= get_method_invocation_code(c, method).sub(c.to_s,'described_class') %>
20
-
21
- expect(result).not_to be_nil
22
- end
23
- end
24
- <% } %>
12
+ BASIC_METHODS_PART_TEMPLATE = <<-SPEC
13
+ <%- methods_to_generate.map { |method| %>
14
+ # TODO: auto-generated
15
+ describe '<%= decorated_name(method) %>' do
16
+ it '<%= method.name %>' do
17
+ <%- if get_instantiation_code(c, method) -%><%= get_instantiation_code(c, method) %><%- end -%>
18
+ <%- if get_params_initialization_code(method) -%><%= get_params_initialization_code(method) %><%- end -%>
19
+ result = <%= get_method_invocation_code(c, method).sub(c.to_s,'described_class') %>
20
+
21
+ expect(result).not_to be_nil
22
+ end
23
+ end
24
+ <% } %>
25
25
  SPEC
26
26
 
27
- BASIC_NEW_SPEC_TEMPLATE = <<~SPEC
28
- # frozen_string_literal: true
27
+ BASIC_NEW_SPEC_TEMPLATE = <<-SPEC
28
+ # frozen_string_literal: true
29
29
 
30
- <% if rails_mode then %>require 'rails_helper'
31
- <% else -%>require 'spec_helper'
32
- <% end -%>
33
- <% unless rails_mode then %>require '<%= self_path %>'
34
- <% end -%>
30
+ <% if rails_mode then %>require 'rails_helper'
31
+ <% else -%>require 'spec_helper'
32
+ <% end -%>
33
+ <% unless rails_mode then %>require '<%= self_path %>'
34
+ <% end -%>
35
35
 
36
- RSpec.describe <%= to_string_namespaced_path_whole(file_path) %> do
37
- <%= ERB.new(BASIC_METHODS_PART_TEMPLATE, nil, '-').result(binding) -%>
38
- end
36
+ RSpec.describe <%= to_string_namespaced_path_whole(file_path) %> do
37
+ <%= ERB.new(BASIC_METHODS_PART_TEMPLATE, nil, '-').result(binding) -%>
38
+ end
39
39
  SPEC
40
40
 
41
- RAILS_CONTROLLER_METHODS_PART_TEMPLATE = <<~SPEC
42
- <%- methods_to_generate.map { |method| %>
43
- # TODO: auto-generated
44
- describe '<%= decorated_name(method) %>' do
45
- it '<%= get_rails_http_method(method.name).upcase %> <%= method.name %>' do
46
- <%= get_rails_http_method(method.name) %> :<%= method.name %>, {}, {}
47
-
48
- expect(response).to have_http_status(:ok)
49
- end
50
- end
51
- <% } %>
41
+ RAILS_CONTROLLER_METHODS_PART_TEMPLATE = <<-SPEC
42
+ <%- methods_to_generate.map { |method| %>
43
+ # TODO: auto-generated
44
+ describe '<%= decorated_name(method) %>' do
45
+ it '<%= get_rails_http_method(method.name).upcase %> <%= method.name %>' do
46
+ <%= get_rails_http_method(method.name) %> :<%= method.name %>, {}, {}
47
+
48
+ expect(response).to have_http_status(:ok)
49
+ end
50
+ end
51
+ <% } %>
52
52
  SPEC
53
53
 
54
- RAILS_CONTROLLER_NEW_SPEC_TEMPLATE = <<~SPEC
55
- # frozen_string_literal: true
54
+ RAILS_CONTROLLER_NEW_SPEC_TEMPLATE = <<-SPEC
55
+ # frozen_string_literal: true
56
56
 
57
- require 'rails_helper'
57
+ require 'rails_helper'
58
58
 
59
- RSpec.describe <%= (to_string_namespaced_path(self_path) + get_complete_class_name(c)).split('::').uniq.join('::') %>, type: :controller do
60
- <%= ERB.new(RAILS_CONTROLLER_METHODS_PART_TEMPLATE, nil, '-').result(binding) -%>
61
- end
59
+ RSpec.describe <%= (to_string_namespaced_path(self_path) + get_complete_class_name(c)).split('::').uniq.join('::') %>, type: :controller do
60
+ <%= ERB.new(RAILS_CONTROLLER_METHODS_PART_TEMPLATE, nil, '-').result(binding) -%>
61
+ end
62
62
  SPEC
63
63
 
64
- RAILS_MODEL_METHODS_PART_TEMPLATE = <<~SPEC
65
- <%= ERB.new(RAILS_MODEL_SCOPE_PART_TEMPLATE, nil, '-').result(binding) -%>
66
- <%- methods_to_generate.map { |method| %>
67
- # TODO: auto-generated
68
- describe '<%= decorated_name(method) %>' do
69
- it '<%= method.name %>' do
70
- <%- if get_instantiation_code(c, method) -%><%= get_instantiation_code(c, method) %><%- end -%>
71
- <%- if get_params_initialization_code(method) -%><%= get_params_initialization_code(method) %><%- end -%>
72
- result = <%= get_method_invocation_code(c, method).sub(c.to_s,'described_class') %>
73
-
74
- expect(result).not_to be_nil
75
- end
76
- end
77
- <% } %>
64
+ RAILS_MODEL_METHODS_PART_TEMPLATE = <<-SPEC
65
+ <%= ERB.new(RAILS_MODEL_SCOPE_PART_TEMPLATE, nil, '-').result(binding) -%>
66
+ <%- methods_to_generate.map { |method| %>
67
+ # TODO: auto-generated
68
+ describe '<%= decorated_name(method) %>' do
69
+ it '<%= method.name %>' do
70
+ <%- if get_instantiation_code(c, method) -%><%= get_instantiation_code(c, method) %><%- end -%>
71
+ <%- if get_params_initialization_code(method) -%><%= get_params_initialization_code(method) %><%- end -%>
72
+ result = <%= get_method_invocation_code(c, method).sub(c.to_s,'described_class') %>
73
+
74
+ expect(result).not_to be_nil
75
+ end
76
+ end
77
+ <% } %>
78
78
  SPEC
79
79
 
80
- RAILS_MODEL_SCOPE_PART_TEMPLATE = <<~SPEC
81
- <%- scope_methods_to_generate.map { |method| %>
82
- # TODO: auto-generated
83
- describe '.<%= method %>' do # scope test
84
- it 'supports named scope <%= method %>' do
85
- expect(described_class.limit(3).<%= method %>).to all(be_a(described_class))
86
- end
87
- end<% } %>
80
+ RAILS_MODEL_SCOPE_PART_TEMPLATE = <<-SPEC
81
+ <%- scope_methods_to_generate.map { |method| %>
82
+ # TODO: auto-generated
83
+ describe '.<%= method %>' do # scope test
84
+ it 'supports named scope <%= method %>' do
85
+ expect(described_class.limit(3).<%= method %>).to all(be_a(described_class))
86
+ end
87
+ end<% } %>
88
88
  SPEC
89
89
 
90
- RAILS_MODEL_NEW_SPEC_TEMPLATE = <<~SPEC
91
- # frozen_string_literal: true
90
+ RAILS_MODEL_NEW_SPEC_TEMPLATE = <<-SPEC
91
+ # frozen_string_literal: true
92
92
 
93
- require 'rails_helper'
94
- require 'shared_model_stuff'
93
+ require 'rails_helper'
94
+ require 'shared_model_stuff'
95
95
 
96
- RSpec.describe <%= (to_string_namespaced_path(self_path) + get_complete_class_name(c)).split('::').uniq.join('::') %>, type: :model do
97
- it_behaves_like 'real_model'
98
- <%= ERB.new(RAILS_MODEL_METHODS_PART_TEMPLATE, nil, '-').result(binding) -%>
99
- end
96
+ RSpec.describe <%= (to_string_namespaced_path(self_path) + get_complete_class_name(c)).split('::').uniq.join('::') %>, type: :model do
97
+ it_behaves_like 'real_model'
98
+ <%= ERB.new(RAILS_MODEL_METHODS_PART_TEMPLATE, nil, '-').result(binding) -%>
99
+ end
100
100
  SPEC
101
101
 
102
- RAILS_HELPER_METHODS_PART_TEMPLATE = <<~SPEC
103
- <%- methods_to_generate.map { |method| %>
104
- # TODO: auto-generated
105
- describe '<%= decorated_name(method) %>' do
106
- it 'works' do
107
- result = <%= get_rails_helper_method_invocation_code(method) %>
108
-
109
- expect(result).not_to be_nil
110
- end
111
- end
112
- <% } %>
102
+ RAILS_HELPER_METHODS_PART_TEMPLATE = <<-SPEC
103
+ <%- methods_to_generate.map { |method| %>
104
+ # TODO: auto-generated
105
+ describe '<%= decorated_name(method) %>' do
106
+ it 'works' do
107
+ result = <%= get_rails_helper_method_invocation_code(method) %>
108
+
109
+ expect(result).not_to be_nil
110
+ end
111
+ end
112
+ <% } %>
113
113
  SPEC
114
114
 
115
- RAILS_HELPER_NEW_SPEC_TEMPLATE = <<~SPEC
116
- # frozen_string_literal: true
115
+ RAILS_HELPER_NEW_SPEC_TEMPLATE = <<-SPEC
116
+ # frozen_string_literal: true
117
117
 
118
- require 'rails_helper'
118
+ require 'rails_helper'
119
119
 
120
- RSpec.describe <%= (to_string_namespaced_path(self_path) + get_complete_class_name(c)).split('::').uniq.join('::') %>, type: :helper do
121
- <%= ERB.new(RAILS_HELPER_METHODS_PART_TEMPLATE, nil, '-').result(binding) -%>
122
- end
120
+ RSpec.describe <%= (to_string_namespaced_path(self_path) + get_complete_class_name(c)).split('::').uniq.join('::') %>, type: :helper do
121
+ <%= ERB.new(RAILS_HELPER_METHODS_PART_TEMPLATE, nil, '-').result(binding) -%>
122
+ end
123
123
  SPEC
124
124
 
125
125
  end
@@ -39,7 +39,7 @@ module RSpecJumpstart
39
39
  else
40
40
  puts red("#{file_path} skipped (Class/Module not found).")
41
41
  end
42
- rescue Exception => e
42
+ rescue StandardError => e
43
43
  puts red("#{file_path} aborted - #{e.message}")
44
44
  end
45
45
 
@@ -80,10 +80,11 @@ module RSpecJumpstart
80
80
  # e.g. "lib/foo/bar_baz.rb" -> "spec/foo/bar_baz_spec.rb"
81
81
  #
82
82
  def get_spec_path(file_path)
83
- spec_dir + '/' + file_path.
84
- gsub(/^\.\//, '').
85
- gsub(%r{^(lib/)|(app/)}, '').
86
- sub(/\.rb$/, '_spec.rb')
83
+ spec_dir + '/' +
84
+ file_path
85
+ .gsub(/^\.\//, '')
86
+ .gsub(%r{^(lib/)|(app/)}, '')
87
+ .sub(/\.rb$/, '_spec.rb')
87
88
  end
88
89
 
89
90
  #
@@ -190,14 +191,20 @@ module RSpecJumpstart
190
191
  # rubocop:enable Lint/UselessAssignment
191
192
 
192
193
  erb = RSpecJumpstart::ERBFactory.new(@delta_template).get_instance_for_appending(rails_mode, spec_path)
193
- additional_spec = erb.result(binding)
194
+ additional_spec = erb.result(binding).strip
194
195
 
195
196
  last_end_not_found = true
196
197
  code = existing_spec.split("\n").reverse.reject do |line|
197
198
  before_modified = last_end_not_found
198
199
  last_end_not_found = line.gsub(/#.+$/, '').strip != 'end' if before_modified
199
200
  before_modified
200
- end.reverse.join("\n") + "\n" + additional_spec + "\nend\n"
201
+ end.reverse.join("\n")
202
+
203
+ unless additional_spec.empty?
204
+ code += "\n" + additional_spec + "\n"
205
+ end
206
+
207
+ code += "\nend\n"
201
208
 
202
209
  if dry_run
203
210
  puts "----- #{spec_path} -----"
@@ -213,7 +220,7 @@ module RSpecJumpstart
213
220
 
214
221
  def skip?(text)
215
222
  RSpecJumpstart.config.behaves_like_exclusions.each do |exclude_pattern|
216
- return true if text.match(exclude_pattern)
223
+ return true if text.match(exclude_pattern)
217
224
  end
218
225
 
219
226
  false
@@ -232,16 +239,14 @@ module RSpecJumpstart
232
239
  # bar_baz = BarBaz.new(a, b)
233
240
  #
234
241
  def get_instantiation_code(c, method)
235
- if method.singleton
236
- ''
242
+ return '' if method.singleton
243
+
244
+ constructor = c.method_list.find { |m| m.name == 'new' }
245
+ if constructor.nil?
246
+ " #{instance_name(c)} = described_class.new\n"
237
247
  else
238
- constructor = c.method_list.find { |m| m.name == 'new' }
239
- if constructor.nil?
240
- " #{instance_name(c)} = described_class.new\n"
241
- else
242
- get_params_initialization_code(constructor) +
243
- " #{instance_name(c)} = described_class.new#{to_params_part(constructor.params)}\n"
244
- end
248
+ get_params_initialization_code(constructor) +
249
+ " #{instance_name(c)} = described_class.new#{to_params_part(constructor.params)}\n"
245
250
  end
246
251
  end
247
252
 
@@ -277,11 +282,9 @@ module RSpecJumpstart
277
282
  # e.g. { |a, b| }
278
283
  #
279
284
  def get_block_code(method)
280
- if method.block_params.nil? || method.block_params.empty?
281
- ''
282
- else
283
- " { |#{method.block_params}| }"
284
- end
285
+ return '' if method.block_params.nil? || method.block_params.empty?
286
+
287
+ " { |#{method.block_params}| }"
285
288
  end
286
289
 
287
290
  def get_rails_http_method(method_name)
@@ -26,20 +26,11 @@ module RSpecJumpstart
26
26
  #
27
27
  def self.get_ruby_parser(file_path)
28
28
  top_level = RDoc::TopLevel.new(file_path)
29
- if RUBY_VERSION.to_f < 2.0
30
- # reset is removed since 2.0
31
- RDoc::TopLevel.reset
32
- end
33
29
 
34
- # RDoc::Stats initialization
35
- if defined?(RDoc::Store)
36
- # RDoc 4.0.0 requires RDoc::Store internally.
37
- store = RDoc::Store.new
38
- top_level.store = store
39
- stats = RDoc::Stats.new(store, 1)
40
- else
41
- stats = RDoc::Stats.new(1)
42
- end
30
+ # RDoc 4.0.0 requires RDoc::Store internally.
31
+ store = RDoc::Store.new
32
+ top_level.store = store
33
+ stats = RDoc::Stats.new(store, 1)
43
34
 
44
35
  RDoc::Parser::Ruby.new(
45
36
  top_level,
@@ -55,15 +46,13 @@ module RSpecJumpstart
55
46
  #
56
47
  def self.extract_target_class_or_module(top_level)
57
48
  c = top_level.classes.first
58
- if c.nil?
59
- m = top_level.modules.first
60
- if m.nil?
61
- top_level.is_a?(RDoc::NormalModule) ? top_level : nil
62
- else
63
- extract_target_class_or_module(m)
64
- end
49
+ return c if c
50
+
51
+ m = top_level.modules.first
52
+ if m.nil?
53
+ top_level.is_a?(RDoc::NormalModule) ? top_level : nil
65
54
  else
66
- c
55
+ extract_target_class_or_module(m)
67
56
  end
68
57
  end
69
58
 
@@ -4,5 +4,5 @@
4
4
  # Gem version
5
5
  #
6
6
  module RSpecJumpstart
7
- VERSION = '1.1.2'
7
+ VERSION = '1.1.3'
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-jumpstart
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Timothy Chambers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-12 00:00:00.000000000 Z
11
+ date: 2020-01-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: rspec-jumpstart supports you writing tests for existing code.
14
14
  email:
@@ -45,8 +45,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
47
  requirements: []
48
- rubyforge_project:
49
- rubygems_version: 2.6.11
48
+ rubygems_version: 3.0.1
50
49
  signing_key:
51
50
  specification_version: 4
52
51
  summary: rspec-jumpstart supports you writing tests for existing code.