timewizard 0.3.0.pre.alpha.pre.57 → 0.3.0.pre.alpha.pre.58
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 +8 -8
- data/gemspec.yml +1 -1
- data/lib/timewizard/version.rb +2 -0
- data/lib/timewizard/versioner/android.rb +10 -0
- data/lib/timewizard/versioner/apple.rb +27 -9
- data/resources/apple/TestApp/TestApp/Info.plist +2 -2
- data/spec/versioner/android_spec.rb +13 -16
- data/spec/versioner/apple_spec.rb +157 -0
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MmEyNTI1ZjVlNDIyMDc2ZGVmMGY5MmIyNjQyZTE2YTQ1M2FlZDliMg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZjczYWM0NDc5Yzg1NWQ2YWNlZmUwZjU0MTBjYTA2YzE5OGZlZDhiOQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MzNiNGRhMWE2NDBhMzU3NzlkY2YwMDk1Mzg5N2VhNjgxZWE5OTA4NGM4NWZi
|
10
|
+
YWVkYjBhYzBmNGQxZWZlN2ZmOWM0M2E5MjBkYzcxMTljMGJjZmU3MTdiNjc0
|
11
|
+
ZDc4ZDZhNTg2YTUyZDk5ZTE2Nzc4MGY5MzFlYjllN2NjZDg0ZmY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YWFiMWI0MWFlY2ExM2VhMjNiOWM5NzhiOGYxYmRmOTk2ZjZlZjliZjVkYWE1
|
14
|
+
ODI5YjM1YWVmYmI4OTVjYjdlYzBjODhkZDkyNzQxNjk4NzdjM2E0NjI2OWQ4
|
15
|
+
OTg3Y2RlZjdjNGRhZGJhNWU1ZGVkZjg0Zjk4MThjNTdiYTVkMDI=
|
data/gemspec.yml
CHANGED
data/lib/timewizard/version.rb
CHANGED
@@ -7,6 +7,16 @@ module Timewizard
|
|
7
7
|
# @since 0.1.0
|
8
8
|
class Android < Timewizard::Versioner::Base
|
9
9
|
|
10
|
+
#
|
11
|
+
# Public functions (inherited from parent)
|
12
|
+
#
|
13
|
+
public
|
14
|
+
|
15
|
+
def initialize(path_to_file)
|
16
|
+
super path_to_file
|
17
|
+
@file_contents = ''
|
18
|
+
end
|
19
|
+
|
10
20
|
#
|
11
21
|
# Private functions (implementation specific)
|
12
22
|
#
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'cfpropertylist'
|
2
2
|
require 'timewizard/versioner'
|
3
3
|
|
4
4
|
module Timewizard
|
@@ -8,6 +8,16 @@ module Timewizard
|
|
8
8
|
# @since 0.2.3
|
9
9
|
class Apple < Timewizard::Versioner::Base
|
10
10
|
|
11
|
+
#
|
12
|
+
# Public functions (inherited from parent)
|
13
|
+
#
|
14
|
+
public
|
15
|
+
|
16
|
+
def initialize(path_to_file)
|
17
|
+
super path_to_file
|
18
|
+
@file_contents = CFPropertyList::List.new
|
19
|
+
end
|
20
|
+
|
11
21
|
#
|
12
22
|
# Private functions (implementation specific)
|
13
23
|
#
|
@@ -18,10 +28,10 @@ module Timewizard
|
|
18
28
|
raise 'file is nil and cannot be read'
|
19
29
|
end
|
20
30
|
|
21
|
-
@file_contents =
|
31
|
+
@file_contents = CFPropertyList::List.new
|
22
32
|
|
23
33
|
if File.exist?(@file)
|
24
|
-
@file_contents
|
34
|
+
@file_contents.load(@file)
|
25
35
|
end
|
26
36
|
|
27
37
|
@file_contents
|
@@ -34,7 +44,7 @@ module Timewizard
|
|
34
44
|
if @file_contents.nil?
|
35
45
|
raise 'file_contents is nil and cannot be written'
|
36
46
|
end
|
37
|
-
|
47
|
+
@file_contents.save(@file)
|
38
48
|
end
|
39
49
|
|
40
50
|
def find_build_and_version_numbers
|
@@ -42,8 +52,10 @@ module Timewizard
|
|
42
52
|
read_file
|
43
53
|
end
|
44
54
|
|
45
|
-
|
46
|
-
|
55
|
+
data = CFPropertyList.native_types(@file_contents.value)
|
56
|
+
|
57
|
+
build_num = Timewizard::Utils::Wizardry.only_version(data['CFBundleVersion'])
|
58
|
+
version_num = Timewizard::Utils::Wizardry.only_version(data['CFBundleShortVersionString'])
|
47
59
|
|
48
60
|
parsed_build_num = Versionomy.parse(build_num, Versionomy::Format.get('rubygems'))
|
49
61
|
parsed_version_num = Versionomy.parse(version_num, Versionomy::Format.get('rubygems'))
|
@@ -63,17 +75,23 @@ module Timewizard
|
|
63
75
|
if @new_build_number.nil?
|
64
76
|
read_build_numbers
|
65
77
|
end
|
66
|
-
|
78
|
+
data = CFPropertyList.native_types(@file_contents.value)
|
79
|
+
data['CFBundleVersion'] = @new_build_number.to_s
|
80
|
+
|
81
|
+
@file_contents.value = CFPropertyList.guess(data)
|
67
82
|
end
|
68
83
|
|
69
84
|
def change_version_numbers
|
70
85
|
if @file_contents.nil?
|
71
86
|
read_file
|
72
87
|
end
|
73
|
-
if @
|
88
|
+
if @new_version_number.nil?
|
74
89
|
read_build_numbers
|
75
90
|
end
|
76
|
-
|
91
|
+
data = CFPropertyList.native_types(@file_contents.value)
|
92
|
+
data['CFBundleShortVersionString'] = @new_version_number.to_s
|
93
|
+
|
94
|
+
@file_contents.value = CFPropertyList.guess(data)
|
77
95
|
end
|
78
96
|
|
79
97
|
end
|
@@ -15,11 +15,11 @@
|
|
15
15
|
<key>CFBundlePackageType</key>
|
16
16
|
<string>APPL</string>
|
17
17
|
<key>CFBundleShortVersionString</key>
|
18
|
-
<string>
|
18
|
+
<string>0.0.1</string>
|
19
19
|
<key>CFBundleSignature</key>
|
20
20
|
<string>????</string>
|
21
21
|
<key>CFBundleVersion</key>
|
22
|
-
<string>
|
22
|
+
<string>200</string>
|
23
23
|
<key>LSRequiresIPhoneOS</key>
|
24
24
|
<true/>
|
25
25
|
<key>UILaunchStoryboardName</key>
|
@@ -2,6 +2,18 @@ require 'timewizard/versioner/android'
|
|
2
2
|
|
3
3
|
RSpec.describe 'Timewizard::Versioner::Android' do
|
4
4
|
|
5
|
+
before(:example) do
|
6
|
+
pwd = Dir.pwd.to_s
|
7
|
+
|
8
|
+
FileUtils.rm_rf Dir["#{pwd}/tmp"]
|
9
|
+
FileUtils.rm_rf Dir["#{pwd}/pkg"]
|
10
|
+
|
11
|
+
pwd = Dir.pwd.to_s
|
12
|
+
FileUtils.cp_r("#{pwd}/resources/.", "#{pwd}/tmp")
|
13
|
+
|
14
|
+
@versioner = Timewizard::Versioner::Android.new "#{pwd}/tmp/android/AndroidManifest.xml"
|
15
|
+
end
|
16
|
+
|
5
17
|
context '.new' do
|
6
18
|
it 'should raise error if arg is nil' do
|
7
19
|
expect { Timewizard::Versioner::Android.new nil }.to raise_error("passed in file cannot be nil")
|
@@ -12,14 +24,9 @@ RSpec.describe 'Timewizard::Versioner::Android' do
|
|
12
24
|
end
|
13
25
|
end
|
14
26
|
|
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
27
|
context '#file' do
|
21
28
|
it 'should be an AndroidManifest.xml' do
|
22
|
-
expect(@versioner.file).to eq("#{
|
29
|
+
expect(@versioner.file).to eq("#{Dir.pwd.to_s}/tmp/android/AndroidManifest.xml")
|
23
30
|
end
|
24
31
|
end
|
25
32
|
|
@@ -98,11 +105,6 @@ RSpec.describe 'Timewizard::Versioner::Android' do
|
|
98
105
|
@versioner.read_build_numbers
|
99
106
|
end
|
100
107
|
|
101
|
-
after(:example) do
|
102
|
-
@versioner.new_build_number = '200'
|
103
|
-
@versioner.write_build_numbers
|
104
|
-
end
|
105
|
-
|
106
108
|
it 'should not raise an error' do
|
107
109
|
expect { @versioner.write_version_numbers }.to_not raise_error
|
108
110
|
end
|
@@ -130,11 +132,6 @@ RSpec.describe 'Timewizard::Versioner::Android' do
|
|
130
132
|
@versioner.read_version_numbers
|
131
133
|
end
|
132
134
|
|
133
|
-
after(:example) do
|
134
|
-
@versioner.new_version_number = '0.0.1'
|
135
|
-
@versioner.write_version_numbers
|
136
|
-
end
|
137
|
-
|
138
135
|
it 'should not raise an error' do
|
139
136
|
expect { @versioner.write_version_numbers }.to_not raise_error
|
140
137
|
end
|
@@ -0,0 +1,157 @@
|
|
1
|
+
require 'timewizard/versioner/apple'
|
2
|
+
|
3
|
+
RSpec.describe 'Timewizard::Versioner::Apple' do
|
4
|
+
|
5
|
+
context '.new' do
|
6
|
+
it 'should raise error if arg is nil' do
|
7
|
+
expect { Timewizard::Versioner::Apple.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::Apple.new '' }.not_to raise_error
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
before(:example) do
|
16
|
+
pwd = Dir.pwd.to_s
|
17
|
+
@directory = pwd
|
18
|
+
|
19
|
+
FileUtils.rm_rf Dir["#{pwd}/tmp"]
|
20
|
+
|
21
|
+
FileUtils.cp_r("#{pwd}/resources/.", "#{pwd}/tmp")
|
22
|
+
|
23
|
+
@versioner = Timewizard::Versioner::Apple.new "#{pwd}/tmp/apple/TestApp/TestApp/Info.plist"
|
24
|
+
end
|
25
|
+
|
26
|
+
context '#file' do
|
27
|
+
it 'should be an Info.plist' do
|
28
|
+
expect(@versioner.file).to eq("#{@directory}/tmp/apple/TestApp/TestApp/Info.plist")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context '#old_build_number' do
|
33
|
+
it 'should be nil' do
|
34
|
+
expect(@versioner.old_build_number).to be_nil
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context '#old_version_number' do
|
39
|
+
it 'should be nil' do
|
40
|
+
expect(@versioner.old_version_number).to be_nil
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
context '#new_build_number' do
|
45
|
+
it 'should be nil' do
|
46
|
+
expect(@versioner.new_build_number).to be_nil
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
context '#new_build_number=' do
|
51
|
+
it 'should change instance variable' do
|
52
|
+
@versioner.new_build_number = '1'
|
53
|
+
expect(@versioner.new_build_number).not_to be_nil
|
54
|
+
@versioner.new_build_number = nil
|
55
|
+
expect(@versioner.new_build_number).to be_nil
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
context '#new_version_number' do
|
60
|
+
it 'should be nil' do
|
61
|
+
expect(@versioner.new_version_number).to be_nil
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
context '#new_version_number=' do
|
66
|
+
it 'should change instance variable' do
|
67
|
+
@versioner.new_version_number = '1'
|
68
|
+
expect(@versioner.new_version_number).not_to be_nil
|
69
|
+
@versioner.new_version_number = nil
|
70
|
+
expect(@versioner.new_version_number).to be_nil
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
context '#read_build_numbers' do
|
75
|
+
it 'should not raise an error' do
|
76
|
+
expect { @versioner.read_build_numbers }.to_not raise_error
|
77
|
+
end
|
78
|
+
|
79
|
+
it 'should change instance variables' do
|
80
|
+
expect(@versioner.old_build_number).to be_nil
|
81
|
+
expect(@versioner.new_build_number).to be_nil
|
82
|
+
@versioner.read_build_numbers
|
83
|
+
expect(@versioner.old_build_number).to eq('200')
|
84
|
+
expect(@versioner.new_build_number).to eq('201')
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
context '#read_version_numbers' do
|
89
|
+
it 'should not raise an error' do
|
90
|
+
expect { @versioner.read_version_numbers }.to_not raise_error
|
91
|
+
end
|
92
|
+
|
93
|
+
it 'should change instance variables' do
|
94
|
+
expect(@versioner.old_version_number).to be_nil
|
95
|
+
expect(@versioner.new_version_number).to be_nil
|
96
|
+
@versioner.read_version_numbers
|
97
|
+
expect(@versioner.old_version_number).to eq('0.0.1')
|
98
|
+
expect(@versioner.new_version_number).to eq('0.0.1')
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
context '#write_build_numbers' do
|
103
|
+
before(:example) do
|
104
|
+
@versioner.read_build_numbers
|
105
|
+
end
|
106
|
+
|
107
|
+
it 'should not raise an error' do
|
108
|
+
expect { @versioner.write_version_numbers }.to_not raise_error
|
109
|
+
end
|
110
|
+
|
111
|
+
it 'should not change instance variables' do
|
112
|
+
expect(@versioner.old_build_number).to eq('200')
|
113
|
+
expect(@versioner.new_build_number).to eq('201')
|
114
|
+
@versioner.write_build_numbers
|
115
|
+
expect(@versioner.old_build_number).to eq('200')
|
116
|
+
expect(@versioner.new_build_number).to eq('201')
|
117
|
+
end
|
118
|
+
|
119
|
+
it 'should change contents of parsed file' do
|
120
|
+
expect(@versioner.old_build_number).to eq('200')
|
121
|
+
expect(@versioner.new_build_number).to eq('201')
|
122
|
+
@versioner.write_build_numbers
|
123
|
+
@versioner.read_build_numbers
|
124
|
+
expect(@versioner.old_build_number).to eq('201')
|
125
|
+
expect(@versioner.new_build_number).to eq('202')
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
context '#write_version_numbers' do
|
130
|
+
before(:example) do
|
131
|
+
@versioner.read_version_numbers
|
132
|
+
end
|
133
|
+
|
134
|
+
it 'should not raise an error' do
|
135
|
+
expect { @versioner.write_version_numbers }.to_not raise_error
|
136
|
+
end
|
137
|
+
|
138
|
+
it 'should not change instance variables' do
|
139
|
+
expect(@versioner.old_version_number).to eq('0.0.1')
|
140
|
+
expect(@versioner.new_version_number).to eq('0.0.1')
|
141
|
+
@versioner.write_version_numbers
|
142
|
+
expect(@versioner.old_version_number).to eq('0.0.1')
|
143
|
+
expect(@versioner.new_version_number).to eq('0.0.1')
|
144
|
+
end
|
145
|
+
|
146
|
+
it 'should change contents of parsed file' do
|
147
|
+
expect(@versioner.old_version_number).to eq('0.0.1')
|
148
|
+
expect(@versioner.new_version_number).to eq('0.0.1')
|
149
|
+
@versioner.new_version_number = '0.0.2'
|
150
|
+
@versioner.write_version_numbers
|
151
|
+
@versioner.read_version_numbers
|
152
|
+
expect(@versioner.old_version_number).to eq('0.0.2')
|
153
|
+
expect(@versioner.new_version_number).to eq('0.0.2')
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.
|
4
|
+
version: 0.3.0.pre.alpha.pre.58
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Harrah
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: versionomy
|
@@ -25,19 +25,19 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0.4'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: CFPropertyList
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '2.3'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '2.3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,6 +171,7 @@ files:
|
|
171
171
|
- spec/timewizard_spec.rb
|
172
172
|
- spec/utils/wizardry_spec.rb
|
173
173
|
- spec/versioner/android_spec.rb
|
174
|
+
- spec/versioner/apple_spec.rb
|
174
175
|
- spec/versioner_spec.rb
|
175
176
|
- timewizard.gemspec
|
176
177
|
homepage: https://github.com/Nunnery/timewizard
|