usmu 1.2.2-java → 1.3.0.dev-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/usmu +0 -0
- data/lib/usmu/configuration.rb +1 -1
- data/lib/usmu/plugin/core.rb +7 -1
- data/lib/usmu/template/static_file.rb +1 -1
- data/lib/usmu/ui/rack_server.rb +7 -3
- data/lib/usmu/version.rb +1 -1
- data/spec/support/shared_layout.rb +10 -0
- data/usmu.gemspec +1 -0
- metadata +19 -5
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 955d9867a7340719b187794da38d048e172fc181
         | 
| 4 | 
            +
              data.tar.gz: 8041aa24f2ea359222142730769c344a27514fcd
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: fed9c91817e2c52bebea2812cd162847028a89ca171dc5b085885b367b8e084d4ab9a6c4a101f8d6b33ba95c405c17e70cd8366051189cb40effd3956109b4f8
         | 
| 7 | 
            +
              data.tar.gz: 3c3cedd5daaf3aa81c49301762fc902aa49158bafdfde4b20d422015693360fd9fb3b2b7a1c72a064b67f3d24aa7ea03ec7e226847d317f48c8cf64a5b42b417
         | 
    
        data/bin/usmu
    CHANGED
    
    | 
            File without changes
         | 
    
        data/lib/usmu/configuration.rb
    CHANGED
    
    
    
        data/lib/usmu/plugin/core.rb
    CHANGED
    
    | @@ -77,9 +77,15 @@ module Usmu | |
| 77 77 | 
             
                    configuration = @ui.configuration
         | 
| 78 78 | 
             
                    @log.info('Starting webserver...')
         | 
| 79 79 |  | 
| 80 | 
            -
                     | 
| 80 | 
            +
                    server = Ui::RackServer.new(configuration)
         | 
| 81 | 
            +
                    trap :INT do
         | 
| 82 | 
            +
                      Rack::Handler::WEBrick.shutdown
         | 
| 83 | 
            +
                      server.shutdown
         | 
| 84 | 
            +
                    end
         | 
| 85 | 
            +
                    Rack::Handler::WEBrick.run server,
         | 
| 81 86 | 
             
                                               Host: configuration['serve', 'host', default: 'localhost'],
         | 
| 82 87 | 
             
                                               Port: configuration['serve', 'port', default: 8080]
         | 
| 88 | 
            +
                    @log.info('Stopped webserver.')
         | 
| 83 89 | 
             
                  end
         | 
| 84 90 |  | 
| 85 91 | 
             
                  private
         | 
| @@ -35,7 +35,7 @@ module Usmu | |
| 35 35 | 
             
                  # @param variables [Hash] Variables to be used in the template.
         | 
| 36 36 | 
             
                  # @return [String] The rendered file
         | 
| 37 37 | 
             
                  def render(variables = {})
         | 
| 38 | 
            -
                    @content || File.read(input_path)
         | 
| 38 | 
            +
                    @content || File.read(input_path, mode: 'rb')
         | 
| 39 39 | 
             
                  end
         | 
| 40 40 |  | 
| 41 41 | 
             
                  # @!attribute [r] input_path
         | 
    
        data/lib/usmu/ui/rack_server.rb
    CHANGED
    
    | @@ -5,21 +5,22 @@ module Usmu | |
| 5 5 | 
             
                  def initialize(configuration)
         | 
| 6 6 | 
             
                    @log = Logging.logger[self]
         | 
| 7 7 | 
             
                    @configuration = configuration
         | 
| 8 | 
            -
                    @generator = @configuration.generator
         | 
| 9 8 | 
             
                    @index = configuration['serve', 'index', default: 'index.html']
         | 
| 10 9 | 
             
                  end
         | 
| 11 10 |  | 
| 12 11 | 
             
                  def call(env)
         | 
| 12 | 
            +
                    generator = @configuration.generator
         | 
| 13 | 
            +
                    
         | 
| 13 14 | 
             
                    path = env['PATH_INFO'][1...env['PATH_INFO'].length]
         | 
| 14 15 | 
             
                    @log.info "Received a request for: #{path}"
         | 
| 15 16 | 
             
                    path = File.join(path, @index) if File.directory? File.join(@configuration.source_path, path)
         | 
| 16 17 | 
             
                    path = path[1...path.length] if path[0] == '/'
         | 
| 17 18 | 
             
                    @log.info "Serving: #{path}"
         | 
| 18 19 |  | 
| 19 | 
            -
                    valid =  | 
| 20 | 
            +
                    valid = generator.renderables.select {|r| r.output_filename == path }
         | 
| 20 21 |  | 
| 21 22 | 
             
                    if valid.length > 0
         | 
