rspec-kickstarter 0.2.4 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -40,18 +40,9 @@ class RSpecKickstarter::Generator
40
40
  if lacking_methods.empty?
41
41
  puts "#{spec_path} skipped."
42
42
  else
43
+ # Since 'methods_to_generate' is used in ERB template, don't delete.
43
44
  methods_to_generate = lacking_methods
44
-
45
- if ! @delta_template.nil?
46
- additional_spec = ERB.new(@delta_template, nil, '-', '_additional_spec_code').result(binding)
47
- elsif rails_mode && spec_path.match(/controllers/)
48
- additional_spec = ERB.new(RAILS_CONTROLLER_METHODS_PART_TEMPLATE, nil, '-', '_additional_spec_code').result(binding)
49
- elsif rails_mode && spec_path.match(/helpers/)
50
- additional_spec = ERB.new(RAILS_HELPER_METHODS_PART_TEMPLATE, nil, '-', '_additional_spec_code').result(binding)
51
- else
52
- additional_spec = ERB.new(BASIC_METHODS_PART_TEMPLATE, nil, '-', '_additional_spec_code').result(binding)
53
- end
54
-
45
+ additional_spec = create_erb_instance_for_appending(rails_mode, spec_path).result(binding)
55
46
  last_end_not_found = true
56
47
  code = existing_spec.split("\n").reverse.reject { |line|
57
48
  if last_end_not_found
@@ -72,18 +63,11 @@ class RSpecKickstarter::Generator
72
63
 
73
64
  else
74
65
  # Create a new spec
75
- self_path = to_string_value_to_require(file_path)
76
- methods_to_generate = c.method_list.select { |m| m.visibility == :public }
77
66
 
78
- if ! @full_template.nil?
79
- code = ERB.new(@full_template, nil, '-', '_new_spec_code').result(binding)
80
- elsif rails_mode && self_path.match(/controllers/)
81
- code = ERB.new(RAILS_CONTROLLER_NEW_SPEC_TEMPLATE, nil, '-', '_new_spec_code').result(binding)
82
- elsif rails_mode && self_path.match(/helpers/)
83
- code = ERB.new(RAILS_HELPER_NEW_SPEC_TEMPLATE, nil, '-', '_new_spec_code').result(binding)
84
- else
85
- code = ERB.new(BASIC_NEW_SPEC_TEMPLATE, nil, '-', '_new_spec_code').result(binding)
86
- end
67
+ # Since 'methods_to_generate' is used in ERB template, don't delete.
68
+ methods_to_generate = c.method_list.select { |m| m.visibility == :public }
69
+ self_path = to_string_value_to_require(file_path)
70
+ code = create_erb_instance_for_new_spec(rails_mode, self_path).result(binding)
87
71
 
88
72
  if dry_run
89
73
  puts "----- #{spec_path} -----"
@@ -113,8 +97,8 @@ class RSpecKickstarter::Generator
113
97
  end
114
98
 
115
99
  # RDoc::Stats initialization
116
- if RUBY_VERSION.to_f >= 2.0
117
- # Ruby 2.0 requires RDoc::Store internally.
100
+ if defined?(RDoc::Store)
101
+ # RDoc 4.0.0 requires RDoc::Store internally.
118
102
  store = RDoc::Store.new
119
103
  top_level.store = store
120
104
  stats = RDoc::Stats.new(store, 1)
@@ -207,6 +191,36 @@ class RSpecKickstarter::Generator
207
191
  param_csv.empty? ? "" : "(#{param_csv})"
208
192
  end
209
193
 
194
+ #
195
+ # Returns ERB instance for creating new spec
196
+ #
197
+ def create_erb_instance_for_new_spec(rails_mode, target_path)
198
+ if ! @full_template.nil?
199
+ ERB.new(@full_template, nil, '-', '_new_spec_code')
200
+ elsif rails_mode && target_path.match(/controllers/)
201
+ ERB.new(RAILS_CONTROLLER_NEW_SPEC_TEMPLATE, nil, '-', '_new_spec_code')
202
+ elsif rails_mode && target_path.match(/helpers/)
203
+ ERB.new(RAILS_HELPER_NEW_SPEC_TEMPLATE, nil, '-', '_new_spec_code')
204
+ else
205
+ ERB.new(BASIC_NEW_SPEC_TEMPLATE, nil, '-', '_new_spec_code')
206
+ end
207
+ end
208
+
209
+ #
210
+ # Returns ERB instance for appeding lacking tests
211
+ #
212
+ def create_erb_instance_for_appending(rails_mode, target_path)
213
+ if ! @delta_template.nil?
214
+ ERB.new(@delta_template, nil, '-', '_additional_spec_code')
215
+ elsif rails_mode && target_path.match(/controllers/)
216
+ ERB.new(RAILS_CONTROLLER_METHODS_PART_TEMPLATE, nil, '-', '_additional_spec_code')
217
+ elsif rails_mode && target_path.match(/helpers/)
218
+ ERB.new(RAILS_HELPER_METHODS_PART_TEMPLATE, nil, '-', '_additional_spec_code')
219
+ else
220
+ ERB.new(BASIC_METHODS_PART_TEMPLATE, nil, '-', '_additional_spec_code')
221
+ end
222
+ end
223
+
210
224
  #
211
225
  # Code generation
212
226
  #
@@ -1,3 +1,3 @@
1
1
  module RSpecKickstarter
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-kickstarter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-13 00:00:00.000000000 Z
12
+ date: 2013-07-12 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: rspec-kickstarter supports you writing tests for existing code.
15
15
  email:
@@ -44,7 +44,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
44
44
  version: '0'
45
45
  requirements: []
46
46
  rubyforge_project:
47
- rubygems_version: 1.8.24
47
+ rubygems_version: 1.8.23
48
48
  signing_key:
49
49
  specification_version: 3
50
50
  summary: rspec-kickstarter supports you writing tests for existing code.