rafters 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 06d271740c2834640701158193c17c1054228825
4
- data.tar.gz: c4cc3af9945fc8e0ece7e787f7ebbfd1fe5539ad
3
+ metadata.gz: 72ca3bd17594c2258f6e49db8ae9cd9a790e8401
4
+ data.tar.gz: 56180a28505beb04a9ed2586b46cbaed30f52e4e
5
5
  SHA512:
6
- metadata.gz: 89c94d519911b237cf4ed2d29fc5247a0cfd74d4dbd3339d0ea7dcf2a420920a117d161e053debe0e6dda6e192855e6643f3b14920126a137fd252caa4e54e4b
7
- data.tar.gz: c86a9ab53bce55b978eea3134a08e7192a28fcec2bcfbcc8676a133bb977963944c499a6f5936d8fa933e7d9fbf1f202db85e0a23b29e83622d6b60fa31b5846
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/[name]/[name]_component.rb` and `app/rafters/[name]/views/[name]_component.html.erb`, which are (respectively) our component controller and view.
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
- ## Creating a source option for a component
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
- ```ruby
194
- $ rails g rafters:source {component name} {source name}
193
+ ```sh
194
+ $ rails g rafters:source {component_name} {source_name}
195
195
  ```
196
196
 
197
- This generator will create a file named `{component name}_{source name}_source.rb` in the specified component's sources directory.
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
 
@@ -8,8 +8,8 @@ module Rafters
8
8
 
9
9
  eager_autoload do
10
10
  autoload :Component
11
- autoload :ComponentContext
12
- autoload :ComponentRenderer
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::ComponentContext)
27
+ ActionController::Base.send(:include, Rafters::Context)
@@ -1,4 +1,4 @@
1
- module Rafters::ComponentContext
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::ComponentRenderer.new(self)
37
+ @_component_renderer ||= Rafters::Renderer.new(self, view_context)
38
38
  end
39
39
 
40
40
  def component(name, options = {})
@@ -1,4 +1,4 @@
1
- require 'rafters/directive_processor'
1
+ require 'rafters/sprockets/directive_processor'
2
2
 
3
3
  class Rafters::Railtie < Rails::Railtie
4
4
  initializer "rafters.load_view_paths" do |app|
@@ -1,6 +1,7 @@
1
- class Rafters::ComponentRenderer
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
- @controller.view_context.content_tag(:div, class: "component #{component.name.dasherize}", id: component.identifier) do
16
- @controller.view_context.render(file: "/#{component.template_name}", locals: component.attributes)
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
 
@@ -1,3 +1,3 @@
1
1
  module Rafters
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
3
  end
@@ -1,19 +1,19 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  class FooController < ActionController::Base
4
- include Rafters::ComponentContext
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::ComponentContext do
11
+ describe Rafters::Context do
12
12
  let(:controller) { FooController.new }
13
- let(:renderer) { double("ComponentRenderer", render: "<p>Output</p>") }
13
+ let(:renderer) { double("Renderer", render: "<p>Output</p>") }
14
14
 
15
15
  before do
16
- Rafters::ComponentRenderer.stub(:new).and_return(renderer)
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::ComponentRenderer do
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::ComponentRenderer.new(controller)
20
+ Rafters::Renderer.new(controller)
21
21
  end
22
22
  end
23
23
 
24
24
  describe "#render" do
25
- subject { Rafters::ComponentRenderer.new(controller) }
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.0
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/component_context.rb
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:
@@ -1,4 +0,0 @@
1
- # desc "Explaining what the task does"
2
- # task :rafters do
3
- # # Task goes here
4
- # end