rack-var-dump 0.1.3 → 1.0.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.
- data/README.md +4 -4
- data/lib/rack/var_dump.rb +29 -17
- data/lib/rack/var_dump/awesome_print.rb +2 -0
- data/lib/rack/var_dump/awesome_print/ext/var_dump.rb +14 -0
- data/lib/rack/var_dump/awesome_print/ext/var_dump.rb.old +21 -0
- data/lib/rack/var_dump/kernel.rb +6 -0
- data/lib/rack/var_dump/object.rb +4 -14
- data/lib/rack/var_dump/railtie.rb +12 -0
- data/lib/rack/var_dump/version.rb +1 -1
- data/lib/rails-var-dump.rb +1 -1
- data/lib/rails_var_dump.rb +1 -1
- data/rack-var-dump.gemspec +3 -2
- data/spec/middleware_spec.rb +4 -4
- metadata +25 -21
- data/lib/rack/railtie.rb +0 -16
    
        data/README.md
    CHANGED
    
    | @@ -10,13 +10,13 @@ Writing now... | |
| 10 10 |  | 
| 11 11 | 
             
            rack-var-dumpはphpのvar_dump()のようなデバッグ用のメソッドを提供します
         | 
| 12 12 |  | 
| 13 | 
            -
            Object | 
| 13 | 
            +
            Objectにvar_dumpメソッドを提供し、Rackがレスポンスを返すまでにModel,Controller,View,
         | 
| 14 14 |  | 
| 15 | 
            -
             | 
| 15 | 
            +
            その他コンテキストで実行されたすべてのレシーバーをviewに自動的に出力します
         | 
| 16 16 |  | 
| 17 | 
            -
             | 
| 17 | 
            +
            出力には michaeldv / awesome_print を使用しています。
         | 
| 18 18 |  | 
| 19 | 
            -
            <img src="http://cdn-ak.f.st-hatena.com/images/fotolife/b/bunnyhop/ | 
| 19 | 
            +
            <img src="http://cdn-ak.f.st-hatena.com/images/fotolife/b/bunnyhop/20120208/20120208182805.png"/>
         | 
| 20 20 |  | 
| 21 21 | 
             
            ## Supported versions
         | 
| 22 22 |  | 
    
        data/lib/rack/var_dump.rb
    CHANGED
    
    | @@ -1,19 +1,29 @@ | |
| 1 1 | 
             
            require "rack/utils"
         | 
| 2 | 
            -
            require  | 
| 3 | 
            -
            require  | 
| 2 | 
            +
            require 'rack/var_dump/kernel'
         | 
| 3 | 
            +
            require 'rack/var_dump/version'
         | 
| 4 | 
            +
            require 'rack/var_dump/awesome_print'
         | 
| 4 5 |  | 
| 5 6 | 
             
            module Rack
         | 
| 6 7 | 
             
              class VarDump
         | 
| 7 | 
            -
                include Object
         | 
| 8 | 
            -
             | 
| 9 8 | 
             
                @@var_aggregates = []
         | 
| 10 9 |  | 
| 10 | 
            +
                def self.reset!
         | 
| 11 | 
            +
                  @@var_aggregates = []
         | 
| 12 | 
            +
                end
         | 
| 13 | 
            +
             | 
| 11 14 | 
             
                def self.var_dump(var, subject)
         | 
| 12 | 
            -
                  @@var_aggregates << | 
| 15 | 
            +
                  @@var_aggregates <<
         | 
| 16 | 
            +
                    { :var => ai(var, :html => true), :subject => subject }
         | 
| 13 17 | 
             
                end
         | 
| 14 18 |  | 
| 15 | 
            -
                def self. | 
| 16 | 
            -
                   | 
| 19 | 
            +
                def self.ai(var, options = {})
         | 
| 20 | 
            +
                  ap = AwesomePrint::Inspector.new(options)
         | 
| 21 | 
            +
                  ap.instance_eval do
         | 
| 22 | 
            +
                    formatter = AwesomePrint::VarDump.new(self)
         | 
| 23 | 
            +
                    instance_variable_set(:@formatter, formatter)
         | 
| 24 | 
            +
                  end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                  ap.awesome(var)
         | 
| 17 27 | 
             
                end
         | 
| 18 28 |  | 
| 19 29 | 
             
                def initialize(app)
         | 
