timewizard 0.3.0.pre.alpha.pre.56 → 0.3.0.pre.alpha.pre.57

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MTdjYWU1MzU5ODc5NWM4Yjg4NTI3ZmEwNDQ0ZGI3NTlmMWE1ZDFjMQ==
4
+ MDZlMzk4OTdkODc5OGI5YWYzOGZlYzk2NGE5MzZiYTAzMmI5Zjg2NQ==
5
5
  data.tar.gz: !binary |-
6
- NjcwYjFkNWQ2ZjRlNDQ4MmY3YTg4ZjBmYmJkMGZhYTFmMjU4NGM5ZQ==
6
+ YjNlMDkxOWFjY2M0NjliYWUzMTdiMGE1YzY3MWQ5ZDNkYTZlMGI0OA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MmNmYTZiN2M1ZWQ2YWVmNDdlYmIyMDYxYjRhYTViZDY2MmQwZjZjZDhiMjll
10
- M2E0YTU5YTBkYjc4MTNiZjcwNTdiYmE4MGZkMGQxNTE0ZGFlMmRhN2Q4ZDQ0
11
- YmM2MmRlMzA0OWI1ZGRiMmY3ZWQ2MTYwNTNmYjc2OTY3NDQ2MzA=
9
+ ZmMyMzY4MDc2NzcwODIyN2ZkMWZkZjhjNzY3ZWI5NzAxYmUxMzM0YWFmZDM0
10
+ ZWYwMWZiYWJhNDBlM2NjNmExMmI4ZDRhNjliMTA5MzNhMTBhNDJhNjkyNjYw
11
+ MzQ0ZTRiYTI5YzIzNmIyZTBiZDc1Y2Y0ZTU1YTVmMzUxZDQyZjI=
12
12
  data.tar.gz: !binary |-
13
- NjVmZWRhZjNiMzQ2NjdjNGU2YzkzM2ExZDRmYjdkN2M0NzRkNTdhMTNmNjA4
14
- NTgwMTgyZmVmYWM5MTFiOGQzMjQ1NjMxYmUzYmIxYzY0OTA1OTk1OGMxNTQz
15
- YzRlNTJhNzZlNjAzYjY5YzhkYzQ0N2E4NzE3ZmQzNzI4NDc0MGU=
13
+ MjZkNGExMzMzYzhmOTM0Y2ZlMWZlNmE5Mjk0NmE3OGZlYWVlYTExMWQ1ZDdk
14
+ NzFiYjUwZGY5MTVhMjQzMGEyMGM0MDkxZTFiZTk3YzY5YzEwMzI4YzM5MjMy
15
+ YTc3NmU2YzlkZTQxMTllZTVkMWFlOWNhYWFiNTFlN2Q2MWQ2YmY=
@@ -7,7 +7,7 @@ module Timewizard
7
7
  # @since 0.2.4
8
8
  module Wizardry
9
9
 
