Module: Ruboto::Util::Verify
- Included in:
- Commands::Base, Build, Setup, XMLElement
- Defined in:
- lib/ruboto/util/verify.rb
Instance Method Summary collapse
- #project_api_level ⇒ Object
- #project_properties ⇒ Object
- #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_project_properties ⇒ Object
- #verify_ruboto_config ⇒ Object
- #verify_sdk_versions ⇒ Object
- #verify_strings ⇒ Object
- #verify_target_sdk ⇒ Object
- #verify_test_manifest ⇒ Object
Instance Method Details
#project_api_level ⇒ Object
103 104 105 106 107 108 109 |
# File 'lib/ruboto/util/verify.rb', line 103 def project_api_level begin return $1 if project_properties =~ /^target=(.*)$/ rescue # ignored end end |
#project_properties ⇒ Object
96 97 98 99 100 101 |
# File 'lib/ruboto/util/verify.rb', line 96 def project_properties return @project_properties if @project_properties properties_file_name = 'project.properties' return nil unless File.exists? properties_file_name @project_properties = File.read(properties_file_name) end |
#save_manifest ⇒ Object
19 20 21 22 23 24 |
# File 'lib/ruboto/util/verify.rb', line 19 def save_manifest File.open('AndroidManifest.xml', 'w') do |f| REXML::Formatters::OrderedAttributes.new(4).write(verify_manifest.document, f) f.puts end end |
#save_ruboto_config ⇒ Object
87 88 89 |
# File 'lib/ruboto/util/verify.rb', line 87 def save_ruboto_config File.open('ruboto.yml', 'w') {|f| f << YAML.dump(verify_ruboto_config)} end |
#save_test_manifest ⇒ Object
32 33 34 |
# File 'lib/ruboto/util/verify.rb', line 32 def save_test_manifest File.open('test/AndroidManifest.xml', 'w') {|f| verify_test_manifest.document.write(f, 4)} end |
#verify_activity ⇒ Object
41 42 43 44 |
# File 'lib/ruboto/util/verify.rb', line 41 def verify_activity verify_manifest @activity ||= @manifest.elements['application/activity'].attribute('android:name').value end |
#verify_api ⇒ Object
75 76 77 |
# File 'lib/ruboto/util/verify.rb', line 75 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
53 54 55 56 57 58 59 |
# File 'lib/ruboto/util/verify.rb', line 53 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
36 37 38 39 |
# File 'lib/ruboto/util/verify.rb', line 36 def verify_package verify_manifest @package ||= @manifest.attribute('package').value end |
#verify_project_properties ⇒ Object
91 92 93 94 |
# File 'lib/ruboto/util/verify.rb', line 91 def verify_project_properties return @project_properties if project_properties abort "cannot find your #{properties_file_name} to extract info from it. Make sure you're in the root directory of your app." unless File.exists? properties_file_name end |
#verify_ruboto_config ⇒ Object
79 80 81 82 83 84 85 |
# File 'lib/ruboto/util/verify.rb', line 79 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
46 47 48 49 50 51 |
# File 'lib/ruboto/util/verify.rb', line 46 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
69 70 71 72 73 |
# File 'lib/ruboto/util/verify.rb', line 69 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
61 62 63 64 65 66 67 |
# File 'lib/ruboto/util/verify.rb', line 61 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
26 27 28 29 30 |
# File 'lib/ruboto/util/verify.rb', line 26 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 |