| 22 | 
            -
                       | 
| 23 | 
            +
                      generator.refresh
         | 
| 23 24 | 
             
                      page = valid[0]
         | 
| 24 25 | 
             
                      type = case page.output_filename[page.output_filename.rindex('.')...page.output_filename.length]
         | 
| 25 26 | 
             
                               when '.html', '.php'
         | 
| @@ -37,6 +38,9 @@ module Usmu | |
| 37 38 | 
             
                      ['404', {'Content-Type' => 'text/html'}, ['<!DOCTYPE html><h1>File not found.</h1>']]
         | 
| 38 39 | 
             
                    end
         | 
| 39 40 | 
             
                  end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                  def shutdown
         | 
| 43 | 
            +
                  end
         | 
| 40 44 | 
             
                end
         | 
| 41 45 | 
             
              end
         | 
| 42 46 | 
             
            end
         | 
    
        data/lib/usmu/version.rb
    CHANGED
    
    
| @@ -36,6 +36,16 @@ RSpec.shared_examples 'a layout' do | |
| 36 36 | 
             
                EOF
         | 
| 37 37 | 
             
              end
         | 
| 38 38 |  | 
| 39 | 
            +
              it 'and rendering two different files with the same name gives different output' do
         | 
| 40 | 
            +
                layout = described_class.new(empty_configuration, 'body.slim', {}, 'slim', "html\n  body")
         | 
| 41 | 
            +
                layout2 = described_class.new(empty_configuration, 'body.slim', {}, 'slim', 'body')
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                output = layout.render 'content' => ''
         | 
| 44 | 
            +
                output2 = layout2.render 'content' => ''
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                expect(output).to_not eq(output2)
         | 
| 47 | 
            +
              end
         | 
| 48 | 
            +
             | 
| 39 49 | 
             
              context 'and when it\'s type' do
         | 
| 40 50 | 
             
                it 'is invalid' do
         | 
| 41 51 | 
             
                  expect {described_class.new(empty_configuration, 'body.foo', {}, nil, '')}.to raise_error()
         | 
    
        data/usmu.gemspec
    CHANGED
    
    | @@ -29,6 +29,7 @@ Gem::Specification.new do |spec| | |
| 29 29 | 
             
              spec.add_dependency 'deep_merge', '~> 1.0'
         | 
| 30 30 | 
             
              spec.add_dependency 'commander', '~> 4.2'
         | 
| 31 31 | 
             
              spec.add_dependency 'logging', '~> 2.0'
         | 
| 32 | 
            +
              spec.add_dependency 'json', '~> 1.8'
         | 
| 32 33 |  | 
| 33 34 | 
             
              spec.add_development_dependency 'bundler', '~> 1.6'
         | 
| 34 35 | 
             
              spec.add_development_dependency 'rake', '~> 10.0'
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: usmu
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.3.0.dev
         | 
| 5 5 | 
             
            platform: java
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Matthew Scharley
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2016-01-02 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: slim
         | 
| @@ -94,6 +94,20 @@ dependencies: | |
| 94 94 | 
             
                - - "~>"
         | 
| 95 95 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 96 | 
             
                    version: '2.0'
         | 
| 97 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 98 | 
            +
              name: json
         | 
| 99 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 100 | 
            +
                requirements:
         | 
| 101 | 
            +
                - - "~>"
         | 
| 102 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 103 | 
            +
                    version: '1.8'
         | 
| 104 | 
            +
              type: :runtime
         | 
| 105 | 
            +
              prerelease: false
         | 
| 106 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 107 | 
            +
                requirements:
         | 
| 108 | 
            +
                - - "~>"
         | 
| 109 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 110 | 
            +
                    version: '1.8'
         | 
| 97 111 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 98 112 | 
             
              name: bundler
         | 
| 99 113 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -339,12 +353,12 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 339 353 | 
             
                  version: '2.0'
         | 
| 340 354 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 341 355 | 
             
              requirements:
         | 
| 342 | 
            -
              - - " | 
| 356 | 
            +
              - - ">"
         | 
| 343 357 | 
             
                - !ruby/object:Gem::Version
         | 
| 344 | 
            -
                  version:  | 
| 358 | 
            +
                  version: 1.3.1
         | 
| 345 359 | 
             
            requirements: []
         | 
| 346 360 | 
             
            rubyforge_project: 
         | 
| 347 | 
            -
            rubygems_version: 2.4. | 
| 361 | 
            +
            rubygems_version: 2.4.5.1
         | 
| 348 362 | 
             
            signing_key: 
         | 
| 349 363 | 
             
            specification_version: 4
         | 
| 350 364 | 
             
            summary: A static site generator with a web-based frontend for editing.
         |