Class: IosAndroidToolbox::IosVersionController
Constant Summary
collapse
- VERSION_KEY =
'CFBundleVersion'
- SHORT_VERSION_KEY =
'CFBundleShortVersionString'
- URL_TYPES_KEY =
"CFBundleURLTypes"
- URL_SCHEMES_KEY =
"CFBundleURLSchemes"
- BUNDLE_IDENTIFIER_KEY =
"CFBundleIdentifier"
Instance Attribute Summary
#inc_idx, #max_comps
Class Method Summary
collapse
Instance Method Summary
collapse
#components, find_project_info, #next_version, #suffix, version_file
Constructor Details
Returns a new instance of IosVersionController.
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/ios_android_toolbox/ios.rb', line 36
def initialize(version_file)
super()
raise "No version file specified" if version_file.nil?
begin
@dict = Plist.parse_xml(version_file)
rescue
raise "Cannot parse file #{version_file}"
end
raise "File #{version_file} does not have a #{VERSION_KEY} key" if @dict[VERSION_KEY].nil?
self
end
|
Class Method Details
.find_project_info_candidates_for_dir(dir) ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/ios_android_toolbox/ios.rb', line 17
def self.find_project_info_candidates_for_dir(dir)
candidates = []
plists=`find "#{dir}" -name "*.plist"`
plists.split("\n").each do |filename|
if File.exists?(filename)
begin
dict = Plist.parse_xml(filename)
candidates.push filename if dict and dict[VERSION_KEY]
rescue
end
end
end
candidates
end
|
Instance Method Details
#app_id ⇒ Object
59
60
61
|
# File 'lib/ios_android_toolbox/ios.rb', line 59
def app_id
bundle_id
end
|
#bundle_id ⇒ Object
55
56
57
|
# File 'lib/ios_android_toolbox/ios.rb', line 55
def bundle_id
@dict[BUNDLE_IDENTIFIER_KEY]
end
|
#next_version!(inc_idx = nil) ⇒ Object
63
64
65
|
# File 'lib/ios_android_toolbox/ios.rb', line 63
def next_version!(inc_idx = nil)
@dict[SHORT_VERSION_KEY] = @dict[VERSION_KEY] = next_version
end
|
#replace_url_scheme(prev, replace) ⇒ Object
78
79
80
81
82
83
84
85
|
# File 'lib/ios_android_toolbox/ios.rb', line 78
def replace_url_scheme(prev, replace)
url_types.each do |url_type_dict|
schemes = url_type_dict[URL_SCHEMES_KEY]
schemes.each_index do |i|
schemes[i] = replace if prev == schemes[i]
end
end
end
|
#url_schemes ⇒ Object
71
72
73
74
75
76
|
# File 'lib/ios_android_toolbox/ios.rb', line 71
def url_schemes
schemes = url_types.collect do |ary|
ary[URL_SCHEMES_KEY]
end
schemes.flatten
end
|
#url_types ⇒ Object
67
68
69
|
# File 'lib/ios_android_toolbox/ios.rb', line 67
def url_types
@dict[URL_TYPES_KEY]
end
|
#version ⇒ Object
51
52
53
|
# File 'lib/ios_android_toolbox/ios.rb', line 51
def version
@dict[VERSION_KEY]
end
|
#write_to_output_file(output_file) ⇒ Object
95
96
97
|
# File 'lib/ios_android_toolbox/ios.rb', line 95
def write_to_output_file(output_file)
write_to_plist_file(output_file)
end
|
#write_to_plist_file(output_file) ⇒ Object
87
88
89
90
91
92
93
|
# File 'lib/ios_android_toolbox/ios.rb', line 87
def write_to_plist_file(output_file)
if output_file == '-'
puts @dict.to_plist
else
@dict.save_plist output_file
end
end
|