| @@ -30,21 +40,23 @@ module Rack | |
| 30 40 | 
             
                    response = [apply(body)] if body =~ /<body.*>/
         | 
| 31 41 | 
             
                    headers["Content-Length"] = response.join.bytesize.to_s
         | 
| 32 42 | 
             
                  end
         | 
| 43 | 
            +
             | 
| 33 44 | 
             
                  VarDump.reset!
         | 
| 34 45 | 
             
                  [status, headers, response]
         | 
| 35 46 | 
             
                end
         | 
| 36 47 |  | 
| 37 48 | 
             
                private
         | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 49 | 
            +
                  def apply(body)
         | 
| 50 | 
            +
                    html =  '<div id="var_dump" style="display:block">'
         | 
| 51 | 
            +
                    html << '<pre style="background-color:#eee;padding:10px;font-size:11px;white-space:pre-wrap;color:black!important;">'
         | 
| 52 | 
            +
                    @@var_aggregates.each_with_index do |info, n|
         | 
| 53 | 
            +
                      html << "var_dump:#{n} #{info[:subject]}\n"
         | 
| 54 | 
            +
                      html << info[:var]
         | 
| 55 | 
            +
                      html << "\n\n"
         | 
| 56 | 
            +
                    end
         | 
| 57 | 
            +
                    html << "</pre></div>"
         | 
| 58 | 
            +
             | 
| 59 | 
            +
                    body.sub(/<body.*>/, '\&' + html)
         | 
| 45 60 | 
             
                  end
         | 
| 46 | 
            -
                  html << "</pre></div>"
         | 
| 47 | 
            -
                  body.sub(/<body.*>/, '\&' + html)
         | 
| 48 | 
            -
                end
         | 
| 49 61 | 
             
              end
         | 
| 50 62 | 
             
            end
         | 
| @@ -0,0 +1,14 @@ | |
| 1 | 
            +
            module AwesomePrint
         | 
| 2 | 
            +
              class VarDump < Formatter
         | 
| 3 | 
            +
                def format(object, type = nil)
         | 
| 4 | 
            +
                  core_class = cast(object, type)
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                  awesome = if core_class != :self
         | 
| 7 | 
            +
                    send(:"awesome_#{core_class}", object) # Core formatters.
         | 
| 8 | 
            +
                  else
         | 
| 9 | 
            +
                    awesome_self(object, type) # Catch all that falls back to object.inspect.
         | 
| 10 | 
            +
                  end
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
              end
         | 
| 13 | 
            +
            end
         | 
| 14 | 
            +
             | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            module AwesomePrint
         | 
| 2 | 
            +
              module VarDump
         | 
| 3 | 
            +
                def self.included(base)
         | 
| 4 | 
            +
                  base.send :alias_method, :format_without_var_dump, :format
         | 
| 5 | 
            +
                  base.send :alias_method, :format, :format_with_var_dump
         | 
| 6 | 
            +
                end
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                def format_with_var_dump(object, type = nil)
         | 
| 9 | 
            +
                  core_class = cast(object, type)
         | 
| 10 | 
            +
                  awesome = if core_class != :self
         | 
| 11 | 
            +
                    send(:"awesome_#{core_class}", object)
         | 
| 12 | 
            +
                  else
         | 
| 13 | 
            +
                    awesome_self(object, type)
         | 
| 14 | 
            +
                  end
         | 
| 15 | 
            +
                end
         | 
| 16 | 
            +
              end
         | 
| 17 | 
            +
            end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            AwesomePrint::Formatter.send(:include, AwesomePrint::VarDump)
         | 
| 20 | 
            +
             | 
| 21 | 
            +
             | 
    
        data/lib/rack/var_dump/object.rb
    CHANGED
    
    | @@ -1,17 +1,7 @@ | |
| 1 | 
            -
            module  | 
| 2 | 
            -
               | 
| 3 | 
            -
                 | 
| 4 | 
            -
                  def self.included(obj)
         | 
| 5 | 
            -
                    ::Object.send(:include, Method)
         | 
| 6 | 
            -
                    ::Object.extend(Method)
         | 
| 7 | 
            -
                  end
         | 
| 8 | 
            -
                end
         | 
| 1 | 
            +
            module Object
         | 
| 2 | 
            +
              def var_dump(subject = nil)
         | 
| 3 | 
            +
                Rack::VarDump.var_dump(self, subject)
         | 