10
- VERSION_REGEX = /((\d+\.)?(\d+\.)?(\*|\d+))(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/
10
+ VERSION_REGEX = /((\d+\.)?(\d+\.)?(\*|\d+))(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?/
11
11
 
12
12
  # Returns a substring of the passed-in value that matches {Timewizard::Utils::Wizardry::VERSION_REGEX the version regex}.
13
13
  # @param [String] stringy string from which to extract version string
@@ -12,6 +12,8 @@ module Timewizard
12
12
  #
13
13
  private
14
14
 
15
+ SPACE_REGEX = /\s+/
16
+
15
17
  def read_file
16
18
  if @file.nil?
17
19
  raise 'file is nil and cannot be read'
@@ -36,16 +38,6 @@ module Timewizard
36
38
  File.open(@file, 'w') { |file| file.write(@file_contents) }
37
39
  end
38
40
 
39
- def find_build_numbers
40
- find_build_and_version_numbers
41
- [@old_build_number, @new_build_number]
42
- end
43
-
44
- def find_version_numbers
45
- find_build_and_version_numbers
46
- [@old_version_number, @new_version_number]
47
- end
48
-
49
41
  def find_build_and_version_numbers
50
42
  if @file_contents.nil?
51
43
  read_file
@@ -53,7 +45,7 @@ module Timewizard
53
45
  matched = @file_contents.match "android:versionCode=\"(.*)\""
54
46
 
55
47
  first_match = matched[0]
56
- split_match = first_match.partition /\s+/
48
+ split_match = first_match.partition(SPACE_REGEX)
57
49
 
58
50
  build_num = Timewizard::Utils::Wizardry.only_version split_match[0]
59
51
  version_num = Timewizard::Utils::Wizardry.only_version split_match[2]
@@ -61,12 +53,12 @@ module Timewizard
61
53
  parsed_build_num = Versionomy.parse(build_num, Versionomy::Format.get('rubygems'))
62
54
  parsed_version_num = Versionomy.parse(version_num, Versionomy::Format.get('rubygems'))
63
55
 
64
- @old_build_number = parsed_build_num.unparse
65
- @old_version_number = parsed_version_num.unparse
56
+ obn = parsed_build_num.unparse
57
+ ovn = parsed_version_num.unparse
58
+ nbn = parsed_build_num.bump(parsed_build_num.parts.length - 1).unparse
59
+ nvn = ovn
66
60
 
67
- @new_build_number = parsed_build_num.bump(parsed_build_num.parts.length - 1).unparse
68
- @new_version_number = @old_version_number
69
- self
61
+ [obn, ovn, nbn, nvn]
70
62
  end
71
63
 
72
64
  def change_build_numbers
@@ -37,16 +37,6 @@ module Timewizard
37
37
  Xcodeproj::PlistHelper.write(@file_contents, @file)
38
38
  end
39
39
 
40
- def find_build_numbers
41
- find_build_and_version_numbers
42
- [@old_build_number, @new_build_number]
43
- end
44
-
45
- def find_version_numbers
46
- find_build_and_version_numbers
47
- [@old_version_number, @new_version_number]
48
- end
49
-
50
40
  def find_build_and_version_numbers
51
41
  if @file_contents.nil?
52
42
  read_file
@@ -58,12 +48,12 @@ module Timewizard
58
48
  parsed_build_num = Versionomy.parse(build_num, Versionomy::Format.get('rubygems'))
59
49
  parsed_version_num = Versionomy.parse(version_num, Versionomy::Format.get('rubygems'))
60
50
 
61
- @old_build_number = parsed_build_num.unparse
62
- @old_version_number = parsed_version_num.unparse
51
+ obn = parsed_build_num.unparse
52
+ ovn = parsed_version_num.unparse
53
+ nbn = parsed_build_num.bump(parsed_build_num.parts.length - 1).unparse
54
+ nvn = ovn
63
55
 
64
- @new_build_number = parsed_build_num.bump(parsed_build_num.parts.length - 1).unparse
65
- @new_version_number = @old_version_number
66
- self
56
+ [obn, ovn, nbn, nvn]
67
57
  end
68
58
 
69
59
  def change_build_numbers
@@ -42,6 +42,10 @@ module Timewizard
42
42
  raise "passed in file cannot be nil"
43
43
  end
44
44
  @file = path_to_file
45
+ @old_build_number = nil
46
+ @old_version_number = nil
47
+ @new_build_number = nil
48
+ @new_version_number = nil
45
49
  end
46
50
 
47
51
  # Reads the build numbers from {Timewizard::Versioner::Base.file}.
@@ -57,6 +61,7 @@ module Timewizard
57
61
  def read_version_numbers
58
62
  read_file
59
63
  find_version_numbers
64
+ self
60
65
  end
61
66
 
62
67
  # Writes the build numbers to {Timewizard::Versioner::Base.file}.
@@ -64,6 +69,7 @@ module Timewizard
64
69
  def write_build_numbers
65
70
  change_build_numbers
66
71
  write_file
72
+ self
67
73
  end
68
74
 
69
75
  # Writes the version numbers to {Timewizard::Versioner::Base.file}.
@@ -71,6 +77,7 @@ module Timewizard
71
77
  def write_version_numbers
72
78
  change_version_numbers
73
79
  write_file
80
+ self
74
81
  end
75
82
 
76
83
  private
@@ -84,11 +91,17 @@ module Timewizard
84
91
  end
85
92
 
86
93
  def find_build_numbers
87
- raise NotImplementedError
94
+ bn = find_build_and_version_numbers
95
+ @old_build_number = bn[0]
96
+ @new_build_number = bn[2]
97
+ [@old_build_number, @new_build_number]
88
98
  end
89
99
 
90
100
  def find_version_numbers
91
- raise NotImplementedError
101
+ vn = find_build_and_version_numbers
102
+ @old_version_number = vn[1]
103
+ @new_version_number = vn[3]
104
+ [@old_version_number, @new_version_number]
92
105
  end
93
106
 
94
107
  def find_build_and_version_numbers
@@ -23,5 +23,14 @@ RSpec.describe 'Timewizard::Utils::Wizardry' do
23
23
 
24
24
  expect(actual).to eq(expected)
25
25
  end
26
+
27
+ it 'should return a version number when version number is in the middle of the string' do
28
+ base = 'this, 0.0.1, is the version being test'
29
+
30
+ expected = '0.0.1'
31
+ actual = Timewizard::Utils::Wizardry.only_version base
32
+
33
+ expect(actual).to eq(expected)
34
+ end
26
35
  end
27
36
  end
@@ -0,0 +1,161 @@
1
+ require 'timewizard/versioner/android'
2
+
3
+ RSpec.describe 'Timewizard::Versioner::Android' do
4
+
5
+ context '.new' do
6
+ it 'should raise error if arg is nil' do
7
+ expect { Timewizard::Versioner::Android.new nil }.to raise_error("passed in file cannot be nil")
8
+ end
9
+
10
+ it 'should not raise error if arg is not nil' do
11
+ expect { Timewizard::Versioner::Android.new '' }.not_to raise_error
12
+ end
13
+ end
14
+
15
+ before(:example) do
16
+ @directory = Dir.pwd.to_s
17
+ @versioner = Timewizard::Versioner::Android.new "#{@directory}/tmp/android/AndroidManifest.xml"
18
+ end
19
+
20
+ context '#file' do
21
+ it 'should be an AndroidManifest.xml' do
22
+ expect(@versioner.file).to eq("#{@directory}/tmp/android/AndroidManifest.xml")
23
+ end
24
+ end
25
+
26
+ context '#old_build_number' do
27
+ it 'should be nil' do
28
+ expect(@versioner.old_build_number).to be_nil
29
+ end
30
+ end
31
+
32
+ context '#old_version_number' do
33
+ it 'should be nil' do
34
+ expect(@versioner.old_version_number).to be_nil
35
+ end
36
+ end
37
+
38
+ context '#new_build_number' do
39
+ it 'should be nil' do
40
+ expect(@versioner.new_build_number).to be_nil
41
+ end
42
+ end
43
+
44
+ context '#new_build_number=' do
45
+ it 'should change instance variable' do
46
+ @versioner.new_build_number = '1'
47
+ expect(@versioner.new_build_number).not_to be_nil
48
+ @versioner.new_build_number = nil
49
+ expect(@versioner.new_build_number).to be_nil
50
+ end
51
+ end
52
+
53
+ context '#new_version_number' do
54
+ it 'should be nil' do
55
+ expect(@versioner.new_version_number).to be_nil
56
+ end
57
+ end
58
+
59
+ context '#new_version_number=' do
60
+ it 'should change instance variable' do
61
+ @versioner.new_version_number = '1'
62
+ expect(@versioner.new_version_number).not_to be_nil
63
+ @versioner.new_version_number = nil
64
+ expect(@versioner.new_version_number).to be_nil
65
+ end
66
+ end
67
+
68
+ context '#read_build_numbers' do
69
+ it 'should not raise an error' do
70
+ expect { @versioner.read_build_numbers }.to_not raise_error
71
+ end
72
+
73
+ it 'should change instance variables' do
74
+ expect(@versioner.old_build_number).to be_nil
75
+ expect(@versioner.new_build_number).to be_nil
76
+ @versioner.read_build_numbers
77
+ expect(@versioner.old_build_number).to eq('200')
78
+ expect(@versioner.new_build_number).to eq('201')
79
+ end
80
+ end
81
+
82
+ context '#read_version_numbers' do
83
+ it 'should not raise an error' do
84
+ expect { @versioner.read_version_numbers }.to_not raise_error
85
+ end
86
+
87
+ it 'should change instance variables' do
88
+ expect(@versioner.old_version_number).to be_nil
89
+ expect(@versioner.new_version_number).to be_nil
90
+ @versioner.read_version_numbers
91
+ expect(@versioner.old_version_number).to eq('0.0.1')
92
+ expect(@versioner.new_version_number).to eq('0.0.1')
93
+ end
94
+ end
95
+
96
+ context '#write_build_numbers' do
97
+ before(:example) do
98
+ @versioner.read_build_numbers
99
+ end
100
+
101
+ after(:example) do
102
+ @versioner.new_build_number = '200'
103
+ @versioner.write_build_numbers
104
+ end
105
+
106
+ it 'should not raise an error' do
107
+ expect { @versioner.write_version_numbers }.to_not raise_error
108
+ end
109
+
110
+ it 'should not change instance variables' do
111
+ expect(@versioner.old_build_number).to eq('200')
112
+ expect(@versioner.new_build_number).to eq('201')
113
+ @versioner.write_build_numbers
114
+ expect(@versioner.old_build_number).to eq('200')
115
+ expect(@versioner.new_build_number).to eq('201')
116
+ end
117
+
118
+ it 'should change contents of parsed file' do
119
+ expect(@versioner.old_build_number).to eq('200')
120
+ expect(@versioner.new_build_number).to eq('201')
121
+ @versioner.write_build_numbers
122
+ @versioner.read_build_numbers
123
+ expect(@versioner.old_build_number).to eq('201')
124
+ expect(@versioner.new_build_number).to eq('202')
125
+ end
126
+ end
127
+
128
+ context '#write_version_numbers' do
129
+ before(:example) do
130
+ @versioner.read_version_numbers
131
+ end
132
+
133
+ after(:example) do
134
+ @versioner.new_version_number = '0.0.1'
135
+ @versioner.write_version_numbers
136
+ end
137
+
138
+ it 'should not raise an error' do
139
+ expect { @versioner.write_version_numbers }.to_not raise_error
140
+ end
141
+
142
+ it 'should not change instance variables' do
143
+ expect(@versioner.old_version_number).to eq('0.0.1')
144
+ expect(@versioner.new_version_number).to eq('0.0.1')
145
+ @versioner.write_version_numbers
146
+ expect(@versioner.old_version_number).to eq('0.0.1')
147
+ expect(@versioner.new_version_number).to eq('0.0.1')
148
+ end
149
+
150
+ it 'should change contents of parsed file' do
151
+ expect(@versioner.old_version_number).to eq('0.0.1')
152
+ expect(@versioner.new_version_number).to eq('0.0.1')
153
+ @versioner.new_version_number = '0.0.2'
154
+ @versioner.write_version_numbers
155
+ @versioner.read_version_numbers
156
+ expect(@versioner.old_version_number).to eq('0.0.2')
157
+ expect(@versioner.new_version_number).to eq('0.0.2')
158
+ end
159
+ end
160
+
161
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timewizard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0.pre.alpha.pre.56
4
+ version: 0.3.0.pre.alpha.pre.57
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Harrah
@@ -170,6 +170,7 @@ files:
170
170
  - spec/spec_helper.rb
171
171
  - spec/timewizard_spec.rb
172
172
  - spec/utils/wizardry_spec.rb
173
+ - spec/versioner/android_spec.rb
173
174
  - spec/versioner_spec.rb
174
175
  - timewizard.gemspec
175
176
  homepage: https://github.com/Nunnery/timewizard