Module: Ruboto::Util::Verify
- Included in:
- Build, XMLElement
- Defined in:
- lib/ruboto/util/verify.rb
Instance Method Summary collapse
- #save_manifest ⇒ Object
- #save_ruboto_config ⇒ Object
- #save_test_manifest ⇒ Object
- #verify_activity ⇒ Object
- #verify_api ⇒ Object
-
#verify_manifest ⇒ Object
Verify the presence of important components.
- #verify_min_sdk ⇒ Object
- #verify_package ⇒ Object
- #verify_ruboto_config ⇒ Object
- #verify_sdk_versions ⇒ Object
- #verify_strings ⇒ Object
- #verify_target_sdk ⇒ Object
- #verify_test_manifest ⇒ Object
Instance Method Details
#save_manifest ⇒ Object
19 20 21 |
# File 'lib/ruboto/util/verify.rb', line 19 def save_manifest File.open("AndroidManifest.xml", 'w') {|f| REXML::Formatters::OrderedAttributes.new(4).write(verify_manifest.document, f)} end |
#save_ruboto_config ⇒ Object
84 85 86 |
# File 'lib/ruboto/util/verify.rb', line 84 def save_ruboto_config File.open("ruboto.yml", 'w') {|f| YAML.dump verify_ruboto_config} end |
#save_test_manifest ⇒ Object
29 30 31 |
# File 'lib/ruboto/util/verify.rb', line 29 def save_test_manifest File.open("test/AndroidManifest.xml", 'w') {|f| verify_test_manifest.document.write(f, 4)} end |
#verify_activity ⇒ Object
38 39 40 41 |
# File 'lib/ruboto/util/verify.rb', line 38 def verify_activity verify_manifest @activity ||= @manifest.elements['application/activity'].attribute('android:name').value end |
#verify_api ⇒ Object
72 73 74 |
# File 'lib/ruboto/util/verify.rb', line 72 def verify_api Ruboto::API.api end |
#verify_manifest ⇒ Object
Verify the presence of important components
12 13 14 15 16 17 |
# File 'lib/ruboto/util/verify.rb', line 12 def verify_manifest return @manifest if @manifest abort "cannot find your AndroidManifest.xml to extract info from it. Make sure you're in the root directory of your app" unless File.exists? 'AndroidManifest.xml' @manifest = REXML::Document.new(File.read('AndroidManifest.xml')).root end |
#verify_min_sdk ⇒ Object
50 51 52 53 54 55 56 |
# File 'lib/ruboto/util/verify.rb', line 50 def verify_min_sdk return @min_sdk if @min_sdk verify_sdk_versions min_sdk_attr = @uses_sdk.attribute('android:minSdkVersion').value abort "you must specify a minimum sdk level in the manifest (e.g., <uses-sdk android:minSdkVersion='3' android:targetSdkVersion='8' />)" unless min_sdk_attr @min_sdk = min_sdk_attr.to_i end |
#verify_package ⇒ Object
33 34 35 36 |
# File 'lib/ruboto/util/verify.rb', line 33 def verify_package verify_manifest @package ||= @manifest.attribute('package').value end |
#verify_ruboto_config ⇒ Object
76 77 78 79 80 81 82 |
# File 'lib/ruboto/util/verify.rb', line 76 def verify_ruboto_config if File.exists? 'ruboto.yml' @ruboto_config ||= YAML::load_file('ruboto.yml') else @ruboto_config = {} end end |
#verify_sdk_versions ⇒ Object
43 44 45 46 47 48 |
# File 'lib/ruboto/util/verify.rb', line 43 def verify_sdk_versions verify_manifest @uses_sdk ||= @manifest.elements["uses-sdk"] abort "you must specify your sdk level in the manifest (e.g., <uses-sdk android:minSdkVersion='3' android:targetSdkVersion='8' />)" unless @uses_sdk @uses_sdk end |
#verify_strings ⇒ Object
66 67 68 69 70 |
# File 'lib/ruboto/util/verify.rb', line 66 def verify_strings abort "cannot find your strings.xml to extract info from it. Make sure you're in the root directory of your app" unless File.exists? 'res/values/strings.xml' @strings ||= REXML::Document.new(File.read('res/values/strings.xml')) end |
#verify_target_sdk ⇒ Object
58 59 60 61 62 63 64 |
# File 'lib/ruboto/util/verify.rb', line 58 def verify_target_sdk return @target_sdk if @target_sdk verify_sdk_versions target_sdk_attr = @uses_sdk.attribute('android:targetSdkVersion').value abort "you must specify a target sdk level in the manifest (e.g., <uses-sdk android:minSdkVersion='3' android:targetSdkVersion='8' />)" unless target_sdk_attr @target_sdk = target_sdk_attr.to_i end |
#verify_test_manifest ⇒ Object
23 24 25 26 27 |
# File 'lib/ruboto/util/verify.rb', line 23 def verify_test_manifest abort "cannot find your test AndroidManifest.xml to extract info from it. Make sure you're in the root directory of your app" \ unless File.exists? 'test/AndroidManifest.xml' @manifest ||= REXML::Document.new(File.read('test/AndroidManifest.xml')).root end |