| 9 4 |  | 
| 10 | 
            -
                 | 
| 11 | 
            -
                  def var_dump(subject = nil)
         | 
| 12 | 
            -
                    Rack::VarDump.var_dump(self, subject)
         | 
| 13 | 
            -
                    self
         | 
| 14 | 
            -
                  end
         | 
| 15 | 
            -
                end
         | 
| 5 | 
            +
                self
         | 
| 16 6 | 
             
              end
         | 
| 17 7 | 
             
            end
         | 
| @@ -0,0 +1,12 @@ | |
| 1 | 
            +
            require 'rails'
         | 
| 2 | 
            +
            require 'rack/var_dump'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module Rack
         | 
| 5 | 
            +
              class VarDump
         | 
| 6 | 
            +
                class Railtie < Rails::Railtie
         | 
| 7 | 
            +
                  initializer "rack_var_dump.use_middleware" do |app|
         | 
| 8 | 
            +
                    app.middleware.use ::Rack::VarDump if ENV['RAILS_ENV'] == "development"
         | 
| 9 | 
            +
                  end
         | 
| 10 | 
            +
                end
         | 
| 11 | 
            +
              end
         | 
| 12 | 
            +
            end
         | 
    
        data/lib/rails-var-dump.rb
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            require 'rack/railtie' if defined?(Rails)
         | 
| 1 | 
            +
            require 'rack/var_dump/railtie' if defined?(Rails)
         | 
    
        data/lib/rails_var_dump.rb
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            require ' | 
| 1 | 
            +
            require 'rails-var-dump'
         | 
    
        data/rack-var-dump.gemspec
    CHANGED
    
    | @@ -8,7 +8,7 @@ Gem::Specification.new do |s| | |
| 8 8 | 
             
              s.authors     = ["Dach_h"]
         | 
| 9 9 | 
             
              s.email       = ["bunny.hop.md@gmail.com"]
         | 
| 10 10 | 
             
              s.homepage    = ""
         | 
