SimpleCells

Install

Add to your Gemfile and bundle:

gem "simple_cells"

Add the render method by including the helper in your ApplicationHelper:

module ApplicationHelper
  include SimpleCells::ViewsHelper
end

Autoload the simple cells through "application.rb":

config.autoload_paths << Rails.root.join("app", "simple_cells")

Usage

Add a cells-class to your application in "app/simple_cells/users_simple_cell.rb":

class UsersSimpleCell < SimpleCells::BaseCell
  def my_action
  end

  def helper_method
    "Hello from helper method"
  end
end

Then add a view file for the action in "app/views/simple_cells/users/my_action.html.erb":

Hello world
Content of my variable: <%= simple_cell[:my_variable] %>
Helper method: <%= simple_cell.helper_method %>

You can now render it like this from another ERB file:

<%= render_simple_cell :users, :my_action, my_variable: "Test" %>

Check if a variable has been given:

class MyCell < SimpleCells::BaseCell
  def my_method
    if simple_cell_argument?
      puts "Variable has been given"
    else
      puts "Variable has not been given"
    end
  end
end

Testing

You can test your cells individually like this:

require "rails_helper"

describe "my cell" do
  it "renders" do
    helper = SimpleCells::SpecHelper.new("users/something", :show)
    expect(helper.body).to include "some text"
  end
end

License

This project rocks and uses MIT-LICENSE.