wordmove 1.0.8 → 1.0.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -41,19 +41,10 @@ module Wordmove
41
41
  end
42
42
 
43
43
  def serialized_replace!(source_field, dest_field)
44
- length_delta = source_field.length - dest_field.length
45
-
46
- sql_content.gsub!(/s:(\d+):([\\'"]+)(.*?)\2;/) do |match|
47
- length = $1.to_i
48
- delimiter = $2
49
- string = $3
50
-
51
- string.gsub!(/#{Regexp.escape(source_field)}/) do |match|
52
- length -= length_delta
53
- dest_field
54
- end
55
-
56
- %(s:#{length}:#{delimiter}#{string}#{delimiter};)
44
+ sql_content.gsub!(/s:(?:\d+):(\\*['"])(.*?)\1;/) do |match|
45
+ delimiter, string = $1, $2
46
+ string.gsub!(/#{Regexp.escape(source_field)}/, dest_field)
47
+ %(s:#{string.length}:#{delimiter}#{string}#{delimiter};)
57
48
  end
58
49
  end
59
50
 
@@ -1,3 +1,3 @@
1
1
  module Wordmove
2
- VERSION = "1.0.8"
2
+ VERSION = "1.0.9"
3
3
  end
@@ -91,6 +91,24 @@ describe Wordmove::SqlMover do
91
91
  sql_mover.sql_content.should == 'a:3:{i:0;s:25:"http://shrubbery.com/spam";i:1;s:6:"foobar";i:2;s:27:"http://shrubbery.com/foobar";}'
92
92
  end
93
93
 
94
+ context "given empty strings" do
95
+ let(:content) { 's:0:"";s:3:"foo";s:0:"";' }
96
+
97
+ it "should leave them untouched" do
98
+ sql_mover.serialized_replace!('foo', 'sausage')
99
+ sql_mover.sql_content.should == 's:0:"";s:7:"sausage";s:0:"";'
100
+ end
101
+
102
+ context "considering escaping" do
103
+ let(:content) { 's:0:\"\";s:3:\"foo\";s:0:\"\";' }
104
+
105
+ it "should leave them untouched" do
106
+ sql_mover.serialized_replace!('foo', 'sausage')
107
+ sql_mover.sql_content.should == 's:0:\"\";s:7:\"sausage\";s:0:\"\";'
108
+ end
109
+ end
110
+ end
111
+
94
112
  context "given multiple types of string quoting" do
95
113
  let(:content) { "a:3:{s:20:\\\"http://dump.com/spam\\\";s:6:'foobar';s:22:'http://dump.com/foobar';s:8:'sausages';}" }
96
114
 
metadata CHANGED
@@ -1,139 +1,158 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wordmove
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.9
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Stefano Verna
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-03-27 00:00:00.000000000 Z
12
+ date: 2013-03-29 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: colored
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - '>='
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - '>='
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rake
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: thor
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - '>='
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0'
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - '>='
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: activesupport
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - '>='
67
+ - - ! '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: '0'
62
70
  type: :runtime
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - '>='
75
+ - - ! '>='
67
76
  - !ruby/object:Gem::Version
68
77
  version: '0'
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: i18n
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
- - - '>='
83
+ - - ! '>='
74
84
  - !ruby/object:Gem::Version
75
85
  version: '0'
76
86
  type: :runtime
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
- - - '>='
91
+ - - ! '>='
81
92
  - !ruby/object:Gem::Version
82
93
  version: '0'
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: photocopier
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
- - - '>='
99
+ - - ! '>='
88
100
  - !ruby/object:Gem::Version
89
101
  version: 0.0.6
90
102
  type: :runtime
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
- - - '>='
107
+ - - ! '>='
95
108
  - !ruby/object:Gem::Version
96
109
  version: 0.0.6
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: rspec
99
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
100
114
  requirements:
101
- - - '>='
115
+ - - ! '>='
102
116
  - !ruby/object:Gem::Version
103
117
  version: '0'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
107
122
  requirements:
108
- - - '>='
123
+ - - ! '>='
109
124
  - !ruby/object:Gem::Version
110
125
  version: '0'
111
126
  - !ruby/object:Gem::Dependency
112
127
  name: cucumber
113
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
114
130
  requirements:
115
- - - '>='
131
+ - - ! '>='
116
132
  - !ruby/object:Gem::Version
117
133
  version: '0'
118
134
  type: :development
119
135
  prerelease: false
120
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
121
138
  requirements:
122
- - - '>='
139
+ - - ! '>='
123
140
  - !ruby/object:Gem::Version
124
141
  version: '0'
125
142
  - !ruby/object:Gem::Dependency
126
143
  name: aruba
127
144
  requirement: !ruby/object:Gem::Requirement
145
+ none: false
128
146
  requirements:
129
- - - '>='
147
+ - - ! '>='
130
148
  - !ruby/object:Gem::Version
131
149
  version: '0'
132
150
  type: :development
133
151
  prerelease: false
134
152
  version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
135
154
  requirements:
136
- - - '>='
155
+ - - ! '>='
137
156
  - !ruby/object:Gem::Version
138
157
  version: '0'
139
158
  description: Capistrano for Wordpress
@@ -173,28 +192,29 @@ files:
173
192
  - wordmove.gemspec
174
193
  homepage: ''
175
194
  licenses: []
176
- metadata: {}
177
- post_install_message: 'Beware! We have changed the wordmove flags'' behaviour: they
195
+ post_install_message: ! 'Beware! We have changed the wordmove flags'' behaviour: they
178
196
  used to tell wordmove what to _skip_, now they tell what to _include_. Read `wordmove
179
197
  help` for more info.'
180
198
  rdoc_options: []
181
199
  require_paths:
182
200
  - lib
183
201
  required_ruby_version: !ruby/object:Gem::Requirement
202
+ none: false
184
203
  requirements:
185
- - - '>='
204
+ - - ! '>='
186
205
  - !ruby/object:Gem::Version
187
206
  version: '0'
188
207
  required_rubygems_version: !ruby/object:Gem::Requirement
208
+ none: false
189
209
  requirements:
190
- - - '>='
210
+ - - ! '>='
191
211
  - !ruby/object:Gem::Version
192
212
  version: '0'
193
213
  requirements: []
194
214
  rubyforge_project:
195
- rubygems_version: 2.0.0
215
+ rubygems_version: 1.8.23
196
216
  signing_key:
197
- specification_version: 4
217
+ specification_version: 3
198
218
  summary: Capistrano for Wordpress
199
219
  test_files:
200
220
  - spec/fixtures/Movefile
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: da3433741e44f5370da4d08531069e1ce0cde347
4
- data.tar.gz: d414446e93618ed466f3eb5537b912b91e1beeab
5
- SHA512:
6
- metadata.gz: 125846b75ad78e19ecc9dc761b97968c0523fe07b9f7e3550eec71d5f5772616d8f12bf3a848f58fe27b9e73b8a4e3ed3eda527ef1108df8d07eac73121c6d1e
7
- data.tar.gz: 264934b9ab412dca254e65472cb05586d503e2daa67af5c91685a5359ade1df993a78ab54fbbddd5b4fcfe8ede60721ca68c84641b070ae7b13e8c9464551d3f