simple_worker 0.6.2 → 0.6.3
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.
- data/README.markdown +19 -0
- data/lib/simple_worker/base.rb +13 -1
- data/lib/simple_worker/service.rb +15 -2
- data/lib/simple_worker.rb +3 -1
- metadata +4 -18
    
        data/README.markdown
    CHANGED
    
    | @@ -20,6 +20,20 @@ You really just need your access keys. | |
| 20 20 | 
             
                    config.secret_key = SECRET_KEY
         | 
| 21 21 | 
             
                end
         | 
| 22 22 |  | 
| 23 | 
            +
             | 
| 24 | 
            +
            Configure SimpleWorker in Rails
         | 
| 25 | 
            +
            ----------------------
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            If you're using Rails you could set additional config option - "auto_merge=true".
         | 
| 28 | 
            +
            It will automatically merge all models,mailers,gems and database configuration from your Rails app.
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                SimpleWorker.configure do |config|
         | 
| 31 | 
            +
                    config.access_key = ACCESS_KEY
         | 
| 32 | 
            +
                    config.secret_key = SECRET_KEY
         | 
| 33 | 
            +
                    config.auto_merge = true
         | 
| 34 | 
            +
                end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
             | 
| 23 37 | 
             
            Write a Worker
         | 
| 24 38 | 
             
            --------------
         | 
| 25 39 |  | 
| @@ -211,6 +225,11 @@ Or simpler yet, try using relative paths: | |
| 211 225 | 
             
                merge "../models/user"
         | 
| 212 226 | 
             
                merge "../models/account.rb"
         | 
| 213 227 |  | 
| 228 | 
            +
            Also you could use wildcards and path in merge_folder
         | 
| 229 | 
            +
             | 
| 230 | 
            +
                merge_folder "./foldername/"     #will merge all *.rb files from foldername
         | 
| 231 | 
            +
                merge_folder "../lib/**/"        # will merge all *.rb files from lib and all subdirectories
         | 
| 232 | 
            +
             | 
| 214 233 | 
             
            The opposite can be done as well with "unmerge" and can be useful when using Rails to exclude classes that are automatically
         | 
| 215 234 | 
             
            merged.
         | 
| 216 235 |  | 
    
        data/lib/simple_worker/base.rb
    CHANGED
    
    | @@ -13,6 +13,7 @@ module SimpleWorker | |
| 13 13 | 
             
                  @merged_workers = []
         | 
| 14 14 | 
             
                  @merged_gems = []
         | 
| 15 15 | 
             
                  @merged_mailers = []
         | 
| 16 | 
            +
                  @merged_folders = {}
         | 
| 16 17 | 
             
                  @unmerged = []
         | 
| 17 18 |  | 
| 18 19 | 
             
                  def reset!
         | 
| @@ -20,6 +21,7 @@ module SimpleWorker | |
| 20 21 | 
             
                    @merged_workers = []
         | 
| 21 22 | 
             
                    @merged_gems = []
         | 
| 22 23 | 
             
                    @merged_mailers = []
         | 
| 24 | 
            +
                    @merged_folders = {}
         | 
| 23 25 | 
             
                    @unmerged = []
         | 
| 24 26 | 
             
                  end
         | 
| 25 27 |  | 
| @@ -86,6 +88,15 @@ module SimpleWorker | |
| 86 88 | 
             
                    @merged_mailers << {:name=>basename, :path_to_templates=>path_to_templates, :filename => mailer}.merge!(params)
         | 
| 87 89 | 
             
                  end
         | 
| 88 90 |  | 
| 91 | 
            +
                  def merge_folder(path)
         | 
| 92 | 
            +
                    files = []
         | 
| 93 | 
            +
                    Dir["#{path}*.rb"].each do |f|
         | 
| 94 | 
            +
                      f = check_for_file(f)
         | 
| 95 | 
            +
                      files<<f
         | 
| 96 | 
            +
                    end
         | 
| 97 | 
            +
                    @merged_folders[path]=files unless files.empty?
         | 
| 98 | 
            +
                    SimpleWorker.logger.info  "Merged folders! #{@merged_folders.inspect}"
         | 
| 99 | 
            +
                  end
         | 
| 89 100 | 
             
                  # merges the specified files.
         | 
| 90 101 | 
             
                  # todo: don't allow multiple files per merge, just one like require
         | 
| 91 102 | 
             
                  def merge(*files)
         | 
| @@ -326,6 +337,7 @@ module SimpleWorker | |
| 326 337 | 
             
                    unmerged = self.class.instance_variable_get(:@unmerged)
         | 
| 327 338 | 
             
                    merged_gems = self.class.instance_variable_get(:@merged_gems)
         | 
| 328 339 | 
             
                    merged_mailers = self.class.instance_variable_get(:@merged_mailers)
         | 
| 340 | 
            +
                    merged_folders = self.class.instance_variable_get(:@merged_folders)
         | 
| 329 341 | 
             
            #        puts 'merged1=' + merged.inspect
         | 
| 330 342 |  | 
| 331 343 | 
             
                    subclass = self.class
         | 
| @@ -357,7 +369,7 @@ module SimpleWorker | |
| 357 369 | 
             
                    end
         | 
| 358 370 | 
             
                    merged.uniq!
         | 
| 359 371 | 
             
                    merged_mailers.uniq!
         | 
| 360 | 
            -
                    SimpleWorker.service.upload(rfile, subclass.name, :merge=>merged, :unmerge=>unmerged, :merged_gems=>merged_gems, :merged_mailers=>merged_mailers)
         | 
| 372 | 
            +
                    SimpleWorker.service.upload(rfile, subclass.name, :merge=>merged, :unmerge=>unmerged, :merged_gems=>merged_gems, :merged_mailers=>merged_mailers,:merged_folders=>merged_folders)
         | 
| 361 373 | 
             
                    self.class.instance_variable_set(:@uploaded, true)
         | 
| 362 374 | 
             
                  else
         | 
| 363 375 | 
             
                    SimpleWorker.logger.debug 'Already uploaded for ' + self.class.name
         | 
| @@ -52,7 +52,7 @@ module SimpleWorker | |
| 52 52 | 
             
                  end
         | 
| 53 53 |  | 
| 54 54 |  | 
| 55 | 
            -
                  zip_filename = build_merged_file(filename, options[:merge], options[:unmerge], options[:merged_gems], options[:merged_mailers])
         | 
| 55 | 
            +
                  zip_filename = build_merged_file(filename, options[:merge], options[:unmerge], options[:merged_gems], options[:merged_mailers], options[:merged_folders])
         | 
| 56 56 |  | 
| 57 57 | 
             
            #            sys.classes[subclass].__file__
         | 
| 58 58 | 
             
            #            puts '__FILE__=' + Base.subclass.__file__.to_s
         | 
| @@ -97,7 +97,7 @@ module SimpleWorker | |
| 97 97 | 
             
                  end
         | 
| 98 98 | 
             
                end
         | 
| 99 99 |  | 
| 100 | 
            -
                def build_merged_file(filename, merge, unmerge, merged_gems, merged_mailers)
         | 
| 100 | 
            +
                def build_merged_file(filename, merge, unmerge, merged_gems, merged_mailers,merged_folders)
         | 
| 101 101 | 
             
            #      unless (merge && merge.size > 0) || (merged_gems && merged_gems.size > 0)
         | 
| 102 102 | 
             
            #        return filename
         | 
| 103 103 | 
             
            #      end
         | 
| @@ -168,7 +168,20 @@ module SimpleWorker | |
| 168 168 | 
             
                          raise "Gem #{gem[:name]} #{gem[:version]} was not found."
         | 
| 169 169 | 
             
                        end
         | 
| 170 170 | 
             
                      end
         | 
| 171 | 
            +
                      end
         | 
| 172 | 
            +
                    if merged_folders && merged_folders.size > 0
         | 
| 173 | 
            +
                      merged_folders.each do |folder, files|
         | 
| 174 | 
            +
                        SimpleWorker.logger.debug "Collecting folder #{folder}"
         | 
| 175 | 
            +
                        if files and files.size>0
         | 
| 176 | 
            +
                          files.each do |file|
         | 
| 177 | 
            +
                            zdest = "#{Digest::MD5.hexdigest(folder)}/#{file.sub(':','_').sub('/','_')}"
         | 
| 178 | 
            +
                            puts 'put file to=' + zdest
         | 
| 179 | 
            +
                            f.add(zdest, file)
         | 
| 180 | 
            +
                          end
         | 
| 181 | 
            +
                        end
         | 
| 182 | 
            +
                      end
         | 
| 171 183 | 
             
                    end
         | 
| 184 | 
            +
             | 
| 172 185 | 
             
                    merge.each do |m|
         | 
| 173 186 | 
             
            #          puts "merging #{m} into #{filename}"
         | 
| 174 187 | 
             
                      f.add(File.basename(m), m)
         | 
    
        data/lib/simple_worker.rb
    CHANGED
    
    | @@ -15,7 +15,9 @@ module SimpleWorker | |
| 15 15 |  | 
| 16 16 | 
             
                def configure()
         | 
| 17 17 | 
             
                  yield(config)
         | 
| 18 | 
            -
                   | 
| 18 | 
            +
                  if config && config.access_key && config.secret_key
         | 
| 19 | 
            +
                    SimpleWorker.service ||= Service.new(config.access_key, config.secret_key, :config=>config)
         | 
| 20 | 
            +
                  end
         | 
| 19 21 | 
             
                end
         | 
| 20 22 |  | 
| 21 23 | 
             
                def config
         | 
    
        metadata
    CHANGED
    
    | @@ -1,12 +1,8 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: simple_worker
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              prerelease:  | 
| 5 | 
            -
               | 
| 6 | 
            -
              - 0
         | 
| 7 | 
            -
              - 6
         | 
| 8 | 
            -
              - 2
         | 
| 9 | 
            -
              version: 0.6.2
         | 
| 4 | 
            +
              prerelease: 
         | 
| 5 | 
            +
              version: 0.6.3
         | 
| 10 6 | 
             
            platform: ruby
         | 
| 11 7 | 
             
            authors: 
         | 
| 12 8 | 
             
            - Travis Reeder
         | 
| @@ -14,8 +10,7 @@ autorequire: | |
| 14 10 | 
             
            bindir: bin
         | 
| 15 11 | 
             
            cert_chain: []
         | 
| 16 12 |  | 
| 17 | 
            -
            date: 2011- | 
| 18 | 
            -
            default_executable: 
         | 
| 13 | 
            +
            date: 2011-06-07 00:00:00 Z
         | 
| 19 14 | 
             
            dependencies: 
         | 
| 20 15 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 21 16 | 
             
              name: zip
         | 
| @@ -25,8 +20,6 @@ dependencies: | |
| 25 20 | 
             
                requirements: 
         | 
| 26 21 | 
             
                - - ">="
         | 
| 27 22 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 28 | 
            -
                    segments: 
         | 
| 29 | 
            -
                    - 0
         | 
| 30 23 | 
             
                    version: "0"
         | 
| 31 24 | 
             
              type: :runtime
         | 
| 32 25 | 
             
              version_requirements: *id001
         | 
| @@ -38,8 +31,6 @@ dependencies: | |
| 38 31 | 
             
                requirements: 
         | 
| 39 32 | 
             
                - - ">="
         | 
| 40 33 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 41 | 
            -
                    segments: 
         | 
| 42 | 
            -
                    - 0
         | 
| 43 34 | 
             
                    version: "0"
         | 
| 44 35 | 
             
              type: :runtime
         | 
| 45 36 | 
             
              version_requirements: *id002
         | 
| @@ -62,7 +53,6 @@ files: | |
| 62 53 | 
             
            - lib/simple_worker/used_in_worker.rb
         | 
| 63 54 | 
             
            - rails/init.rb
         | 
| 64 55 | 
             
            - README.markdown
         | 
| 65 | 
            -
            has_rdoc: true
         | 
| 66 56 | 
             
            homepage: http://github.com/appoxy/simple_worker
         | 
| 67 57 | 
             
            licenses: []
         | 
| 68 58 |  | 
| @@ -76,21 +66,17 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 76 66 | 
             
              requirements: 
         | 
| 77 67 | 
             
              - - ">="
         | 
| 78 68 | 
             
                - !ruby/object:Gem::Version 
         | 
| 79 | 
            -
                  segments: 
         | 
| 80 | 
            -
                  - 0
         | 
| 81 69 | 
             
                  version: "0"
         | 
| 82 70 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 83 71 | 
             
              none: false
         | 
| 84 72 | 
             
              requirements: 
         | 
| 85 73 | 
             
              - - ">="
         | 
| 86 74 | 
             
                - !ruby/object:Gem::Version 
         | 
| 87 | 
            -
                  segments: 
         | 
| 88 | 
            -
                  - 0
         | 
| 89 75 | 
             
                  version: "0"
         | 
| 90 76 | 
             
            requirements: []
         | 
| 91 77 |  | 
| 92 78 | 
             
            rubyforge_project: 
         | 
| 93 | 
            -
            rubygems_version: 1. | 
| 79 | 
            +
            rubygems_version: 1.7.2
         | 
| 94 80 | 
             
            signing_key: 
         | 
| 95 81 | 
             
            specification_version: 3
         | 
| 96 82 | 
             
            summary: The official SimpleWorker gem for http://www.simpleworker.com
         |