elster 0.0.8 → 0.1.1
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/Users/jwebb/src/bigjason/elster/Gemfile.lock +79 -1
- data/Users/jwebb/src/bigjason/elster/README.md +16 -0
- data/Users/jwebb/src/bigjason/elster/elster.gemspec +2 -1
- data/Users/jwebb/src/bigjason/elster/lib/elster/elster_handler.rb +27 -0
- data/Users/jwebb/src/bigjason/elster/lib/elster/version.rb +1 -1
- data/Users/jwebb/src/bigjason/elster/lib/elster.rb +2 -0
- data/Users/jwebb/src/bigjason/elster/pkg/elster-0.0.8.gem +0 -0
- data/Users/jwebb/src/bigjason/elster/test/streamer_test.rb +1 -1
- metadata +23 -5
| @@ -1,17 +1,58 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                elster (0. | 
| 4 | 
            +
                elster (0.1.1)
         | 
| 5 5 | 
             
                  multi_json
         | 
| 6 6 |  | 
| 7 7 | 
             
            GEM
         | 
| 8 8 | 
             
              remote: https://rubygems.org/
         | 
| 9 9 | 
             
              specs:
         | 
| 10 | 
            +
                actionmailer (3.2.9)
         | 
| 11 | 
            +
                  actionpack (= 3.2.9)
         | 
| 12 | 
            +
                  mail (~> 2.4.4)
         | 
| 13 | 
            +
                actionpack (3.2.9)
         | 
| 14 | 
            +
                  activemodel (= 3.2.9)
         | 
| 15 | 
            +
                  activesupport (= 3.2.9)
         | 
| 16 | 
            +
                  builder (~> 3.0.0)
         | 
| 17 | 
            +
                  erubis (~> 2.7.0)
         | 
| 18 | 
            +
                  journey (~> 1.0.4)
         | 
| 19 | 
            +
                  rack (~> 1.4.0)
         | 
| 20 | 
            +
                  rack-cache (~> 1.2)
         | 
| 21 | 
            +
                  rack-test (~> 0.6.1)
         | 
| 22 | 
            +
                  sprockets (~> 2.2.1)
         | 
| 23 | 
            +
                activemodel (3.2.9)
         | 
| 24 | 
            +
                  activesupport (= 3.2.9)
         | 
| 25 | 
            +
                  builder (~> 3.0.0)
         | 
| 26 | 
            +
                activerecord (3.2.9)
         | 
| 27 | 
            +
                  activemodel (= 3.2.9)
         | 
| 28 | 
            +
                  activesupport (= 3.2.9)
         | 
| 29 | 
            +
                  arel (~> 3.0.2)
         | 
| 30 | 
            +
                  tzinfo (~> 0.3.29)
         | 
| 31 | 
            +
                activeresource (3.2.9)
         | 
| 32 | 
            +
                  activemodel (= 3.2.9)
         | 
| 33 | 
            +
                  activesupport (= 3.2.9)
         | 
| 34 | 
            +
                activesupport (3.2.9)
         | 
| 35 | 
            +
                  i18n (~> 0.6)
         | 
| 36 | 
            +
                  multi_json (~> 1.0)
         | 
| 10 37 | 
             
                ansi (1.4.0)
         | 
| 38 | 
            +
                arel (3.0.2)
         | 
| 39 | 
            +
                builder (3.0.4)
         | 
| 11 40 | 
             
                coderay (1.0.7)
         | 
| 41 | 
            +
                erubis (2.7.0)
         | 
| 42 | 
            +
                hike (1.2.1)
         | 
| 43 | 
            +
                i18n (0.6.1)
         | 
| 44 | 
            +
                journey (1.0.4)
         | 
| 45 | 
            +
                json (1.7.5)
         | 
| 46 | 
            +
                json (1.7.5-java)
         | 
| 47 | 
            +
                mail (2.4.4)
         | 
| 48 | 
            +
                  i18n (>= 0.4.0)
         | 
| 49 | 
            +
                  mime-types (~> 1.16)
         | 
| 50 | 
            +
                  treetop (~> 1.4.8)
         | 
| 12 51 | 
             
                method_source (0.8)
         | 
| 52 | 
            +
                mime-types (1.19)
         | 
| 13 53 | 
             
                minitest (3.3.0)
         | 
| 14 54 | 
             
                multi_json (1.3.7)
         | 
| 55 | 
            +
                polyglot (0.3.3)
         | 
| 15 56 | 
             
                pry (0.9.10)
         | 
| 16 57 | 
             
                  coderay (~> 1.0.5)
         | 
| 17 58 | 
             
                  method_source (~> 0.8)
         | 
| @@ -21,10 +62,46 @@ GEM | |
| 21 62 | 
             
                  method_source (~> 0.8)
         | 
| 22 63 | 
             
                  slop (~> 3.3.1)
         | 
| 23 64 | 
             
                  spoon (~> 0.0)
         | 
| 65 | 
            +
                rack (1.4.1)
         | 
| 66 | 
            +
                rack-cache (1.2)
         | 
| 67 | 
            +
                  rack (>= 0.4)
         | 
| 68 | 
            +
                rack-ssl (1.3.2)
         | 
| 69 | 
            +
                  rack
         | 
| 70 | 
            +
                rack-test (0.6.2)
         | 
| 71 | 
            +
                  rack (>= 1.0)
         | 
| 72 | 
            +
                rails (3.2.9)
         | 
| 73 | 
            +
                  actionmailer (= 3.2.9)
         | 
| 74 | 
            +
                  actionpack (= 3.2.9)
         | 
| 75 | 
            +
                  activerecord (= 3.2.9)
         | 
| 76 | 
            +
                  activeresource (= 3.2.9)
         | 
| 77 | 
            +
                  activesupport (= 3.2.9)
         | 
| 78 | 
            +
                  bundler (~> 1.0)
         | 
| 79 | 
            +
                  railties (= 3.2.9)
         | 
| 80 | 
            +
                railties (3.2.9)
         | 
| 81 | 
            +
                  actionpack (= 3.2.9)
         | 
| 82 | 
            +
                  activesupport (= 3.2.9)
         | 
| 83 | 
            +
                  rack-ssl (~> 1.3.2)
         | 
| 84 | 
            +
                  rake (>= 0.8.7)
         | 
| 85 | 
            +
                  rdoc (~> 3.4)
         | 
| 86 | 
            +
                  thor (>= 0.14.6, < 2.0)
         | 
| 87 | 
            +
                rake (10.0.2)
         | 
| 88 | 
            +
                rdoc (3.12)
         | 
| 89 | 
            +
                  json (~> 1.4)
         | 
| 24 90 | 
             
                slop (3.3.2)
         | 
| 25 91 | 
             
                spoon (0.0.1)
         | 
| 92 | 
            +
                sprockets (2.2.1)
         | 
| 93 | 
            +
                  hike (~> 1.2)
         | 
| 94 | 
            +
                  multi_json (~> 1.0)
         | 
| 95 | 
            +
                  rack (~> 1.0)
         | 
| 96 | 
            +
                  tilt (~> 1.1, != 1.3.0)
         | 
| 97 | 
            +
                thor (0.16.0)
         | 
| 98 | 
            +
                tilt (1.3.3)
         | 
| 99 | 
            +
                treetop (1.4.12)
         | 
| 100 | 
            +
                  polyglot
         | 
| 101 | 
            +
                  polyglot (>= 0.3.1)
         | 
| 26 102 | 
             
                turn (0.8.3)
         | 
| 27 103 | 
             
                  ansi
         | 
| 104 | 
            +
                tzinfo (0.3.35)
         | 
| 28 105 |  | 
| 29 106 | 
             
            PLATFORMS
         | 
| 30 107 | 
             
              java
         | 
| @@ -34,4 +111,5 @@ DEPENDENCIES | |
| 34 111 | 
             
              elster!
         | 
| 35 112 | 
             
              minitest
         | 
| 36 113 | 
             
              pry
         | 
| 114 | 
            +
              rails (>= 3.1)
         | 
| 37 115 | 
             
              turn
         | 
| @@ -1,5 +1,7 @@ | |
| 1 1 | 
             
            # Elster
         | 
| 2 2 |  | 
| 3 | 
            +
            [](https://travis-ci.org/[bigjason]/[elster])
         | 
| 4 | 
            +
             | 
| 3 5 | 
             
            Elster is a streaming JSON encoder written in pure ruby.
         | 
| 4 6 |  | 
| 5 7 | 
             
            ## Installation
         | 
| @@ -32,6 +34,20 @@ puts output.string | |
| 32 34 | 
             
            # {"name":"George","kids":["Job","Buster"]}
         | 
| 33 35 | 
             
            ```
         | 
| 34 36 |  | 
| 37 | 
            +
            ### With Rails
         | 
| 38 | 
            +
             | 
| 39 | 
            +
            You can use Elster with rails by naming templates with the `.json.elster`
         | 
| 40 | 
            +
            extension.  When used as a rails template simply reference the implicit `json`
         | 
| 41 | 
            +
            object.  For example:
         | 
| 42 | 
            +
             | 
| 43 | 
            +
            ``` ruby
         | 
| 44 | 
            +
            json.key(:name, "George")
         | 
| 45 | 
            +
            json.key(:kids) do
         | 
| 46 | 
            +
              json.add("Job")
         | 
| 47 | 
            +
              json.add("Buster")
         | 
| 48 | 
            +
            end
         | 
| 49 | 
            +
            ```
         | 
| 50 | 
            +
             | 
| 35 51 | 
             
            ## Contributing
         | 
| 36 52 |  | 
| 37 53 | 
             
            1. Fork it
         | 
| @@ -5,7 +5,7 @@ Gem::Specification.new do |gem| | |
| 5 5 | 
             
              gem.authors       = ["Jason Webb"]
         | 
| 6 6 | 
             
              gem.email         = ["bigjasonwebb@gmail.com"]
         | 
| 7 7 | 
             
              gem.summary       = %q{A simple streaming JSON encoder.}
         | 
| 8 | 
            -
              gem.homepage      = ""
         | 
| 8 | 
            +
              gem.homepage      = "https://github.com/bigjason/elster"
         | 
| 9 9 |  | 
| 10 10 | 
             
              gem.files         = Dir["#{File.dirname(__FILE__)}/**/*"]
         | 
| 11 11 | 
             
              gem.executables   = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
         | 
| @@ -19,4 +19,5 @@ Gem::Specification.new do |gem| | |
| 19 19 | 
             
              gem.add_development_dependency "minitest"
         | 
| 20 20 | 
             
              gem.add_development_dependency "turn"
         | 
| 21 21 | 
             
              gem.add_development_dependency "pry"
         | 
| 22 | 
            +
              gem.add_development_dependency "rails", ">= 3.1"
         | 
| 22 23 | 
             
            end
         | 
| @@ -0,0 +1,27 @@ | |
| 1 | 
            +
            module Elster
         | 
| 2 | 
            +
              class ElsterHandler
         | 
| 3 | 
            +
                cattr_accessor :default_format
         | 
| 4 | 
            +
                self.default_format = Mime::JSON
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                def supports_streaming?
         | 
| 7 | 
            +
                  true
         | 
| 8 | 
            +
                end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                def self.call(template)
         | 
| 11 | 
            +
                  %{
         | 
| 12 | 
            +
                    if defined?(json)
         | 
| 13 | 
            +
                      #{template.source}
         | 
| 14 | 
            +
                    else
         | 
| 15 | 
            +
                      output = StringIO.new
         | 
| 16 | 
            +
                      json = Elster::Streamer.new(output)
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                      #{template.source}
         | 
| 19 | 
            +
                      json.close
         | 
| 20 | 
            +
                      output.string
         | 
| 21 | 
            +
                    end
         | 
| 22 | 
            +
                  }
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
            end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            ActionView::Template.register_template_handler :elster, Elster::ElsterHandler
         | 
| Binary file | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: elster
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.1.1
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date:  | 
| 12 | 
            +
            date: 2013-03-05 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: multi_json
         | 
| @@ -75,6 +75,22 @@ dependencies: | |
| 75 75 | 
             
                - - ! '>='
         | 
| 76 76 | 
             
                  - !ruby/object:Gem::Version
         | 
| 77 77 | 
             
                    version: '0'
         | 
| 78 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 79 | 
            +
              name: rails
         | 
| 80 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 81 | 
            +
                none: false
         | 
| 82 | 
            +
                requirements:
         | 
| 83 | 
            +
                - - ! '>='
         | 
| 84 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 85 | 
            +
                    version: '3.1'
         | 
| 86 | 
            +
              type: :development
         | 
| 87 | 
            +
              prerelease: false
         | 
| 88 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 89 | 
            +
                none: false
         | 
| 90 | 
            +
                requirements:
         | 
| 91 | 
            +
                - - ! '>='
         | 
| 92 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 93 | 
            +
                    version: '3.1'
         | 
| 78 94 | 
             
            description: 
         | 
| 79 95 | 
             
            email:
         | 
| 80 96 | 
             
            - bigjasonwebb@gmail.com
         | 
| @@ -102,6 +118,7 @@ files: | |
| 102 118 | 
             
            - /Users/jwebb/src/bigjason/elster/elster.gemspec
         | 
| 103 119 | 
             
            - /Users/jwebb/src/bigjason/elster/Gemfile
         | 
| 104 120 | 
             
            - /Users/jwebb/src/bigjason/elster/Gemfile.lock
         | 
| 121 | 
            +
            - /Users/jwebb/src/bigjason/elster/lib/elster/elster_handler.rb
         | 
| 105 122 | 
             
            - /Users/jwebb/src/bigjason/elster/lib/elster/exceptions.rb
         | 
| 106 123 | 
             
            - /Users/jwebb/src/bigjason/elster/lib/elster/streamer.rb
         | 
| 107 124 | 
             
            - /Users/jwebb/src/bigjason/elster/lib/elster/version.rb
         | 
| @@ -112,10 +129,11 @@ files: | |
| 112 129 | 
             
            - /Users/jwebb/src/bigjason/elster/pkg/elster-0.0.5.gem
         | 
| 113 130 | 
             
            - /Users/jwebb/src/bigjason/elster/pkg/elster-0.0.6.gem
         | 
| 114 131 | 
             
            - /Users/jwebb/src/bigjason/elster/pkg/elster-0.0.7.gem
         | 
| 132 | 
            +
            - /Users/jwebb/src/bigjason/elster/pkg/elster-0.0.8.gem
         | 
| 115 133 | 
             
            - /Users/jwebb/src/bigjason/elster/Rakefile
         | 
| 116 134 | 
             
            - /Users/jwebb/src/bigjason/elster/README.md
         | 
| 117 135 | 
             
            - /Users/jwebb/src/bigjason/elster/test/streamer_test.rb
         | 
| 118 | 
            -
            homepage:  | 
| 136 | 
            +
            homepage: https://github.com/bigjason/elster
         | 
| 119 137 | 
             
            licenses: []
         | 
| 120 138 | 
             
            post_install_message: 
         | 
| 121 139 | 
             
            rdoc_options: []
         | 
| @@ -129,7 +147,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 129 147 | 
             
                  version: '0'
         | 
| 130 148 | 
             
                  segments:
         | 
| 131 149 | 
             
                  - 0
         | 
| 132 | 
            -
                  hash: - | 
| 150 | 
            +
                  hash: -247596212203680620
         | 
| 133 151 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 134 152 | 
             
              none: false
         | 
| 135 153 | 
             
              requirements:
         | 
| @@ -138,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 138 156 | 
             
                  version: '0'
         | 
| 139 157 | 
             
                  segments:
         | 
| 140 158 | 
             
                  - 0
         | 
| 141 | 
            -
                  hash: - | 
| 159 | 
            +
                  hash: -247596212203680620
         | 
| 142 160 | 
             
            requirements: []
         | 
| 143 161 | 
             
            rubyforge_project: 
         | 
| 144 162 | 
             
            rubygems_version: 1.8.24
         |