rafters 1.2.0 → 1.2.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.
- checksums.yaml +4 -4
 - data/README.md +5 -5
 - data/lib/rafters.rb +3 -3
 - data/lib/rafters/{component_context.rb → context.rb} +2 -2
 - data/lib/rafters/railtie.rb +1 -1
 - data/lib/rafters/{component_renderer.rb → renderer.rb} +5 -4
 - data/lib/rafters/{directive_processor.rb → sprockets/directive_processor.rb} +0 -0
 - data/lib/rafters/version.rb +1 -1
 - data/spec/rafters/{component_context_spec.rb → context_spec.rb} +4 -4
 - data/spec/rafters/{component_renderer_spec.rb → renderer_spec.rb} +3 -3
 - metadata +8 -9
 - data/lib/tasks/rafters_tasks.rake +0 -4
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 72ca3bd17594c2258f6e49db8ae9cd9a790e8401
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 56180a28505beb04a9ed2586b46cbaed30f52e4e
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: cd5c342a61c308221678523c547564656ff80cca6ac9b1eccfc3eb404862ca100ff90ce48b398eafe63358ec6a91f3fa3c770eb48253526d86e6e112568dc279
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 349c5562bfee46be2fd5fb63a528ecd880dd33f64cb8783b7b2df074b97ff0fb92a872766287b667d07a7c568b56466dd3e1684d79134f65a5f7ac92fe49cbad
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -58,7 +58,7 @@ app/rafters/{name}/assets/javascripts/{name}_component.js.coffee 
     | 
|
| 
       58 
58 
     | 
    
         
             
            app/rafters/{name}/views/{name}_component.html.erb
         
     | 
| 
       59 
59 
     | 
    
         
             
            ```
         
     | 
| 
       60 
60 
     | 
    
         | 
| 
       61 
     | 
    
         
            -
            The two most important files generated above are `app/rafters/ 
     | 
| 
      
 61 
     | 
    
         
            +
            The two most important files generated above are `app/rafters/{name}/{name}_component.rb` and `app/rafters/{name}/views/{name}_component.html.erb`, which are (respectively) our component controller and view.
         
     | 
| 
       62 
62 
     | 
    
         | 
| 
       63 
63 
     | 
    
         
             
            ### Rendering a component
         
     | 
| 
       64 
64 
     | 
    
         | 
| 
         @@ -184,17 +184,17 @@ defaults type: "comment", filter: "none" 
     | 
|
| 
       184 
184 
     | 
    
         
             
            default :published, false
         
     | 
| 
       185 
185 
     | 
    
         
             
            ```
         
     | 
| 
       186 
186 
     | 
    
         | 
| 
       187 
     | 
    
         
            -
             
     | 
| 
      
 187 
     | 
    
         
            +
            ### Creating a source option for a component
         
     | 
| 
       188 
188 
     | 
    
         | 
| 
       189 
189 
     | 
    
         
             
            There are often times when a single, general component can be powered by multiple complex data sources. In order to do this Rafters includes to option to create "source" classes that belong to individual components. Each source should expose an interface that can be consumed by the component's template, and options that are set on the component level are accessible at the source level as well.
         
     | 
| 
       190 
190 
     | 
    
         | 
| 
       191 
191 
     | 
    
         
             
            To create a source, run the following generator:
         
     | 
| 
       192 
192 
     | 
    
         | 
| 
       193 
     | 
    
         
            -
            ``` 
     | 