| 11 | 
            -
              s.summary     = %q{ | 
| 11 | 
            +
              s.summary     = %q{provides a method for debugging like var_dump() of php.}
         | 
| 12 12 | 
             
              s.description = s.summary
         | 
| 13 13 | 
             
              s.rubyforge_project = "rack-var-dump"
         | 
| 14 14 | 
             
              s.files         = `git ls-files`.split("\n")
         | 
| @@ -16,8 +16,9 @@ Gem::Specification.new do |s| | |
| 16 16 | 
             
              s.executables   = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
         | 
| 17 17 | 
             
              s.require_paths = ["lib"]
         | 
| 18 18 |  | 
| 19 | 
            +
              s.add_dependency 'awesome_print',         '= 1.0.2'
         | 
| 20 | 
            +
             | 
| 19 21 | 
             
              s.add_development_dependency 'rake',      '>= 0.9.2.2'
         | 
| 20 | 
            -
              s.add_development_dependency 'rdoc',      '>= 3.11'
         | 
| 21 22 | 
             
              s.add_development_dependency "rack",      '>= 1.3.5'
         | 
| 22 23 | 
             
              s.add_development_dependency 'rack-test', '>= 0.5.3'
         | 
| 23 24 | 
             
              s.add_development_dependency 'rspec',     '>= 2.7.0'
         | 
    
        data/spec/middleware_spec.rb
    CHANGED
    
    | @@ -8,7 +8,7 @@ describe 'VarDump' do | |
| 8 8 | 
             
              describe "when var_dump is performed" do
         | 
| 9 9 | 
             
                before { 'sample-text'.var_dump }
         | 
| 10 10 | 
             
                let(:insert_html) do
         | 
| 11 | 
            -
                  %Q | 
| 11 | 
            +
                  %Q(var_dump:0 \n<kbd style=\"color:brown\">"sample-text"</kbd>)
         | 
| 12 12 | 
             
                end
         | 
| 13 13 |  | 
| 14 14 | 
             
                it "it is inserted when a status code is 200." do
         | 
| @@ -25,7 +25,7 @@ describe 'VarDump' do | |
| 25 25 | 
             
              describe "when an argument is given" do
         | 
| 26 26 | 
             
                before { 'sample-text'.var_dump('Rspec:String') }
         | 
| 27 27 | 
             
                let(:insert_html) do
         | 
| 28 | 
            -
                  %Q | 
| 28 | 
            +
                  %Q(var_dump:0 Rspec:String\n<kbd style=\"color:brown\">"sample-text"</kbd>)
         | 
| 29 29 | 
             
                end
         | 
| 30 30 |  | 
| 31 31 | 
             
                it "It displays with subject." do
         | 
| @@ -37,7 +37,7 @@ describe 'VarDump' do | |
| 37 37 | 
             
              describe "when the two or more sets value is carried out" do
         | 
| 38 38 | 
             
                before{'sample-text'.var_dump; 'sample-text-2'.var_dump('Rspec:String2')}
         | 
| 39 39 | 
             
                let(:insert_html) do
         | 
| 40 | 
            -
                  %Q | 
| 40 | 
            +
                  %Q(var_dump:0 \n<kbd style=\"color:brown\">"sample-text"</kbd>\n\nvar_dump:1 Rspec:String2\n<kbd style=\"color:brown\">"sample-text-2"</kbd>)
         | 
| 41 41 | 
             
                end
         | 
| 42 42 |  | 
| 43 43 | 
             
                it "more than one are outputted." do
         | 
| @@ -47,7 +47,7 @@ describe 'VarDump' do | |
| 47 47 | 
             
              end
         | 
| 48 48 |  | 
| 49 49 | 
             
              describe "not insert responses" do
         | 
| 50 | 
            -
                it "nothing is outputted when the value is not set to  | 
| 50 | 
            +
                it "nothing is outputted when the value is not set to var_dump." do
         | 
| 51 51 | 
             
                  get '/'
         | 
| 52 52 | 
             
                  last_response.body.should eql(DummyBody)
         | 
| 53 53 | 
             
                end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rack-var-dump
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 1.0.0
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,33 +9,33 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2012- | 
| 12 | 
            +
            date: 2012-02-08 00:00:00.000000000Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 | 
            -
              name:  | 
| 16 | 
            -
              requirement: & | 
| 15 | 
            +
              name: awesome_print
         | 
| 16 | 
            +
              requirement: &2158675240 !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                none: false
         | 
| 18 18 | 
             
                requirements:
         | 
| 19 | 
            -
                - -  | 
| 19 | 
            +
                - - =
         | 
| 20 20 | 
             
                  - !ruby/object:Gem::Version
         | 
| 21 | 
            -
                    version: 0. | 
| 22 | 
            -
              type: : | 
| 21 | 
            +
                    version: 1.0.2
         | 
| 22 | 
            +
              type: :runtime
         | 
| 23 23 | 
             
              prerelease: false
         | 
| 24 | 
            -
              version_requirements: * | 
| 24 | 
            +
              version_requirements: *2158675240
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 26 | 
            -
              name:  | 
| 27 | 
            -
              requirement: & | 
| 26 | 
            +
              name: rake
         | 
| 27 | 
            +
              requirement: &2158674720 !ruby/object:Gem::Requirement
         | 
| 28 28 | 
             
                none: false
         | 
| 29 29 | 
             
                requirements:
         | 
| 30 30 | 
             
                - - ! '>='
         | 
| 31 31 | 
             
                  - !ruby/object:Gem::Version
         | 
| 32 | 
            -
                    version:  | 
| 32 | 
            +
                    version: 0.9.2.2
         | 
| 33 33 | 
             
              type: :development
         | 
| 34 34 | 
             
              prerelease: false
         | 
| 35 | 
            -
              version_requirements: * | 
| 35 | 
            +
              version_requirements: *2158674720
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 37 | 
             
              name: rack
         | 
| 38 | 
            -
              requirement: & | 
| 38 | 
            +
              requirement: &2158674180 !ruby/object:Gem::Requirement
         | 
| 39 39 | 
             
                none: false
         | 
| 40 40 | 
             
                requirements:
         | 
| 41 41 | 
             
                - - ! '>='
         | 
| @@ -43,10 +43,10 @@ dependencies: | |
| 43 43 | 
             
                    version: 1.3.5
         | 
| 44 44 | 
             
              type: :development
         | 
| 45 45 | 
             
              prerelease: false
         | 
| 46 | 
            -
              version_requirements: * | 
| 46 | 
            +
              version_requirements: *2158674180
         | 
| 47 47 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 48 48 | 
             
              name: rack-test
         | 
| 49 | 
            -
              requirement: & | 
| 49 | 
            +
              requirement: &2158673640 !ruby/object:Gem::Requirement
         | 
| 50 50 | 
             
                none: false
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 52 | 
             
                - - ! '>='
         | 
| @@ -54,10 +54,10 @@ dependencies: | |
| 54 54 | 
             
                    version: 0.5.3
         | 
| 55 55 | 
             
              type: :development
         | 
| 56 56 | 
             
              prerelease: false
         | 
| 57 | 
            -
              version_requirements: * | 
| 57 | 
            +
              version_requirements: *2158673640
         | 
| 58 58 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 59 59 | 
             
              name: rspec
         | 
| 60 | 
            -
              requirement: & | 
| 60 | 
            +
              requirement: &2158673180 !ruby/object:Gem::Requirement
         | 
| 61 61 | 
             
                none: false
         | 
| 62 62 | 
             
                requirements:
         | 
| 63 63 | 
             
                - - ! '>='
         | 
| @@ -65,8 +65,8 @@ dependencies: | |
| 65 65 | 
             
                    version: 2.7.0
         | 
| 66 66 | 
             
              type: :development
         | 
| 67 67 | 
             
              prerelease: false
         | 
| 68 | 
            -
              version_requirements: * | 
| 69 | 
            -
            description:  | 
| 68 | 
            +
              version_requirements: *2158673180
         | 
| 69 | 
            +
            description: provides a method for debugging like var_dump() of php.
         | 
| 70 70 | 
             
            email:
         | 
| 71 71 | 
             
            - bunny.hop.md@gmail.com
         | 
| 72 72 | 
             
            executables: []
         | 
| @@ -80,9 +80,13 @@ files: | |
| 80 80 | 
             
            - LICENSE
         | 
| 81 81 | 
             
            - README.md
         | 
| 82 82 | 
             
            - Rakefile
         | 
| 83 | 
            -
            - lib/rack/railtie.rb
         | 
| 84 83 | 
             
            - lib/rack/var_dump.rb
         | 
| 84 | 
            +
            - lib/rack/var_dump/awesome_print.rb
         | 
| 85 | 
            +
            - lib/rack/var_dump/awesome_print/ext/var_dump.rb
         | 
| 86 | 
            +
            - lib/rack/var_dump/awesome_print/ext/var_dump.rb.old
         | 
| 87 | 
            +
            - lib/rack/var_dump/kernel.rb
         | 
| 85 88 | 
             
            - lib/rack/var_dump/object.rb
         | 
| 89 | 
            +
            - lib/rack/var_dump/railtie.rb
         | 
| 86 90 | 
             
            - lib/rack/var_dump/version.rb
         | 
| 87 91 | 
             
            - lib/rails-var-dump.rb
         | 
| 88 92 | 
             
            - lib/rails_var_dump.rb
         | 
| @@ -113,7 +117,7 @@ rubyforge_project: rack-var-dump | |
| 113 117 | 
             
            rubygems_version: 1.8.10
         | 
| 114 118 | 
             
            signing_key: 
         | 
| 115 119 | 
             
            specification_version: 3
         | 
| 116 | 
            -
            summary:  | 
| 120 | 
            +
            summary: provides a method for debugging like var_dump() of php.
         | 
| 117 121 | 
             
            test_files:
         | 
| 118 122 | 
             
            - spec/middleware_spec.rb
         | 
| 119 123 | 
             
            - spec/object_spec.rb
         | 
    
        data/lib/rack/railtie.rb
    DELETED
    
    | @@ -1,16 +0,0 @@ | |
| 1 | 
            -
            require 'rails'
         | 
| 2 | 
            -
            require 'rack/var_dump'
         | 
| 3 | 
            -
            require 'rack/var_dump/object'
         | 
| 4 | 
            -
            require 'rack/var_dump/version'
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            module Rack
         | 
| 7 | 
            -
              class VarDump
         | 
| 8 | 
            -
                include Object
         | 
| 9 | 
            -
              end
         | 
| 10 | 
            -
             | 
| 11 | 
            -
              class Railtie < Rails::Railtie
         | 
| 12 | 
            -
                initializer "rack_var_dump.use_middleware" do |app|
         | 
| 13 | 
            -
                  app.middleware.use Rack::VarDump if ENV['RAILS_ENV'] == "development"
         | 
| 14 | 
            -
                end
         | 
| 15 | 
            -
              end
         | 
| 16 | 
            -
            end
         |