versionist 0.2.4 → 0.3.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.
@@ -14,25 +14,6 @@ module Versionist
14
14
  argument :new_version, :type => :string
15
15
  argument :new_module_name, :type => :string
16
16
 
17
- def validate_old_version
18
- in_root do
19
- api_version_block = /api_version.*:module\s*(=>|:)\s*("|')#{module_name_for_route(old_module_name)}("|').*do/
20
- matching_version_blocks = File.readlines("config/routes.rb").grep(api_version_block)
21
- raise "old API version #{old_module_name} not found in config/routes.rb" if matching_version_blocks.empty?
22
- raise "old API version module namespace #{old_module_name} not found in app/controllers" if !File.exists?("app/controllers/#{module_name_for_path(old_module_name)}")
23
- raise "old API version module namespace #{old_module_name} not found in app/presenters" if !File.exists?("app/presenters/#{module_name_for_path(old_module_name)}")
24
- case Versionist.configuration.configured_test_framework
25
- when :test_unit
26
- raise "old API version module namespace #{old_module_name} not found in test/functional/#{module_name_for_path(old_module_name)}" if !File.exists?("test/functional/#{module_name_for_path(old_module_name)}")
27
- raise "old API version module namespace #{old_module_name} not found in test/presenters/#{module_name_for_path(old_module_name)}" if !File.exists?("test/presenters/#{module_name_for_path(old_module_name)}")
28
- when :rspec
29
- raise "old API version module namespace #{old_module_name} not found in spec/controllers/#{module_name_for_path(old_module_name)}" if !File.exists?("spec/controllers/#{module_name_for_path(old_module_name)}")
30
- raise "old API version module namespace #{old_module_name} not found in spec/presenters/#{module_name_for_path(old_module_name)}" if !File.exists?("spec/presenters/#{module_name_for_path(old_module_name)}")
31
- end
32
- raise "old API version #{old_version} not found in public/docs" if !File.exists?("public/docs/#{old_version}")
33
- end
34
- end
35
-
36
17
  def copy_routes
37
18
  in_root do
38
19
  if RUBY_VERSION =~ /1.8/ || !defined?(RUBY_ENGINE) || RUBY_ENGINE != "ruby"
@@ -44,20 +25,28 @@ module Versionist
44
25
  parser.enumerator.first.traverse do |node|
45
26
  existing_routes = node.source if node.type == :fcall && node.source =~ /api_version.*:module\s*(=>|:)\s*("|')#{module_name_for_route(old_module_name)}("|')/
46
27
  end
47
- copied_routes = String.new(existing_routes)
48
- copied_routes.gsub!(/"#{module_name_for_route(old_module_name)}"/, "\"#{module_name_for_route(new_module_name)}\"")
49
- copied_routes.gsub!(/#{old_version}/, new_version)
50
- route copied_routes
28
+ if !existing_routes.nil?
29
+ copied_routes = String.new(existing_routes)
30
+ copied_routes.gsub!(/"#{module_name_for_route(old_module_name)}"/, "\"#{module_name_for_route(new_module_name)}\"")
31
+ copied_routes.gsub!(/#{old_version}/, new_version)
32
+ route copied_routes
33
+ else
34
+ say "No routes found in config/routes.rb for #{old_version}"
35
+ end
51
36
  end
52
37
  end
53
38
 
54
39
  def copy_controllers
55
40
  in_root do
56
- log "Copying all files from app/controllers/#{module_name_for_path(old_module_name)} to app/controllers/#{module_name_for_path(new_module_name)}"
57
- FileUtils.cp_r "app/controllers/#{module_name_for_path(old_module_name)}", "app/controllers/#{module_name_for_path(new_module_name)}"
58
- Dir.glob("app/controllers/#{module_name_for_path(new_module_name)}/*.rb").each do |f|
59
- text = File.read(f)
60
- File.open(f, 'w') {|f| f << text.gsub(/#{old_module_name}/, new_module_name)}
41
+ if File.exists? "app/controllers/#{module_name_for_path(old_module_name)}"
42
+ log "Copying all files from app/controllers/#{module_name_for_path(old_module_name)} to app/controllers/#{module_name_for_path(new_module_name)}"
43
+ FileUtils.cp_r "app/controllers/#{module_name_for_path(old_module_name)}", "app/controllers/#{module_name_for_path(new_module_name)}"
44
+ Dir.glob("app/controllers/#{module_name_for_path(new_module_name)}/*.rb").each do |f|
45
+ text = File.read(f)
46
+ File.open(f, 'w') {|f| f << text.gsub(/#{old_module_name}/, new_module_name)}
47
+ end
48
+ else
49
+ say "No controllers found in app/controllers for #{old_version}"
61
50
  end
62
51
  end
63
52
  end
@@ -67,18 +56,26 @@ module Versionist
67
56
  in_root do
68
57
  case Versionist.configuration.configured_test_framework
69
58
  when :test_unit
70
- log "Copying all files from test/functional/#{module_name_for_path(old_module_name)} to test/functional/#{module_name_for_path(new_module_name)}"
71
- FileUtils.cp_r "test/functional/#{module_name_for_path(old_module_name)}", "test/functional/#{module_name_for_path(new_module_name)}"
72
- Dir.glob("test/functional/#{module_name_for_path(new_module_name)}/*.rb").each do |f|
73
- text = File.read(f)
74
- File.open(f, 'w') {|f| f << text.gsub(/#{old_module_name}/, new_module_name)}
59
+ if File.exists? "test/functional/#{module_name_for_path(old_module_name)}"
60
+ log "Copying all files from test/functional/#{module_name_for_path(old_module_name)} to test/functional/#{module_name_for_path(new_module_name)}"
61
+ FileUtils.cp_r "test/functional/#{module_name_for_path(old_module_name)}", "test/functional/#{module_name_for_path(new_module_name)}"
62
+ Dir.glob("test/functional/#{module_name_for_path(new_module_name)}/*.rb").each do |f|
63
+ text = File.read(f)
64
+ File.open(f, 'w') {|f| f << text.gsub(/#{old_module_name}/, new_module_name)}
65
+ end
66
+ else
67
+ say "No controller tests found in test/functional for #{old_version}"
75
68
  end
76
69
  when :rspec
77
- log "Copying all files from spec/controllers/#{module_name_for_path(old_module_name)} to spec/controllers/#{module_name_for_path(new_module_name)}"
78
- FileUtils.cp_r "spec/controllers/#{module_name_for_path(old_module_name)}", "spec/controllers/#{module_name_for_path(new_module_name)}"
79
- Dir.glob("spec/controllers/#{module_name_for_path(new_module_name)}/*.rb").each do |f|
80
- text = File.read(f)
81
- File.open(f, 'w') {|f| f << text.gsub(/#{old_module_name}/, new_module_name)}
70
+ if File.exists? "spec/controllers/#{module_name_for_path(old_module_name)}"
71
+ log "Copying all files from spec/controllers/#{module_name_for_path(old_module_name)} to spec/controllers/#{module_name_for_path(new_module_name)}"
72
+ FileUtils.cp_r "spec/controllers/#{module_name_for_path(old_module_name)}", "spec/controllers/#{module_name_for_path(new_module_name)}"
73
+ Dir.glob("spec/controllers/#{module_name_for_path(new_module_name)}/*.rb").each do |f|
74
+ text = File.read(f)
75
+ File.open(f, 'w') {|f| f << text.gsub(/#{old_module_name}/, new_module_name)}
76
+ end
77
+ else
78
+ say "No controller specs found in spec/controllers for #{old_version}"
82
79
  end
83
80
  else
84
81
  say "Unsupported test_framework: #{Versionist.configuration.configured_test_framework}"
@@ -88,11 +85,15 @@ module Versionist
88
85
 
89
86
  def copy_presenters
90
87
  in_root do
91
- log "Copying all files from app/presenters/#{module_name_for_path(old_module_name)} to app/presenters/#{module_name_for_path(new_module_name)}"
92
- FileUtils.cp_r "app/presenters/#{module_name_for_path(old_module_name)}", "app/presenters/#{module_name_for_path(new_module_name)}"
93
- Dir.glob("app/presenters/#{module_name_for_path(new_module_name)}/*.rb").each do |f|
94
- text = File.read(f)
95
- File.open(f, 'w') {|f| f << text.gsub(/#{old_module_name}/, new_module_name)}
88
+ if File.exists? "app/presenters/#{module_name_for_path(old_module_name)}"
89
+ log "Copying all files from app/presenters/#{module_name_for_path(old_module_name)} to app/presenters/#{module_name_for_path(new_module_name)}"
90
+ FileUtils.cp_r "app/presenters/#{module_name_for_path(old_module_name)}", "app/presenters/#{module_name_for_path(new_module_name)}"
91
+ Dir.glob("app/presenters/#{module_name_for_path(new_module_name)}/*.rb").each do |f|
92
+ text = File.read(f)
93
+ File.open(f, 'w') {|f| f << text.gsub(/#{old_module_name}/, new_module_name)}
94
+ end
95
+ else
96
+ say "No presenters found in app/presenters for #{old_version}"
96
97
  end
97
98
  end
98
99
  end
@@ -101,18 +102,26 @@ module Versionist
101
102
  in_root do
102
103
  case Versionist.configuration.configured_test_framework
103
104
  when :test_unit
104
- log "Copying all files from test/presenters/#{module_name_for_path(old_module_name)} to test/presenters/#{module_name_for_path(new_module_name)}"
105
- FileUtils.cp_r "test/presenters/#{module_name_for_path(old_module_name)}", "test/presenters/#{module_name_for_path(new_module_name)}"
106
- Dir.glob("test/presenters/#{module_name_for_path(new_module_name)}/*.rb").each do |f|
107
- text = File.read(f)
108
- File.open(f, 'w') {|f| f << text.gsub(/#{old_module_name}/, new_module_name)}
105
+ if File.exists? "test/presenters/#{module_name_for_path(old_module_name)}"
106
+ log "Copying all files from test/presenters/#{module_name_for_path(old_module_name)} to test/presenters/#{module_name_for_path(new_module_name)}"
107
+ FileUtils.cp_r "test/presenters/#{module_name_for_path(old_module_name)}", "test/presenters/#{module_name_for_path(new_module_name)}"
108
+ Dir.glob("test/presenters/#{module_name_for_path(new_module_name)}/*.rb").each do |f|
109
+ text = File.read(f)
110
+ File.open(f, 'w') {|f| f << text.gsub(/#{old_module_name}/, new_module_name)}
111
+ end
112
+ else
113
+ say "No presenter tests found in test/presenters for #{old_version}"
109
114
  end
110
115
  when :rspec
111
- log "Copying all files from spec/presenters/#{module_name_for_path(old_module_name)} to spec/presenters/#{module_name_for_path(new_module_name)}"
112
- FileUtils.cp_r "spec/presenters/#{module_name_for_path(old_module_name)}", "spec/presenters/#{module_name_for_path(new_module_name)}"
113
- Dir.glob("spec/presenters/#{module_name_for_path(new_module_name)}/*.rb").each do |f|
114
- text = File.read(f)
115
- File.open(f, 'w') {|f| f << text.gsub(/#{old_module_name}/, new_module_name)}
116
+ if File.exists? "spec/presenters/#{module_name_for_path(old_module_name)}"
117
+ log "Copying all files from spec/presenters/#{module_name_for_path(old_module_name)} to spec/presenters/#{module_name_for_path(new_module_name)}"
118
+ FileUtils.cp_r "spec/presenters/#{module_name_for_path(old_module_name)}", "spec/presenters/#{module_name_for_path(new_module_name)}"
119
+ Dir.glob("spec/presenters/#{module_name_for_path(new_module_name)}/*.rb").each do |f|
120
+ text = File.read(f)
121
+ File.open(f, 'w') {|f| f << text.gsub(/#{old_module_name}/, new_module_name)}
122
+ end
123
+ else
124
+ say "No presenter specs found in spec/presenters for #{old_version}"
116
125
  end
117
126
  else
118
127
  say "Unsupported test_framework: #{Versionist.configuration.configured_test_framework}"
@@ -122,11 +131,11 @@ module Versionist
122
131
 
123
132
  def copy_documentation
124
133
  in_root do
125
- log "Copying all files from public/docs/#{old_version} to public/docs/#{new_version}"
126
- FileUtils.cp_r "public/docs/#{old_version}", "public/docs/#{new_version}"
127
- Dir.glob("public/docs/#{new_version}/*.html").each do |f|
128
- text = File.read(f)
129
- File.open(f, 'w') {|f| f << text.gsub(/#{old_version}/, new_version)}
134
+ if File.exists? "public/docs/#{old_version}"
135
+ log "Copying all files from public/docs/#{old_version} to public/docs/#{new_version}"
136
+ FileUtils.cp_r "public/docs/#{old_version}/.", "public/docs/#{new_version}"
137
+ else
138
+ say "No documentation found in public/docs for #{old_version}"
130
139
  end
131
140
  end
132
141
  end
@@ -1,3 +1,3 @@
1
1
  module Versionist
2
- VERSION = '0.2.4'
2
+ VERSION = '0.3.0'
3
3
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: versionist
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.2.4
5
+ version: 0.3.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Brian Ploetz
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-07-26 00:00:00 Z
13
+ date: 2012-07-27 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -105,7 +105,7 @@ rubyforge_project:
105
105
  rubygems_version: 1.8.17
106
106
  signing_key:
107
107
  specification_version: 3
108
- summary: versionist-0.2.4
108
+ summary: versionist-0.3.0
109
109
  test_files: []
110
110
 
111
111
  has_rdoc: