merb 0.3.4 → 0.3.7
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 +206 -197
 - data/Rakefile +12 -21
 - data/bin/merb +1 -1
 - data/examples/skeleton/Rakefile +6 -20
 - data/examples/skeleton/dist/app/mailers/layout/application.erb +1 -0
 - data/examples/skeleton/dist/conf/database.yml +23 -0
 - data/examples/skeleton/dist/conf/environments/development.rb +1 -0
 - data/examples/skeleton/dist/conf/environments/production.rb +1 -0
 - data/examples/skeleton/dist/conf/environments/test.rb +1 -0
 - data/examples/skeleton/dist/conf/merb.yml +32 -28
 - data/examples/skeleton/dist/conf/merb_init.rb +16 -13
 - data/examples/skeleton/dist/conf/router.rb +9 -9
 - data/examples/skeleton/dist/schema/migrations/001_add_sessions_table.rb +2 -2
 - data/lib/merb.rb +23 -18
 - data/lib/merb/caching/fragment_cache.rb +3 -7
 - data/lib/merb/caching/store/memcache.rb +20 -0
 - data/lib/merb/core_ext/merb_array.rb +0 -0
 - data/lib/merb/core_ext/merb_class.rb +44 -4
 - data/lib/merb/core_ext/merb_enumerable.rb +43 -1
 - data/lib/merb/core_ext/merb_hash.rb +200 -122
 - data/lib/merb/core_ext/merb_kernel.rb +2 -0
 - data/lib/merb/core_ext/merb_module.rb +41 -0
 - data/lib/merb/core_ext/merb_numeric.rb +57 -5
 - data/lib/merb/core_ext/merb_object.rb +172 -6
 - data/lib/merb/generators/merb_app/merb_app.rb +15 -9
 - data/lib/merb/merb_abstract_controller.rb +193 -0
 - data/lib/merb/merb_constants.rb +26 -1
 - data/lib/merb/merb_controller.rb +143 -234
 - data/lib/merb/merb_dispatcher.rb +28 -20
 - data/lib/merb/merb_drb_server.rb +2 -3
 - data/lib/merb/merb_exceptions.rb +194 -49
 - data/lib/merb/merb_handler.rb +34 -26
 - data/lib/merb/merb_mail_controller.rb +200 -0
 - data/lib/merb/merb_mailer.rb +33 -13
 - data/lib/merb/merb_part_controller.rb +42 -0
 - data/lib/merb/merb_plugins.rb +293 -0
 - data/lib/merb/merb_request.rb +6 -4
 - data/lib/merb/merb_router.rb +99 -65
 - data/lib/merb/merb_server.rb +65 -21
 - data/lib/merb/merb_upload_handler.rb +2 -1
 - data/lib/merb/merb_view_context.rb +36 -15
 - data/lib/merb/mixins/basic_authentication_mixin.rb +5 -5
 - data/lib/merb/mixins/controller_mixin.rb +67 -28
 - data/lib/merb/mixins/erubis_capture_mixin.rb +1 -8
 - data/lib/merb/mixins/form_control_mixin.rb +280 -42
 - data/lib/merb/mixins/render_mixin.rb +127 -45
 - data/lib/merb/mixins/responder_mixin.rb +5 -7
 - data/lib/merb/mixins/view_context_mixin.rb +260 -94
 - data/lib/merb/session.rb +23 -0
 - data/lib/merb/session/merb_ar_session.rb +28 -16
 - data/lib/merb/session/merb_mem_cache_session.rb +108 -0
 - data/lib/merb/session/merb_memory_session.rb +65 -20
 - data/lib/merb/template/erubis.rb +22 -13
 - data/lib/merb/template/haml.rb +5 -16
 - data/lib/merb/template/markaby.rb +5 -3
 - data/lib/merb/template/xml_builder.rb +17 -5
 - data/lib/merb/test/merb_fake_request.rb +63 -0
 - data/lib/merb/test/merb_multipart.rb +58 -0
 - data/lib/tasks/db.rake +2 -0
 - data/lib/tasks/merb.rake +20 -8
 - metadata +24 -25
 - data/examples/skeleton.tar +0 -0
 
| 
         @@ -1,17 +1,29 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            begin
         
     | 
| 
      
 2 
     | 
    
         
            +
              require 'builder'
         
     | 
| 
      
 3 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 4 
     | 
    
         
            +
              puts "you must install the builder gem to use .rxml templates"
         
     | 
| 
      
 5 
     | 
    
         
            +
            end
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
       1 
7 
     | 
    
         
             
            module Merb
         
     | 
| 
       2 
8 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
              module Template
         
     | 
| 
       4 
     | 
    
         
            -
                
         
     | 
| 
      
 9 
     | 
    
         
            +
              module Template # :nodoc:
         
     | 
| 
      
 10 
     | 
    
         
            +
                # A module to allow you to use Builder["http://builder.rubyforge.org/"] templates in your Merb applications.
         
     | 
| 
      
 11 
     | 
    
         
            +
                # Your Builder templates must end in .rxml, .xerb, or .builder for Merb to use them.
         
     | 
| 
       5 
12 
     | 
    
         
             
                module XMLBuilder
         
     | 
| 
       6 
13 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
                  ::Merb:: 
     | 
| 
      
 14 
     | 
    
         
            +
                  ::Merb::AbstractController.register_engine self, %w[ rxml xerb builder]
         
     | 
| 
       8 
15 
     | 
    
         | 
| 
       9 
16 
     | 
    
         
             
                  class << self
         
     | 
| 
       10 
17 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
                    def exempt_from_layout?
         
     | 
| 
      
 18 
     | 
    
         
            +
                    def exempt_from_layout? # :nodoc:
         
     | 
| 
       12 
19 
     | 
    
         
             
                      true    
         
     | 
| 
       13 
20 
     | 
    
         
             
                    end
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                    # Main method to run the Builder template.
         
     | 
| 
      
 23 
     | 
    
         
            +
                    # 
         
     | 
| 
      
 24 
     | 
    
         
            +
                    # In Builder's case, it sets the content type and encoding, 
         
     | 
| 
      
 25 
     | 
    
         
            +
                    # executes the Builder template by feeding it to <tt>Builder::XmlMarkup.new</tt>, 
         
     | 
| 
      
 26 
     | 
    
         
            +
                    # then calls <tt>target!</tt> on the<tt>Builder::XmlMarkup</tt> instance to get its XML output.   
         
     | 
| 
       15 
27 
     | 
    
         
             
                    def transform(options = {})
         
     | 
| 
       16 
28 
     | 
    
         
             
                      opts, file, view_context = options.values_at(:opts, :file, :view_context)
         
     | 
| 
       17 
29 
     | 
    
         
             
                      xml_body = IO.read(file) 
         
     | 
| 
         @@ -0,0 +1,63 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Merb
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Test
         
     | 
| 
      
 3 
     | 
    
         
            +
                # FakeRequest sets up a default enviroment which can be overridden either
         
     | 
| 
      
 4 
     | 
    
         
            +
                # by passing and env into initialize or using request['HTTP_VAR'] = 'foo' 
         
     | 
| 
      
 5 
     | 
    
         
            +
                class FakeRequest < Request
         
     | 
| 
      
 6 
     | 
    
         
            +
                  attr_reader :req
         
     | 
| 
      
 7 
     | 
    
         
            +
                  alias :body :req
         
     | 
| 
      
 8 
     | 
    
         
            +
                  alias :params :env
         
     | 
| 
      
 9 
     | 
    
         
            +
                  alias :to_hash :env
         
     | 
| 
      
 10 
     | 
    
         
            +
                
         
     | 
| 
      
 11 
     | 
    
         
            +
                  def initialize(env = {}, method = 'GET', req = StringIO.new)
         
     | 
| 
      
 12 
     | 
    
         
            +
                    env[:http_cookie] = env.delete(:cookies) if env[:cookies]
         
     | 
| 
      
 13 
     | 
    
         
            +
                    env.environmentize_keys!
         
     | 
| 
      
 14 
     | 
    
         
            +
                    super(DEFAULT_ENV.dup.merge(env), method, req)
         
     | 
| 
      
 15 
     | 
    
         
            +
                    self.post_body = ''
         
     | 
| 
      
 16 
     | 
    
         
            +
                  end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                  def self.with(path, options = {})
         
     | 
| 
      
 19 
     | 
    
         
            +
                    options.environmentize_keys!
         
     | 
| 
      
 20 
     | 
    
         
            +
                    new({'REQUEST_URI' => path,
         
     | 
| 
      
 21 
     | 
    
         
            +
                         'PATH_INFO' => path.sub(/\?.*$/,'')}.merge(options))
         
     | 
| 
      
 22 
     | 
    
         
            +
                  end
         
     | 
| 
      
 23 
     | 
    
         
            +
              
         
     | 
| 
      
 24 
     | 
    
         
            +
                  def post_body=(post)
         
     | 
| 
      
 25 
     | 
    
         
            +
                    @req = StringIO.new(post)
         
     | 
| 
      
 26 
     | 
    
         
            +
                  end  
         
     | 
| 
      
 27 
     | 
    
         
            +
                
         
     | 
| 
      
 28 
     | 
    
         
            +
                  def [](key)
         
     | 
| 
      
 29 
     | 
    
         
            +
                    @env[key]
         
     | 
| 
      
 30 
     | 
    
         
            +
                  end
         
     | 
| 
      
 31 
     | 
    
         
            +
              
         
     | 
| 
      
 32 
     | 
    
         
            +
                  def []=(key, value)
         
     | 
| 
      
 33 
     | 
    
         
            +
                    @env[key] = value
         
     | 
| 
      
 34 
     | 
    
         
            +
                  end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                
         
     | 
| 
      
 37 
     | 
    
         
            +
                  private    
         
     | 
| 
      
 38 
     | 
    
         
            +
                  DEFAULT_ENV = {
         
     | 
| 
      
 39 
     | 
    
         
            +
                    'SERVER_NAME' => 'localhost',
         
     | 
| 
      
 40 
     | 
    
         
            +
                    'PATH_INFO' => '/',
         
     | 
| 
      
 41 
     | 
    
         
            +
                    'HTTP_ACCEPT_ENCODING' => 'gzip,deflate',
         
     | 
| 
      
 42 
     | 
    
         
            +
                    'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060214 Camino/1.0',
         
     | 
| 
      
 43 
     | 
    
         
            +
                    'SCRIPT_NAME' => '/',
         
     | 
| 
      
 44 
     | 
    
         
            +
                    'SERVER_PROTOCOL' => 'HTTP/1.1',
         
     | 
| 
      
 45 
     | 
    
         
            +
                    'HTTP_CACHE_CONTROL' => 'max-age=0',
         
     | 
| 
      
 46 
     | 
    
         
            +
                    'HTTP_ACCEPT_LANGUAGE' => 'en,ja;q=0.9,fr;q=0.9,de;q=0.8,es;q=0.7,it;q=0.7,nl;q=0.6,sv;q=0.5,nb;q=0.5,da;q=0.4,fi;q=0.3,pt;q=0.3,zh-Hans;q=0.2,zh-Hant;q=0.1,ko;q=0.1',
         
     | 
| 
      
 47 
     | 
    
         
            +
                    'HTTP_HOST' => 'localhost',
         
     | 
| 
      
 48 
     | 
    
         
            +
                    'REMOTE_ADDR' => '127.0.0.1',
         
     | 
| 
      
 49 
     | 
    
         
            +
                    'SERVER_SOFTWARE' => 'Mongrel 1.1',
         
     | 
| 
      
 50 
     | 
    
         
            +
                    'HTTP_KEEP_ALIVE' => '300',
         
     | 
| 
      
 51 
     | 
    
         
            +
                    'HTTP_REFERER' => 'http://localhost/',
         
     | 
| 
      
 52 
     | 
    
         
            +
                    'HTTP_ACCEPT_CHARSET' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
         
     | 
| 
      
 53 
     | 
    
         
            +
                    'HTTP_VERSION' => 'HTTP/1.1',
         
     | 
| 
      
 54 
     | 
    
         
            +
                    'REQUEST_URI' => '/',
         
     | 
| 
      
 55 
     | 
    
         
            +
                    'SERVER_PORT' => '80',
         
     | 
| 
      
 56 
     | 
    
         
            +
                    'GATEWAY_INTERFACE' => 'CGI/1.2',
         
     | 
| 
      
 57 
     | 
    
         
            +
                    'HTTP_ACCEPT' => 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
         
     | 
| 
      
 58 
     | 
    
         
            +
                    'HTTP_CONNECTION' => 'keep-alive',
         
     | 
| 
      
 59 
     | 
    
         
            +
                    'REQUEST_METHOD' => 'GET'      
         
     | 
| 
      
 60 
     | 
    
         
            +
                  }
         
     | 
| 
      
 61 
     | 
    
         
            +
                end
         
     | 
| 
      
 62 
     | 
    
         
            +
              end
         
     | 
| 
      
 63 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,58 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Merb
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Test
         
     | 
| 
      
 3 
     | 
    
         
            +
                module Multipart
         
     | 
| 
      
 4 
     | 
    
         
            +
                  require 'rubygems'
         
     | 
| 
      
 5 
     | 
    
         
            +
                  require 'mime/types'
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                  class Param
         
     | 
| 
      
 8 
     | 
    
         
            +
                    attr_accessor :key, :value
         
     | 
| 
      
 9 
     | 
    
         
            +
                    def initialize(key, value)
         
     | 
| 
      
 10 
     | 
    
         
            +
                      @key   = key
         
     | 
| 
      
 11 
     | 
    
         
            +
                      @value = value
         
     | 
| 
      
 12 
     | 
    
         
            +
                    end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                    def to_multipart
         
     | 
| 
      
 15 
     | 
    
         
            +
                      return %(Content-Disposition: form-data; name="#{key}"\r\n\r\n#{value}\r\n)
         
     | 
| 
      
 16 
     | 
    
         
            +
                    end
         
     | 
| 
      
 17 
     | 
    
         
            +
                  end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                  class FileParam
         
     | 
| 
      
 20 
     | 
    
         
            +
                    attr_accessor :key, :filename, :content
         
     | 
| 
      
 21 
     | 
    
         
            +
                    def initialize(key, filename, content)
         
     | 
| 
      
 22 
     | 
    
         
            +
                      @key      = key
         
     | 
| 
      
 23 
     | 
    
         
            +
                      @filename = filename
         
     | 
| 
      
 24 
     | 
    
         
            +
                      @content  = content
         
     | 
| 
      
 25 
     | 
    
         
            +
                    end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                    def to_multipart
         
     | 
| 
      
 28 
     | 
    
         
            +
                      return %(Content-Disposition: form-data; name="#{key}"; filename="#{filename}"\r\n) + "Content-Type: #{MIME::Types.type_for(@filename)}\r\n\r\n" + content + "\r\n"
         
     | 
| 
      
 29 
     | 
    
         
            +
                    end
         
     | 
| 
      
 30 
     | 
    
         
            +
                  end
         
     | 
| 
      
 31 
     | 
    
         
            +
                  
         
     | 
| 
      
 32 
     | 
    
         
            +
                  class Post
         
     | 
| 
      
 33 
     | 
    
         
            +
                    BOUNDARY = '----------0xKhTmLbOuNdArY'
         
     | 
| 
      
 34 
     | 
    
         
            +
                    CONTENT_TYPE = "multipart/form-data, boundary=" + BOUNDARY
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                    def initialize(params = {})
         
     | 
| 
      
 37 
     | 
    
         
            +
                      @multipart_params = []
         
     | 
| 
      
 38 
     | 
    
         
            +
                      push_params(params)
         
     | 
| 
      
 39 
     | 
    
         
            +
                    end
         
     | 
| 
      
 40 
     | 
    
         
            +
                    
         
     | 
| 
      
 41 
     | 
    
         
            +
                    def push_params(params)
         
     | 
| 
      
 42 
     | 
    
         
            +
                      params.each do |key, value|
         
     | 
| 
      
 43 
     | 
    
         
            +
                        if value.respond_to?(:read)
         
     | 
| 
      
 44 
     | 
    
         
            +
                          @multipart_params << FileParam.new(key, value.path, value.read)
         
     | 
| 
      
 45 
     | 
    
         
            +
                        else
         
     | 
| 
      
 46 
     | 
    
         
            +
                          @multipart_params << Param.new(key, value)
         
     | 
| 
      
 47 
     | 
    
         
            +
                        end
         
     | 
| 
      
 48 
     | 
    
         
            +
                      end
         
     | 
| 
      
 49 
     | 
    
         
            +
                    end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                    def to_multipart
         
     | 
| 
      
 52 
     | 
    
         
            +
                      query = @multipart_params.collect { |param| "--" + BOUNDARY + "\r\n" + param.to_multipart }.join("") + "--" + BOUNDARY + "--"
         
     | 
| 
      
 53 
     | 
    
         
            +
                      return query, CONTENT_TYPE
         
     | 
| 
      
 54 
     | 
    
         
            +
                    end
         
     | 
| 
      
 55 
     | 
    
         
            +
                  end  
         
     | 
| 
      
 56 
     | 
    
         
            +
                end    
         
     | 
| 
      
 57 
     | 
    
         
            +
              end
         
     | 
| 
      
 58 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/tasks/db.rake
    CHANGED
    
    | 
         @@ -4,6 +4,8 @@ desc "Setup the Merb Environment by requiring merb and loading your merb_init.rb 
     | 
|
| 
       4 
4 
     | 
    
         
             
            task :merb_env do
         
     | 
| 
       5 
5 
     | 
    
         
             
              require 'rubygems'
         
     | 
| 
       6 
6 
     | 
    
         
             
              require 'merb'
         
     | 
| 
      
 7 
     | 
    
         
            +
              Merb::Server.config[:environment] = ENV['MERB_ENV'] if ENV['MERB_ENV']
         
     | 
| 
      
 8 
     | 
    
         
            +
              MERB_ENV  = Merb::Server.config[:environment].nil? ? 'development' : Merb::Server.config[:environment]
         
     | 
| 
       7 
9 
     | 
    
         
             
              load MERB_ROOT+'/dist/conf/merb_init.rb'
         
     | 
| 
       8 
10 
     | 
    
         
             
            end
         
     | 
| 
       9 
11 
     | 
    
         | 
    
        data/lib/tasks/merb.rake
    CHANGED
    
    | 
         @@ -1,13 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            def install_merb_script
         
     | 
| 
      
 2 
     | 
    
         
            +
              script_filepath = MERB_ROOT / 'script/merb'
         
     | 
| 
      
 3 
     | 
    
         
            +
              FileUtils.rm script_filepath if File.exist? script_filepath
         
     | 
| 
      
 4 
     | 
    
         
            +
              tmpl = "#!/usr/bin/env ruby\nrequire File.expand_path(File.dirname(__FILE__)+'/../dist/framework/merb/merb_server')\nMerb::Server.run\n"
         
     | 
| 
      
 5 
     | 
    
         
            +
              File.open(script_filepath, 'wb') {|f|
         
     | 
| 
      
 6 
     | 
    
         
            +
                f.write tmpl 
         
     | 
| 
      
 7 
     | 
    
         
            +
                f.chmod(0744)
         
     | 
| 
      
 8 
     | 
    
         
            +
              }
         
     | 
| 
      
 9 
     | 
    
         
            +
            end
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
       1 
11 
     | 
    
         
             
            namespace :merb do
         
     | 
| 
       2 
12 
     | 
    
         
             
              desc "freeze the merb framework into dist/merb for portability"
         
     | 
| 
       3 
13 
     | 
    
         
             
              task :freeze do
         
     | 
| 
       4 
14 
     | 
    
         
             
                FileUtils.rm_rf MERB_ROOT / 'dist/framework'
         
     | 
| 
       5 
15 
     | 
    
         
             
                FileUtils.cp_r MERB_FRAMEWORK_ROOT, (MERB_ROOT / 'dist/framework')
         
     | 
| 
       6 
     | 
    
         
            -
                 
     | 
| 
       7 
     | 
    
         
            -
                File.open(MERB_ROOT / 'script/merb', 'wb') {|f|
         
     | 
| 
       8 
     | 
    
         
            -
                  f.write tmpl 
         
     | 
| 
       9 
     | 
    
         
            -
                  f.chmod(0744)
         
     | 
| 
       10 
     | 
    
         
            -
                }
         
     | 
| 
      
 16 
     | 
    
         
            +
                install_merb_script
         
     | 
| 
       11 
17 
     | 
    
         | 
| 
       12 
18 
     | 
    
         
             
                puts "  Freezing Merb Framework into dist/framework"
         
     | 
| 
       13 
19 
     | 
    
         
             
                puts "  Use script/merb to start instead of plain merb"
         
     | 
| 
         @@ -24,9 +30,15 @@ namespace :merb do 
     | 
|
| 
       24 
30 
     | 
    
         | 
| 
       25 
31 
     | 
    
         
             
              desc "freeze the merb framework from svn"
         
     | 
| 
       26 
32 
     | 
    
         
             
              task :freeze_from_svn do
         
     | 
| 
       27 
     | 
    
         
            -
                 
     | 
| 
       28 
     | 
    
         
            -
                 
     | 
| 
       29 
     | 
    
         
            -
                 
     | 
| 
      
 33 
     | 
    
         
            +
                install_path = MERB_ROOT / 'dist/framework'
         
     | 
| 
      
 34 
     | 
    
         
            +
                puts "  Removing old framework" if File.exist? install_path
         
     | 
| 
      
 35 
     | 
    
         
            +
                FileUtils.rm_rf install_path
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                puts "  Freezing Merb Framework from svn"
         
     | 
| 
      
 38 
     | 
    
         
            +
                system "svn co http://svn.devjavu.com/merb/trunk/lib #{install_path}"
         
     | 
| 
      
 39 
     | 
    
         
            +
                install_merb_script
         
     | 
| 
      
 40 
     | 
    
         
            +
                
         
     | 
| 
      
 41 
     | 
    
         
            +
                puts "  Use script/merb to start instead of plain merb"
         
     | 
| 
       30 
42 
     | 
    
         
             
              end
         
     | 
| 
       31 
43 
     | 
    
         | 
| 
       32 
44 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -3,8 +3,8 @@ rubygems_version: 0.9.2 
     | 
|
| 
       3 
3 
     | 
    
         
             
            specification_version: 1
         
     | 
| 
       4 
4 
     | 
    
         
             
            name: merb
         
     | 
| 
       5 
5 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       6 
     | 
    
         
            -
              version: 0.3. 
     | 
| 
       7 
     | 
    
         
            -
            date: 2007- 
     | 
| 
      
 6 
     | 
    
         
            +
              version: 0.3.7
         
     | 
| 
      
 7 
     | 
    
         
            +
            date: 2007-08-04 00:00:00 -07:00
         
     | 
| 
       8 
8 
     | 
    
         
             
            summary: Merb == Mongrel + Erb. Pocket rocket web framework.
         
     | 
| 
       9 
9 
     | 
    
         
             
            require_paths: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            - lib
         
     | 
| 
         @@ -40,9 +40,11 @@ files: 
     | 
|
| 
       40 
40 
     | 
    
         
             
            - lib/merb/caching/fragment_cache.rb
         
     | 
| 
       41 
41 
     | 
    
         
             
            - lib/merb/caching/store
         
     | 
| 
       42 
42 
     | 
    
         
             
            - lib/merb/caching/store/file_cache.rb
         
     | 
| 
      
 43 
     | 
    
         
            +
            - lib/merb/caching/store/memcache.rb
         
     | 
| 
       43 
44 
     | 
    
         
             
            - lib/merb/caching/store/memory_cache.rb
         
     | 
| 
       44 
45 
     | 
    
         
             
            - lib/merb/caching.rb
         
     | 
| 
       45 
46 
     | 
    
         
             
            - lib/merb/core_ext
         
     | 
| 
      
 47 
     | 
    
         
            +
            - lib/merb/core_ext/merb_array.rb
         
     | 
| 
       46 
48 
     | 
    
         
             
            - lib/merb/core_ext/merb_class.rb
         
     | 
| 
       47 
49 
     | 
    
         
             
            - lib/merb/core_ext/merb_enumerable.rb
         
     | 
| 
       48 
50 
     | 
    
         
             
            - lib/merb/core_ext/merb_hash.rb
         
     | 
| 
         @@ -58,13 +60,17 @@ files: 
     | 
|
| 
       58 
60 
     | 
    
         
             
            - lib/merb/generators
         
     | 
| 
       59 
61 
     | 
    
         
             
            - lib/merb/generators/merb_app
         
     | 
| 
       60 
62 
     | 
    
         
             
            - lib/merb/generators/merb_app/merb_app.rb
         
     | 
| 
      
 63 
     | 
    
         
            +
            - lib/merb/merb_abstract_controller.rb
         
     | 
| 
       61 
64 
     | 
    
         
             
            - lib/merb/merb_constants.rb
         
     | 
| 
       62 
65 
     | 
    
         
             
            - lib/merb/merb_controller.rb
         
     | 
| 
       63 
66 
     | 
    
         
             
            - lib/merb/merb_dispatcher.rb
         
     | 
| 
       64 
67 
     | 
    
         
             
            - lib/merb/merb_drb_server.rb
         
     | 
| 
       65 
68 
     | 
    
         
             
            - lib/merb/merb_exceptions.rb
         
     | 
| 
       66 
69 
     | 
    
         
             
            - lib/merb/merb_handler.rb
         
     | 
| 
      
 70 
     | 
    
         
            +
            - lib/merb/merb_mail_controller.rb
         
     | 
| 
       67 
71 
     | 
    
         
             
            - lib/merb/merb_mailer.rb
         
     | 
| 
      
 72 
     | 
    
         
            +
            - lib/merb/merb_part_controller.rb
         
     | 
| 
      
 73 
     | 
    
         
            +
            - lib/merb/merb_plugins.rb
         
     | 
| 
       68 
74 
     | 
    
         
             
            - lib/merb/merb_request.rb
         
     | 
| 
       69 
75 
     | 
    
         
             
            - lib/merb/merb_router.rb
         
     | 
| 
       70 
76 
     | 
    
         
             
            - lib/merb/merb_server.rb
         
     | 
| 
         @@ -82,13 +88,18 @@ files: 
     | 
|
| 
       82 
88 
     | 
    
         
             
            - lib/merb/mixins/view_context_mixin.rb
         
     | 
| 
       83 
89 
     | 
    
         
             
            - lib/merb/session
         
     | 
| 
       84 
90 
     | 
    
         
             
            - lib/merb/session/merb_ar_session.rb
         
     | 
| 
      
 91 
     | 
    
         
            +
            - lib/merb/session/merb_mem_cache_session.rb
         
     | 
| 
       85 
92 
     | 
    
         
             
            - lib/merb/session/merb_memory_session.rb
         
     | 
| 
      
 93 
     | 
    
         
            +
            - lib/merb/session.rb
         
     | 
| 
       86 
94 
     | 
    
         
             
            - lib/merb/template
         
     | 
| 
       87 
95 
     | 
    
         
             
            - lib/merb/template/erubis.rb
         
     | 
| 
       88 
96 
     | 
    
         
             
            - lib/merb/template/haml.rb
         
     | 
| 
       89 
97 
     | 
    
         
             
            - lib/merb/template/markaby.rb
         
     | 
| 
       90 
98 
     | 
    
         
             
            - lib/merb/template/xml_builder.rb
         
     | 
| 
       91 
99 
     | 
    
         
             
            - lib/merb/template.rb
         
     | 
| 
      
 100 
     | 
    
         
            +
            - lib/merb/test
         
     | 
| 
      
 101 
     | 
    
         
            +
            - lib/merb/test/merb_fake_request.rb
         
     | 
| 
      
 102 
     | 
    
         
            +
            - lib/merb/test/merb_multipart.rb
         
     | 
| 
       92 
103 
     | 
    
         
             
            - lib/merb/vendor
         
     | 
| 
       93 
104 
     | 
    
         
             
            - lib/merb/vendor/paginator
         
     | 
| 
       94 
105 
     | 
    
         
             
            - lib/merb/vendor/paginator/paginator.rb
         
     | 
| 
         @@ -106,16 +117,25 @@ files: 
     | 
|
| 
       106 
117 
     | 
    
         
             
            - examples/skeleton/dist/app/controllers/application.rb
         
     | 
| 
       107 
118 
     | 
    
         
             
            - examples/skeleton/dist/app/helpers
         
     | 
| 
       108 
119 
     | 
    
         
             
            - examples/skeleton/dist/app/helpers/global_helper.rb
         
     | 
| 
      
 120 
     | 
    
         
            +
            - examples/skeleton/dist/app/mailers
         
     | 
| 
      
 121 
     | 
    
         
            +
            - examples/skeleton/dist/app/mailers/helpers
         
     | 
| 
      
 122 
     | 
    
         
            +
            - examples/skeleton/dist/app/mailers/layout
         
     | 
| 
      
 123 
     | 
    
         
            +
            - examples/skeleton/dist/app/mailers/layout/application.erb
         
     | 
| 
      
 124 
     | 
    
         
            +
            - examples/skeleton/dist/app/mailers/views
         
     | 
| 
       109 
125 
     | 
    
         
             
            - examples/skeleton/dist/app/models
         
     | 
| 
       110 
126 
     | 
    
         
             
            - examples/skeleton/dist/app/views
         
     | 
| 
       111 
127 
     | 
    
         
             
            - examples/skeleton/dist/app/views/layout
         
     | 
| 
       112 
128 
     | 
    
         
             
            - examples/skeleton/dist/app/views/layout/application.herb
         
     | 
| 
       113 
129 
     | 
    
         
             
            - examples/skeleton/dist/conf
         
     | 
| 
      
 130 
     | 
    
         
            +
            - examples/skeleton/dist/conf/database.yml
         
     | 
| 
      
 131 
     | 
    
         
            +
            - examples/skeleton/dist/conf/environments
         
     | 
| 
      
 132 
     | 
    
         
            +
            - examples/skeleton/dist/conf/environments/development.rb
         
     | 
| 
      
 133 
     | 
    
         
            +
            - examples/skeleton/dist/conf/environments/production.rb
         
     | 
| 
      
 134 
     | 
    
         
            +
            - examples/skeleton/dist/conf/environments/test.rb
         
     | 
| 
       114 
135 
     | 
    
         
             
            - examples/skeleton/dist/conf/merb.yml
         
     | 
| 
       115 
136 
     | 
    
         
             
            - examples/skeleton/dist/conf/merb_init.rb
         
     | 
| 
       116 
137 
     | 
    
         
             
            - examples/skeleton/dist/conf/router.rb
         
     | 
| 
       117 
138 
     | 
    
         
             
            - examples/skeleton/dist/conf/upload.conf
         
     | 
| 
       118 
     | 
    
         
            -
            - examples/skeleton/dist/lib
         
     | 
| 
       119 
139 
     | 
    
         
             
            - examples/skeleton/dist/plugins
         
     | 
| 
       120 
140 
     | 
    
         
             
            - examples/skeleton/dist/public
         
     | 
| 
       121 
141 
     | 
    
         
             
            - examples/skeleton/dist/public/images
         
     | 
| 
         @@ -124,15 +144,12 @@ files: 
     | 
|
| 
       124 
144 
     | 
    
         
             
            - examples/skeleton/dist/schema
         
     | 
| 
       125 
145 
     | 
    
         
             
            - examples/skeleton/dist/schema/migrations
         
     | 
| 
       126 
146 
     | 
    
         
             
            - examples/skeleton/dist/schema/migrations/001_add_sessions_table.rb
         
     | 
| 
       127 
     | 
    
         
            -
            - examples/skeleton/ 
     | 
| 
      
 147 
     | 
    
         
            +
            - examples/skeleton/plugins
         
     | 
| 
       128 
148 
     | 
    
         
             
            - examples/skeleton/Rakefile
         
     | 
| 
       129 
149 
     | 
    
         
             
            - examples/skeleton/script
         
     | 
| 
       130 
150 
     | 
    
         
             
            - examples/skeleton/script/new_migration
         
     | 
| 
       131 
151 
     | 
    
         
             
            - examples/skeleton/script/stop_merb
         
     | 
| 
       132 
152 
     | 
    
         
             
            - examples/skeleton/test
         
     | 
| 
       133 
     | 
    
         
            -
            - examples/skeleton/test/specs
         
     | 
| 
       134 
     | 
    
         
            -
            - examples/skeleton/test/unit
         
     | 
| 
       135 
     | 
    
         
            -
            - examples/skeleton.tar
         
     | 
| 
       136 
153 
     | 
    
         
             
            test_files: []
         
     | 
| 
       137 
154 
     | 
    
         | 
| 
       138 
155 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
         @@ -184,21 +201,3 @@ dependencies: 
     | 
|
| 
       184 
201 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       185 
202 
     | 
    
         
             
                    version: 0.0.0
         
     | 
| 
       186 
203 
     | 
    
         
             
                version: 
         
     | 
| 
       187 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       188 
     | 
    
         
            -
              name: xml-simple
         
     | 
| 
       189 
     | 
    
         
            -
              version_requirement: 
         
     | 
| 
       190 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Version::Requirement 
         
     | 
| 
       191 
     | 
    
         
            -
                requirements: 
         
     | 
| 
       192 
     | 
    
         
            -
                - - ">"
         
     | 
| 
       193 
     | 
    
         
            -
                  - !ruby/object:Gem::Version 
         
     | 
| 
       194 
     | 
    
         
            -
                    version: 0.0.0
         
     | 
| 
       195 
     | 
    
         
            -
                version: 
         
     | 
| 
       196 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       197 
     | 
    
         
            -
              name: archive-tar-minitar
         
     | 
| 
       198 
     | 
    
         
            -
              version_requirement: 
         
     | 
| 
       199 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Version::Requirement 
         
     | 
| 
       200 
     | 
    
         
            -
                requirements: 
         
     | 
| 
       201 
     | 
    
         
            -
                - - ">"
         
     | 
| 
       202 
     | 
    
         
            -
                  - !ruby/object:Gem::Version 
         
     | 
| 
       203 
     | 
    
         
            -
                    version: 0.0.0
         
     | 
| 
       204 
     | 
    
         
            -
                version: 
         
     | 
    
        data/examples/skeleton.tar
    DELETED
    
    | 
         Binary file 
     |