crittercism 0.1.1 → 0.2.0
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 +4 -4
 - data/README.md +7 -8
 - data/crittercism.gemspec +1 -1
 - data/lib/crittercism.rb +49 -11
 - data/lib/crittercism/rake_tasks.rb +3 -41
 - data/lib/crittercism/rubymotion_extensions.rb +34 -0
 - metadata +3 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 784d6a16e59ddf0d79eba5a2f48c52810395636d
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: f8e6dea3fcc279336e01b8226040fa4fef7dd06e
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: f029423b3c6b92ebab56c912a17719ede869b1a971cd83c48b600b40d6fe1da66bbd34499d163aab6a877fd0d3ca710d33b34173d76c23ae5b0028fe477257d3
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: b7b52966c0ef200b24f2180ceda3e3bb044922d4b7201922e09f1c31637d40f2938d02623893917677f56a3ce3d15fdc39852d40c7a3e4a106108f94481184ff
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -49,18 +49,17 @@ end 
     | 
|
| 
       49 
49 
     | 
    
         
             
            Refer to the [Crittercism docs](http://docs.crittercism.com/ios/ios.html) for
         
     | 
| 
       50 
50 
     | 
    
         
             
            information on how to use Crittercism's other features.
         
     | 
| 
       51 
51 
     | 
    
         | 
| 
       52 
     | 
    
         
            -
            ###  
     | 
| 
      
 52 
     | 
    
         
            +
            ### Uploading dSYM
         
     | 
| 
       53 
53 
     | 
    
         | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
      
 54 
     | 
    
         
            +
            This gem automatically uploads your dSYM file to Crittercism on every build. To
         
     | 
| 
      
 55 
     | 
    
         
            +
            disable dSYM upload on simulator builds, add this configuration to your Rakefile:
         
     | 
| 
       55 
56 
     | 
    
         | 
| 
       56 
     | 
    
         
            -
                 
     | 
| 
      
 57 
     | 
    
         
            +
                app.crittercism_disable_on_simulator_builds = true
         
     | 
| 
       57 
58 
     | 
    
         | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
      
 59 
     | 
    
         
            +
            If you want to manually upload your app's dSYM to Crittercism for symbolication,
         
     | 
| 
      
 60 
     | 
    
         
            +
            you can use the following Rake task:
         
     | 
| 
       60 
61 
     | 
    
         | 
| 
       61 
     | 
    
         
            -
             
     | 
| 
       62 
     | 
    
         
            -
            task :my_custom_deploy_task => ['archive:distribution', 'crittercism:upload_dsym']
         
     | 
| 
       63 
     | 
    
         
            -
            ```
         
     | 
| 
      
 62 
     | 
    
         
            +
                $ rake crittercism:upload_dsym
         
     | 
| 
       64 
63 
     | 
    
         | 
| 
       65 
64 
     | 
    
         
             
            <!--
         
     | 
| 
       66 
65 
     | 
    
         
             
            ## Development
         
     | 
    
        data/crittercism.gemspec
    CHANGED
    
    
    
        data/lib/crittercism.rb
    CHANGED
    
    | 
         @@ -1,18 +1,56 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            module  
     | 
| 
       2 
     | 
    
         
            -
               
     | 
| 
       3 
     | 
    
         
            -
                 
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
                 
     | 
| 
      
 1 
     | 
    
         
            +
            module Crittercism
         
     | 
| 
      
 2 
     | 
    
         
            +
              def self.platform(value = nil)
         
     | 
| 
      
 3 
     | 
    
         
            +
                @platform = value if value
         
     | 
| 
      
 4 
     | 
    
         
            +
                @platform ||= 'iPhoneOS'
         
     | 
| 
      
 5 
     | 
    
         
            +
                @platform
         
     | 
| 
       6 
6 
     | 
    
         
             
              end
         
     | 
| 
       7 
     | 
    
         
            -
            end
         
     | 
| 
       8 
7 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
                 
     | 
| 
      
 8 
     | 
    
         
            +
              def self.upload_dsym
         
     | 
| 
      
 9 
     | 
    
         
            +
                app_id = App.config.crittercism_app_id
         
     | 
| 
      
 10 
     | 
    
         
            +
                api_key = App.config.crittercism_api_key
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                unless app_id && api_key
         
     | 
| 
      
 13 
     | 
    
         
            +
                  App.warn 'Missing Crittercism keys, skipping dSYM upload.'
         
     | 
| 
      
 14 
     | 
    
         
            +
                  return
         
     | 
| 
      
 15 
     | 
    
         
            +
                end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                if platform =~ /Simulator/ && App.config.crittercism_disable_on_simulator_builds
         
     | 
| 
      
 18 
     | 
    
         
            +
                  App.info 'Crittercism', 'Skipping dSYM upload on simulator build.'
         
     | 
| 
      
 19 
     | 
    
         
            +
                  return
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                zip_dsym!
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                app_dsym = App.config.app_bundle_dsym(platform)
         
     | 
| 
      
 25 
     | 
    
         
            +
                upload_uri = "https://api.crittercism.com/api_beta/dsym/#{app_id}"
         
     | 
| 
      
 26 
     | 
    
         
            +
                command = "/usr/bin/curl #{upload_uri}"\
         
     | 
| 
      
 27 
     | 
    
         
            +
                             " --silent --output /dev/null -w '%{http_code}'"\
         
     | 
| 
      
 28 
     | 
    
         
            +
                             " -F dsym=@'#{app_dsym}.zip'"\
         
     | 
| 
      
 29 
     | 
    
         
            +
                             " -F key='#{api_key}'"
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                App.info 'Crittercism', 'Uploading dSYM to Crittercism...'
         
     | 
| 
      
 32 
     | 
    
         
            +
                output = %x[#{command}]
         
     | 
| 
      
 33 
     | 
    
         
            +
                if output =~ /^2\d+/
         
     | 
| 
      
 34 
     | 
    
         
            +
                  App.info 'Crittercism', 'Successfully uploaded dSYM to Crittercism.'
         
     | 
| 
      
 35 
     | 
    
         
            +
                else
         
     | 
| 
      
 36 
     | 
    
         
            +
                  p output
         
     | 
| 
      
 37 
     | 
    
         
            +
                  App.fail 'Failed to upload dSYM to Crittercism.'
         
     | 
| 
      
 38 
     | 
    
         
            +
                end
         
     | 
| 
       12 
39 
     | 
    
         
             
              end
         
     | 
| 
       13 
40 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
               
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
      
 41 
     | 
    
         
            +
              def self.zip_dsym!
         
     | 
| 
      
 42 
     | 
    
         
            +
                app_dsym = App.config.app_bundle_dsym(platform)
         
     | 
| 
      
 43 
     | 
    
         
            +
                App.info 'Crittercism', 'Zipping dSYM file...'
         
     | 
| 
      
 44 
     | 
    
         
            +
                App.fail "Could not find dSYM file at #{app_dsym}" unless File.exist?(app_dsym)
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                app_dsym_zip = app_dsym + '.zip'
         
     | 
| 
      
 47 
     | 
    
         
            +
                if !File.exist?(app_dsym_zip) or File.mtime(app_dsym) > File.mtime(app_dsym_zip)
         
     | 
| 
      
 48 
     | 
    
         
            +
                  Dir.chdir(File.dirname(app_dsym)) do
         
     | 
| 
      
 49 
     | 
    
         
            +
                    %x[/usr/bin/zip -q -r '#{File.basename(app_dsym)}.zip' '#{File.basename(app_dsym)}']
         
     | 
| 
      
 50 
     | 
    
         
            +
                  end
         
     | 
| 
      
 51 
     | 
    
         
            +
                end
         
     | 
| 
      
 52 
     | 
    
         
            +
              end
         
     | 
| 
       16 
53 
     | 
    
         
             
            end
         
     | 
| 
       17 
54 
     | 
    
         | 
| 
      
 55 
     | 
    
         
            +
            require "crittercism/rubymotion_extensions"
         
     | 
| 
       18 
56 
     | 
    
         
             
            require "crittercism/rake_tasks"
         
     | 
| 
         @@ -1,44 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            namespace :crittercism do
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
               
     | 
| 
       4 
     | 
    
         
            -
                 
     | 
| 
       5 
     | 
    
         
            -
                'iPhoneOS'
         
     | 
| 
       6 
     | 
    
         
            -
              end
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
              def app_dsym
         
     | 
| 
       9 
     | 
    
         
            -
                App.config.app_bundle(platform) + '.dSYM'
         
     | 
| 
       10 
     | 
    
         
            -
              end
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
              desc 'Zip .dSYM file'
         
     | 
| 
       13 
     | 
    
         
            -
              task :zip_dsym do
         
     | 
| 
       14 
     | 
    
         
            -
                puts 'Zipping dSYM file...'
         
     | 
| 
       15 
     | 
    
         
            -
                raise "Could not find dSYM file at #{app_dsym}" unless File.exist?(app_dsym)
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
                app_dsym_zip = app_dsym + '.zip'
         
     | 
| 
       18 
     | 
    
         
            -
                if !File.exist?(app_dsym_zip) or File.mtime(app_dsym) > File.mtime(app_dsym_zip)
         
     | 
| 
       19 
     | 
    
         
            -
                  Dir.chdir(File.dirname(app_dsym)) do
         
     | 
| 
       20 
     | 
    
         
            -
                    sh "/usr/bin/zip -q -r '#{File.basename(app_dsym)}.zip' '#{File.basename(app_dsym)}'"
         
     | 
| 
       21 
     | 
    
         
            -
                  end
         
     | 
| 
       22 
     | 
    
         
            -
                end
         
     | 
| 
       23 
     | 
    
         
            -
              end
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
              desc 'Submit .dSYM to Crittercism'
         
     | 
| 
       26 
     | 
    
         
            -
              task :upload_dsym => :zip_dsym do
         
     | 
| 
       27 
     | 
    
         
            -
                puts 'Submitting dSYM to Crittercism...'
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
                upload_uri = "https://api.crittercism.com/api_beta/dsym/#{App.config.crittercism_app_id}"
         
     | 
| 
       30 
     | 
    
         
            -
                command = "/usr/bin/curl #{upload_uri}"\
         
     | 
| 
       31 
     | 
    
         
            -
                             " --silent --output /dev/null -w '%{http_code}'"\
         
     | 
| 
       32 
     | 
    
         
            -
                             " -F dsym=@'#{app_dsym}.zip'"\
         
     | 
| 
       33 
     | 
    
         
            -
                             " -F key='#{App.config.crittercism_api_key}'"
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                output = %x[#{command}]
         
     | 
| 
       36 
     | 
    
         
            -
                if output =~ /^2\d+/
         
     | 
| 
       37 
     | 
    
         
            -
                  puts 'Successfully uploaded dSYM to Crittercism.'
         
     | 
| 
       38 
     | 
    
         
            -
                else
         
     | 
| 
       39 
     | 
    
         
            -
                  puts 'Failed to upload dSYM to Crittercism.'
         
     | 
| 
       40 
     | 
    
         
            -
                  p output
         
     | 
| 
       41 
     | 
    
         
            -
                  exit 1
         
     | 
| 
       42 
     | 
    
         
            -
                end
         
     | 
| 
      
 2 
     | 
    
         
            +
              desc 'Upload dSYM file to Crittercism'
         
     | 
| 
      
 3 
     | 
    
         
            +
              task :upload_dsym do
         
     | 
| 
      
 4 
     | 
    
         
            +
                Crittercism.upload_dsym
         
     | 
| 
       43 
5 
     | 
    
         
             
              end
         
     | 
| 
       44 
6 
     | 
    
         
             
            end
         
     | 
| 
         @@ -0,0 +1,34 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Crittercism
         
     | 
| 
      
 2 
     | 
    
         
            +
              module BuilderExtensions
         
     | 
| 
      
 3 
     | 
    
         
            +
                def build(config, platform, opts)
         
     | 
| 
      
 4 
     | 
    
         
            +
                  super
         
     | 
| 
      
 5 
     | 
    
         
            +
                  Crittercism.platform(platform)
         
     | 
| 
      
 6 
     | 
    
         
            +
                  Crittercism.upload_dsym
         
     | 
| 
      
 7 
     | 
    
         
            +
                end
         
     | 
| 
      
 8 
     | 
    
         
            +
              end
         
     | 
| 
      
 9 
     | 
    
         
            +
            end
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            module Motion
         
     | 
| 
      
 12 
     | 
    
         
            +
              module Project
         
     | 
| 
      
 13 
     | 
    
         
            +
                class Builder
         
     | 
| 
      
 14 
     | 
    
         
            +
                  prepend Crittercism::BuilderExtensions
         
     | 
| 
      
 15 
     | 
    
         
            +
                end
         
     | 
| 
      
 16 
     | 
    
         
            +
              end
         
     | 
| 
      
 17 
     | 
    
         
            +
            end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            module Motion
         
     | 
| 
      
 20 
     | 
    
         
            +
              module Project
         
     | 
| 
      
 21 
     | 
    
         
            +
                class Config
         
     | 
| 
      
 22 
     | 
    
         
            +
                  variable :crittercism_app_id, :crittercism_api_key, :crittercism_disable_on_simulator_builds
         
     | 
| 
      
 23 
     | 
    
         
            +
                end
         
     | 
| 
      
 24 
     | 
    
         
            +
              end
         
     | 
| 
      
 25 
     | 
    
         
            +
            end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            Motion::Project::App.setup do |app|
         
     | 
| 
      
 28 
     | 
    
         
            +
              app.pods do
         
     | 
| 
      
 29 
     | 
    
         
            +
                pod 'CrittercismSDK', '~> 5.4.0'
         
     | 
| 
      
 30 
     | 
    
         
            +
              end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
              # TODO: add runtime support for fetching configured App ID
         
     | 
| 
      
 33 
     | 
    
         
            +
              # app.files << 'rubymotion_lib/crittercism.rb'
         
     | 
| 
      
 34 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: crittercism
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.2.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Andrew Havens
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2015-11- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2015-11-06 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: motion-cocoapods
         
     | 
| 
         @@ -85,6 +85,7 @@ files: 
     | 
|
| 
       85 
85 
     | 
    
         
             
            - crittercism.gemspec
         
     | 
| 
       86 
86 
     | 
    
         
             
            - lib/crittercism.rb
         
     | 
| 
       87 
87 
     | 
    
         
             
            - lib/crittercism/rake_tasks.rb
         
     | 
| 
      
 88 
     | 
    
         
            +
            - lib/crittercism/rubymotion_extensions.rb
         
     | 
| 
       88 
89 
     | 
    
         
             
            - rubymotion_lib/crittercism.rb
         
     | 
| 
       89 
90 
     | 
    
         
             
            homepage: https://github.com/andrewhavens/crittercism
         
     | 
| 
       90 
91 
     | 
    
         
             
            licenses:
         
     |