| 
       194 
     | 
    
         
            -
            $ rails g rafters:source { 
     | 
| 
      
 193 
     | 
    
         
            +
            ```sh
         
     | 
| 
      
 194 
     | 
    
         
            +
            $ rails g rafters:source {component_name} {source_name}
         
     | 
| 
       195 
195 
     | 
    
         
             
            ```
         
     | 
| 
       196 
196 
     | 
    
         | 
| 
       197 
     | 
    
         
            -
            This generator will create a file named `{ 
     | 
| 
      
 197 
     | 
    
         
            +
            This generator will create a file named `{component_name}_{source_name}_source.rb` in the specified component's sources directory.
         
     | 
| 
       198 
198 
     | 
    
         | 
| 
       199 
199 
     | 
    
         
             
            A source class is a simple Ruby class that includes the `Rafters::Source` module. You can do pretty much anything you want with source classes (including subclassing), as long as they all expose the same public interface methods. When a component is configured to use a specific source, the `#source` method in that component will return an instance of the specified source class.
         
     | 
| 
       200 
200 
     | 
    
         | 
    
        data/lib/rafters.rb
    CHANGED
    
    | 
         @@ -8,8 +8,8 @@ module Rafters 
     | 
|
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
              eager_autoload do
         
     | 
| 
       10 
10 
     | 
    
         
             
                autoload :Component
         
     | 
| 
       11 
     | 
    
         
            -
                autoload : 
     | 
| 
       12 
     | 
    
         
            -
                autoload : 
     | 
| 
      
 11 
     | 
    
         
            +
                autoload :Context
         
     | 
| 
      
 12 
     | 
    
         
            +
                autoload :Renderer
         
     | 
| 
       13 
13 
     | 
    
         
             
                autoload :Source
         
     | 
| 
       14 
14 
     | 
    
         
             
              end
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
         @@ -24,4 +24,4 @@ module Rafters 
     | 
|
| 
       24 
24 
     | 
    
         
             
              @@asset_paths = nil
         
     | 
| 
       25 
25 
     | 
    
         
             
            end
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
       27 
     | 
    
         
            -
            ActionController::Base.send(:include, Rafters:: 
     | 
| 
      
 27 
     | 
    
         
            +
            ActionController::Base.send(:include, Rafters::Context)
         
     | 
| 
         @@ -1,4 +1,4 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            module Rafters:: 
     | 
| 
      
 1 
     | 
    
         
            +
            module Rafters::Context
         
     | 
| 
       2 
2 
     | 
    
         
             
              extend ActiveSupport::Concern
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
              included do
         
     | 
| 
         @@ -34,7 +34,7 @@ module Rafters::ComponentContext 
     | 
|
| 
       34 
34 
     | 
    
         
             
              private
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
36 
     | 
    
         
             
              def component_renderer
         
     | 
| 
       37 
     | 
    
         
            -
                @_component_renderer ||= Rafters:: 
     | 
| 
      
 37 
     | 
    
         
            +
                @_component_renderer ||= Rafters::Renderer.new(self, view_context)
         
     | 
| 
       38 
38 
     | 
    
         
             
              end
         
     | 
| 
       39 
39 
     | 
    
         | 
| 
       40 
40 
     | 
    
         
             
              def component(name, options = {})
         
     | 
    
        data/lib/rafters/railtie.rb
    CHANGED
    
    
| 
         @@ -1,6 +1,7 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            class Rafters:: 
     | 
| 
       2 
     | 
    
         
            -
              def initialize(controller)
         
     | 
| 
      
 1 
     | 
    
         
            +
            class Rafters::Renderer
         
     | 
| 
      
 2 
     | 
    
         
            +
              def initialize(controller, view_context)
         
     | 
| 
       3 
3 
     | 
    
         
             
                @controller = controller
         
     | 
| 
      
 4 
     | 
    
         
            +
                @view_context = view_context
         
     | 
| 
       4 
5 
     | 
    
         | 
| 
       5 
6 
     | 
    
         
             
                Rafters.view_paths.each do |view_path|
         
     | 
| 
       6 
7 
     | 
    
         
             
                  @controller.prepend_view_path(view_path)
         
     | 
| 
         @@ -12,8 +13,8 @@ class Rafters::ComponentRenderer 
     | 
|
| 
       12 
13 
     | 
    
         | 
| 
       13 
14 
     | 
    
         
             
                store(component)
         
     | 
| 
       14 
15 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
                @ 
     | 
| 
       16 
     | 
    
         
            -
                  @ 
     | 
| 
      
 16 
     | 
    
         
            +
                @view_context.content_tag(:div, class: "component #{component.name.dasherize}", id: component.identifier) do
         
     | 
| 
      
 17 
     | 
    
         
            +
                  @view_context.render(file: "/#{component.template_name}", locals: component.attributes)
         
     | 
| 
       17 
18 
     | 
    
         
             
                end
         
     | 
| 
       18 
19 
     | 
    
         
             
              end
         
     | 
| 
       19 
20 
     | 
    
         | 
| 
         
            File without changes
         
     | 
    
        data/lib/rafters/version.rb
    CHANGED
    
    
| 
         @@ -1,19 +1,19 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'spec_helper'
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            class FooController < ActionController::Base
         
     | 
| 
       4 
     | 
    
         
            -
              include Rafters:: 
     | 
| 
      
 4 
     | 
    
         
            +
              include Rafters::Context
         
     | 
| 
       5 
5 
     | 
    
         
             
            end
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            class FooComponent
         
     | 
| 
       8 
8 
     | 
    
         
             
              include Rafters::Component
         
     | 
| 
       9 
9 
     | 
    
         
             
            end
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
            describe Rafters:: 
     | 
| 
      
 11 
     | 
    
         
            +
            describe Rafters::Context do
         
     | 
| 
       12 
12 
     | 
    
         
             
              let(:controller) { FooController.new }
         
     | 
| 
       13 
     | 
    
         
            -
              let(:renderer) { double(" 
     | 
| 
      
 13 
     | 
    
         
            +
              let(:renderer) { double("Renderer", render: "<p>Output</p>") }
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
              before do
         
     | 
| 
       16 
     | 
    
         
            -
                Rafters:: 
     | 
| 
      
 16 
     | 
    
         
            +
                Rafters::Renderer.stub(:new).and_return(renderer)
         
     | 
| 
       17 
17 
     | 
    
         
             
              end
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
              describe "#render_component" do
         
     | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'spec_helper'
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            describe Rafters:: 
     | 
| 
      
 3 
     | 
    
         
            +
            describe Rafters::Renderer do
         
     | 
| 
       4 
4 
     | 
    
         
             
              let(:view_context) { double("ViewContext").as_null_object }
         
     | 
| 
       5 
5 
     | 
    
         
             
              let(:controller) { double("Controller").as_null_object }
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
         @@ -17,12 +17,12 @@ describe Rafters::ComponentRenderer do 
     | 
|
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         
             
                it "should add the view paths for all components to the controller" do
         
     | 
| 
       19 
19 
     | 
    
         
             
                  controller.should_receive(:prepend_view_path).with("/path/to/views")
         
     | 
| 
       20 
     | 
    
         
            -
                  Rafters:: 
     | 
| 
      
 20 
     | 
    
         
            +
                  Rafters::Renderer.new(controller)
         
     | 
| 
       21 
21 
     | 
    
         
             
                end
         
     | 
| 
       22 
22 
     | 
    
         
             
              end
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
              describe "#render" do
         
     | 
| 
       25 
     | 
    
         
            -
                subject { Rafters:: 
     | 
| 
      
 25 
     | 
    
         
            +
                subject { Rafters::Renderer.new(controller) }
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
       27 
27 
     | 
    
         
             
                let(:component) { double("Component").as_null_object }
         
     | 
| 
       28 
28 
     | 
    
         | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: rafters
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.2. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.2.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Andrew Hite
         
     | 
| 
         @@ -177,13 +177,12 @@ files: 
     | 
|
| 
       177 
177 
     | 
    
         
             
            - lib/generators/rafters/source/templates/source.rb.erb
         
     | 
| 
       178 
178 
     | 
    
         
             
            - lib/rafters.rb
         
     | 
| 
       179 
179 
     | 
    
         
             
            - lib/rafters/component.rb
         
     | 
| 
       180 
     | 
    
         
            -
            - lib/rafters/ 
     | 
| 
       181 
     | 
    
         
            -
            - lib/rafters/component_renderer.rb
         
     | 
| 
       182 
     | 
    
         
            -
            - lib/rafters/directive_processor.rb
         
     | 
| 
      
 180 
     | 
    
         
            +
            - lib/rafters/context.rb
         
     | 
| 
       183 
181 
     | 
    
         
             
            - lib/rafters/railtie.rb
         
     | 
| 
      
 182 
     | 
    
         
            +
            - lib/rafters/renderer.rb
         
     | 
| 
       184 
183 
     | 
    
         
             
            - lib/rafters/source.rb
         
     | 
| 
      
 184 
     | 
    
         
            +
            - lib/rafters/sprockets/directive_processor.rb
         
     | 
| 
       185 
185 
     | 
    
         
             
            - lib/rafters/version.rb
         
     | 
| 
       186 
     | 
    
         
            -
            - lib/tasks/rafters_tasks.rake
         
     | 
| 
       187 
186 
     | 
    
         
             
            - rafters.gemspec
         
     | 
| 
       188 
187 
     | 
    
         
             
            - spec/dummy/Rakefile
         
     | 
| 
       189 
188 
     | 
    
         
             
            - spec/dummy/app/assets/javascripts/application.js
         
     | 
| 
         @@ -245,10 +244,10 @@ files: 
     | 
|
| 
       245 
244 
     | 
    
         
             
            - spec/dummy/public/500.html
         
     | 
| 
       246 
245 
     | 
    
         
             
            - spec/dummy/public/favicon.ico
         
     | 
| 
       247 
246 
     | 
    
         
             
            - spec/dummy/script/rails
         
     | 
| 
       248 
     | 
    
         
            -
            - spec/rafters/component_context_spec.rb
         
     | 
| 
       249 
     | 
    
         
            -
            - spec/rafters/component_renderer_spec.rb
         
     | 
| 
       250 
247 
     | 
    
         
             
            - spec/rafters/component_spec.rb
         
     | 
| 
      
 248 
     | 
    
         
            +
            - spec/rafters/context_spec.rb
         
     | 
| 
       251 
249 
     | 
    
         
             
            - spec/rafters/features/rendering_a_page_spec.rb
         
     | 
| 
      
 250 
     | 
    
         
            +
            - spec/rafters/renderer_spec.rb
         
     | 
| 
       252 
251 
     | 
    
         
             
            - spec/spec_helper.rb
         
     | 
| 
       253 
252 
     | 
    
         
             
            homepage: ''
         
     | 
| 
       254 
253 
     | 
    
         
             
            licenses:
         
     | 
| 
         @@ -336,9 +335,9 @@ test_files: 
     | 
|
| 
       336 
335 
     | 
    
         
             
            - spec/dummy/public/500.html
         
     | 
| 
       337 
336 
     | 
    
         
             
            - spec/dummy/public/favicon.ico
         
     | 
| 
       338 
337 
     | 
    
         
             
            - spec/dummy/script/rails
         
     | 
| 
       339 
     | 
    
         
            -
            - spec/rafters/component_context_spec.rb
         
     | 
| 
       340 
     | 
    
         
            -
            - spec/rafters/component_renderer_spec.rb
         
     | 
| 
       341 
338 
     | 
    
         
             
            - spec/rafters/component_spec.rb
         
     | 
| 
      
 339 
     | 
    
         
            +
            - spec/rafters/context_spec.rb
         
     | 
| 
       342 
340 
     | 
    
         
             
            - spec/rafters/features/rendering_a_page_spec.rb
         
     | 
| 
      
 341 
     | 
    
         
            +
            - spec/rafters/renderer_spec.rb
         
     | 
| 
       343 
342 
     | 
    
         
             
            - spec/spec_helper.rb
         
     | 
| 
       344 
343 
     | 
    
         
             
            has_rdoc: 
         
     |