stachio 0.0.2 → 0.0.3
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/.gitignore +1 -0
- data/.simplecov +0 -9
- data/app/controllers/stachio/application_controller.rb +3 -0
- data/app/controllers/stachio/templates_controller.rb +12 -0
- data/app/helpers/stachio/application_helper.rb +3 -0
- data/app/helpers/stachio/templates_helper.rb +3 -0
- data/app/models/stachio/template.rb +18 -8
- data/app/views/layouts/stachio/application.html.erb +7 -1
- data/app/views/stachio/templates/index.html.erb +7 -3
- data/app/views/stachio/templates/show.html.erb +3 -1
- data/config/routes.rb +1 -2
- data/lib/stachio/engine.rb +2 -0
- data/lib/stachio/version.rb +1 -1
- data/spec/controllers/stachio/templates_controller_spec.rb +57 -0
- data/spec/models/stachio/template_spec.rb +53 -17
- data/spec/routing/stachio/templates_routing_spec.rb +7 -7
- data/spec/spec_helper.rb +10 -1
- metadata +2 -4
- data/Gemfile.lock +0 -152
- data/lib/stachio/proxy.rb +0 -20
    
        data/.gitignore
    CHANGED
    
    
    
        data/.simplecov
    CHANGED
    
    | @@ -9,13 +9,4 @@ unless ENV['COVERAGE'] == 'false' | |
| 9 9 | 
             
              end
         | 
| 10 10 |  | 
| 11 11 | 
             
              SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter
         | 
| 12 | 
            -
             | 
| 13 | 
            -
              SimpleCov.start('rails') do
         | 
| 14 | 
            -
                add_filter                "vendor/ruby/"
         | 
| 15 | 
            -
                add_filter                "spec/dummy"
         | 
| 16 | 
            -
             | 
| 17 | 
            -
                add_group "Models",       "app/models"
         | 
| 18 | 
            -
                add_group "Views",        "app/views"
         | 
| 19 | 
            -
                add_group "Controllers",  "app/controllers"
         | 
| 20 | 
            -
              end
         | 
| 21 12 | 
             
            end
         | 
| @@ -2,6 +2,10 @@ require_dependency "stachio/application_controller" | |
| 2 2 |  | 
| 3 3 | 
             
            module Stachio
         | 
| 4 4 | 
             
              class TemplatesController < ApplicationController
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                before_filter      :permission
         | 
| 7 | 
            +
                skip_before_filter :permission, :only => [:index, :show]
         | 
| 8 | 
            +
             | 
| 5 9 | 
             
                # GET /templates
         | 
| 6 10 | 
             
                # GET /templates.json
         | 
| 7 11 | 
             
                def index
         | 
| @@ -83,5 +87,13 @@ module Stachio | |
| 83 87 | 
             
                    format.json { head :no_content }
         | 
| 84 88 | 
             
                  end
         | 
| 85 89 | 
             
                end
         | 
| 90 | 
            +
             | 
| 91 | 
            +
                private
         | 
| 92 | 
            +
             | 
| 93 | 
            +
                def permission
         | 
| 94 | 
            +
                  return true unless readonly
         | 
| 95 | 
            +
                  flash[:notice] = "Templates are readonly"
         | 
| 96 | 
            +
                  redirect_to :action => :index
         | 
| 97 | 
            +
                end
         | 
| 86 98 | 
             
              end
         | 
| 87 99 | 
             
            end
         | 
| @@ -1,21 +1,31 @@ | |
| 1 | 
            -
            require 'stachio/proxy'
         | 
| 2 | 
            -
             | 
| 3 1 | 
             
            module Stachio
         | 
| 2 | 
            +
              Mustache.raise_on_context_miss = true
         | 
| 3 | 
            +
             | 
| 4 4 | 
             
              class Template < ActiveRecord::Base
         | 
| 5 5 | 
             
                lookup_by :template_name
         | 
| 6 6 |  | 
| 7 7 | 
             
                attr_accessible :template_name, :content
         | 
| 8 8 | 
             
                validates_presence_of :template_name, :content
         | 
| 9 9 |  | 
| 10 | 
            -
                attr_accessor : | 
| 10 | 
            +
                attr_accessor :presents, :rendered
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                def reset
         | 
| 13 | 
            +
                  self.rendered = nil
         | 
| 14 | 
            +
                end
         | 
| 11 15 |  | 
| 12 | 
            -
                def  | 
| 13 | 
            -
                   | 
| 16 | 
            +
                def render(options={})
         | 
| 17 | 
            +
                  options = options.with_indifferent_access
         | 
| 18 | 
            +
                  reset if !!(options[:force] or options[:reset])
         | 
| 19 | 
            +
                  self.rendered ||= Mustache.render(content, presents) unless presents.nil?
         | 
| 14 20 | 
             
                end
         | 
| 21 | 
            +
                alias_method :assemble,  :render
         | 
| 22 | 
            +
                alias_method :composite, :render
         | 
| 23 | 
            +
                alias_method :compose,   :render
         | 
| 15 24 |  | 
| 16 | 
            -
                def  | 
| 17 | 
            -
                   | 
| 18 | 
            -
                   | 
| 25 | 
            +
                def present(values=nil, options={})
         | 
| 26 | 
            +
                  return render if values.nil?
         | 
| 27 | 
            +
                  self.presents = values
         | 
| 28 | 
            +
                  render options.merge(:force => true)
         | 
| 19 29 | 
             
                end
         | 
| 20 30 | 
             
              end
         | 
| 21 31 | 
             
            end
         | 
| @@ -14,12 +14,16 @@ | |
| 14 14 | 
             
                <td><%= template.template_name %></td>
         | 
| 15 15 | 
             
                <td><%= template.content %></td>
         | 
| 16 16 | 
             
                <td><%= link_to 'Show', template %></td>
         | 
| 17 | 
            -
                 | 
| 18 | 
            -
             | 
| 17 | 
            +
                <% unless readonly %>
         | 
| 18 | 
            +
                  <td><%= link_to 'Edit', edit_template_path(template) %></td>
         | 
| 19 | 
            +
                  <td><%= link_to 'Destroy', template, method: :delete, data: { confirm: 'Are you sure?' } %></td>
         | 
| 20 | 
            +
                <% end %>
         | 
| 19 21 | 
             
              </tr>
         | 
| 20 22 | 
             
            <% end %>
         | 
| 21 23 | 
             
            </table>
         | 
| 22 24 |  | 
| 23 25 | 
             
            <br />
         | 
| 24 26 |  | 
| 25 | 
            -
             | 
| 27 | 
            +
            <% unless readonly %>
         | 
| 28 | 
            +
              <%= link_to 'New Template', new_template_path %>
         | 
| 29 | 
            +
            <% end %>
         | 
    
        data/config/routes.rb
    CHANGED
    
    
    
        data/lib/stachio/engine.rb
    CHANGED
    
    
    
        data/lib/stachio/version.rb
    CHANGED
    
    
| @@ -20,6 +20,9 @@ require 'spec_helper' | |
| 20 20 |  | 
| 21 21 | 
             
            module Stachio
         | 
| 22 22 | 
             
              describe TemplatesController do
         | 
| 23 | 
            +
                # 'render_views' will render any erb /haml/whatever as part of the tests, thus
         | 
| 24 | 
            +
                # providing some (minimal) assurance that nothing stupid was done
         | 
| 25 | 
            +
                render_views
         | 
| 23 26 |  | 
| 24 27 | 
             
                # This should return the minimal set of attributes required to create a valid
         | 
| 25 28 | 
             
                # Template. As you add validations to Template, be sure to
         | 
| @@ -41,6 +44,13 @@ module Stachio | |
| 41 44 | 
             
                    get :index, {}, valid_session
         | 
| 42 45 | 
             
                    assigns(:templates).should eq([template])
         | 
| 43 46 | 
             
                  end
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                  it "does not require permission" do
         | 
| 49 | 
            +
                    Stachio::Engine.config.stub(:readonly).and_return(true)
         | 
| 50 | 
            +
                    template = Template.create! valid_attributes
         | 
| 51 | 
            +
                    get :index, {}, valid_session
         | 
| 52 | 
            +
                    response.should_not redirect_to(templates_path)
         | 
| 53 | 
            +
                  end
         | 
| 44 54 | 
             
                end
         | 
| 45 55 |  | 
| 46 56 | 
             
                describe "GET show" do
         | 
| @@ -49,9 +59,22 @@ module Stachio | |
| 49 59 | 
             
                    get :show, {:id => template.to_param}, valid_session
         | 
| 50 60 | 
             
                    assigns(:template).should eq(template)
         | 
| 51 61 | 
             
                  end
         | 
| 62 | 
            +
             | 
| 63 | 
            +
                  it "does not require permission" do
         | 
| 64 | 
            +
                    Stachio::Engine.config.stub(:readonly).and_return(true)
         | 
| 65 | 
            +
                    template = Template.create! valid_attributes
         | 
| 66 | 
            +
                    get :show, {:id => template.to_param}, valid_session
         | 
| 67 | 
            +
                    response.should_not redirect_to(templates_path)
         | 
| 68 | 
            +
                  end
         | 
| 52 69 | 
             
                end
         | 
| 53 70 |  | 
| 54 71 | 
             
                describe "GET new" do
         | 
| 72 | 
            +
                  it "requires permission" do
         | 
| 73 | 
            +
                    Stachio::Engine.config.stub(:readonly).and_return(true)
         | 
| 74 | 
            +
                    get :new, {}, valid_session
         | 
| 75 | 
            +
                    response.should redirect_to(templates_path)
         | 
| 76 | 
            +
                  end
         | 
| 77 | 
            +
             | 
| 55 78 | 
             
                  it "assigns a new template as @template" do
         | 
| 56 79 | 
             
                    get :new, {}, valid_session
         | 
| 57 80 | 
             
                    assigns(:template).should be_a_new(Template)
         | 
| @@ -59,6 +82,13 @@ module Stachio | |
| 59 82 | 
             
                end
         | 
| 60 83 |  | 
| 61 84 | 
             
                describe "GET edit" do
         | 
| 85 | 
            +
                  it "requires permission" do
         | 
| 86 | 
            +
                    Stachio::Engine.config.stub(:readonly).and_return(true)
         | 
| 87 | 
            +
                    template = Template.create! valid_attributes
         | 
| 88 | 
            +
                    get :edit, {:id => template.to_param}, valid_session
         | 
| 89 | 
            +
                    response.should redirect_to(templates_path)
         | 
| 90 | 
            +
                  end
         | 
| 91 | 
            +
             | 
| 62 92 | 
             
                  it "assigns the requested template as @template" do
         | 
| 63 93 | 
             
                    template = Template.create! valid_attributes
         | 
| 64 94 | 
             
                    get :edit, {:id => template.to_param}, valid_session
         | 
| @@ -68,6 +98,14 @@ module Stachio | |
| 68 98 |  | 
| 69 99 | 
             
                describe "POST create" do
         | 
| 70 100 | 
             
                  describe "with valid params" do
         | 
| 101 | 
            +
                    it "requires permission" do
         | 
| 102 | 
            +
                      Stachio::Engine.config.stub(:readonly).and_return(true)
         | 
| 103 | 
            +
                      expect {
         | 
| 104 | 
            +
                        post :create, {:template => valid_attributes}, valid_session
         | 
| 105 | 
            +
                      }.to_not change(Template, :count).by(1)
         | 
| 106 | 
            +
                      response.should redirect_to(templates_path)
         | 
| 107 | 
            +
                    end
         | 
| 108 | 
            +
             | 
| 71 109 | 
             
                    it "creates a new Template" do
         | 
| 72 110 | 
             
                      expect {
         | 
| 73 111 | 
             
                        post :create, {:template => valid_attributes}, valid_session
         | 
| @@ -105,6 +143,14 @@ module Stachio | |
| 105 143 |  | 
| 106 144 | 
             
                describe "PUT update" do
         | 
| 107 145 | 
             
                  describe "with valid params" do
         | 
| 146 | 
            +
                    it "requires permission" do
         | 
| 147 | 
            +
                      template = Template.create! valid_attributes
         | 
| 148 | 
            +
                      Stachio::Engine.config.stub(:readonly).and_return(true)
         | 
| 149 | 
            +
                      Template.any_instance.should_not_receive(:update_attributes).with({ "template_name" => "MyString" })
         | 
| 150 | 
            +
                      put :update, {:id => template.to_param, :template => { "template_name" => "MyString" }}, valid_session
         | 
| 151 | 
            +
                      response.should redirect_to(templates_path)
         | 
| 152 | 
            +
                    end
         | 
| 153 | 
            +
             | 
| 108 154 | 
             
                    it "updates the requested template" do
         | 
| 109 155 | 
             
                      template = Template.create! valid_attributes
         | 
| 110 156 | 
             
                      # Assuming there are no other templates in the database, this
         | 
| @@ -148,6 +194,17 @@ module Stachio | |
| 148 194 | 
             
                end
         | 
| 149 195 |  | 
| 150 196 | 
             
                describe "DELETE destroy" do
         | 
| 197 | 
            +
                  it "requires permission" do
         | 
| 198 | 
            +
                    template = Template.create! valid_attributes
         | 
| 199 | 
            +
                    Stachio::Engine.config.stub(:readonly).and_return(true)
         | 
| 200 | 
            +
             | 
| 201 | 
            +
                    expect {
         | 
| 202 | 
            +
                      delete :destroy, {:id => template.to_param}, valid_session
         | 
| 203 | 
            +
                    }.to_not change(Template, :count).by(-1)
         | 
| 204 | 
            +
             | 
| 205 | 
            +
                    response.should redirect_to(templates_path)
         | 
| 206 | 
            +
                  end
         | 
| 207 | 
            +
             | 
| 151 208 | 
             
                  it "destroys the requested template" do
         | 
| 152 209 | 
             
                    template = Template.create! valid_attributes
         | 
| 153 210 | 
             
                    expect {
         | 
| @@ -1,20 +1,16 @@ | |
| 1 1 | 
             
            require 'spec_helper'
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Stachio
         | 
| 4 | 
            -
               | 
| 5 | 
            -
                 | 
| 6 | 
            -
                   | 
| 4 | 
            +
              describe Template do
         | 
| 5 | 
            +
                let(:presents) do
         | 
| 6 | 
            +
                  Class.new { def self.teapot; 'TEAPOT'; end }
         | 
| 7 7 | 
             
                end
         | 
| 8 | 
            -
              end
         | 
| 9 8 |  | 
| 10 | 
            -
              describe Template do
         | 
| 11 9 | 
             
                let(:template) do
         | 
| 12 | 
            -
                   | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
                   | 
| 16 | 
            -
                  template.proxied = MockProxyObject.new
         | 
| 17 | 
            -
                  template
         | 
| 10 | 
            +
                  tmpl = Template.new :template_name => "mrs.potts",
         | 
| 11 | 
            +
                                      :content => "I am a {{teapot}}"
         | 
| 12 | 
            +
                  tmpl.presents = presents
         | 
| 13 | 
            +
                  tmpl
         | 
| 18 14 | 
             
                end
         | 
| 19 15 |  | 
| 20 16 | 
             
                it "stores templates in the database" do
         | 
| @@ -39,16 +35,56 @@ module Stachio | |
| 39 35 |  | 
| 40 36 | 
             
                it "fetches templates from the database using the template name" do
         | 
| 41 37 | 
             
                  template.save!
         | 
| 42 | 
            -
                  template.should == Template[' | 
| 43 | 
            -
                end
         | 
| 44 | 
            -
             | 
| 45 | 
            -
                it "composes messages using the content of the template" do
         | 
| 46 | 
            -
                  template.compose.should == "I am a TEAPOT"
         | 
| 38 | 
            +
                  template.should == Template['mrs.potts']
         | 
| 47 39 | 
             
                end
         | 
| 48 40 |  | 
| 49 41 | 
             
                it "reports an error when it can't compose the message" do
         | 
| 50 42 | 
             
                  template.content = "I am not a valid {{horseradish}}"
         | 
| 51 | 
            -
                  expect { template. | 
| 43 | 
            +
                  expect { template.render }.to raise_error(Mustache::ContextMiss)
         | 
| 52 44 | 
             
                end
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                describe '#render' do
         | 
| 47 | 
            +
                  it "renders using the content of the template" do
         | 
| 48 | 
            +
                    template.presents.should be_a_kind_of(Class)
         | 
| 49 | 
            +
                    template.render.should == "I am a TEAPOT"
         | 
| 50 | 
            +
                  end
         | 
| 51 | 
            +
             | 
| 52 | 
            +
                  it "can render values from a hash" do
         | 
| 53 | 
            +
                    template.presents = {:teapot => 'TEAPOT' }
         | 
| 54 | 
            +
                    template.render.should == "I am a TEAPOT"
         | 
| 55 | 
            +
                  end
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                  it "renders nothing when presenting a nil" do
         | 
| 58 | 
            +
                    template.presents = nil
         | 
| 59 | 
            +
                    template.render.should == nil
         | 
| 60 | 
            +
                  end
         | 
| 61 | 
            +
             | 
| 62 | 
            +
                  it "memoizes rendered text" do
         | 
| 63 | 
            +
                    template.render.should   == "I am a TEAPOT"
         | 
| 64 | 
            +
                    template.rendered.should == "I am a TEAPOT"
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                    template.presents = {:teapot => 'HORSERADISH'}
         | 
| 67 | 
            +
             | 
| 68 | 
            +
                    template.render.should   == "I am a TEAPOT"
         | 
| 69 | 
            +
                    template.rendered.should == "I am a TEAPOT"
         | 
| 70 | 
            +
                  end
         | 
| 71 | 
            +
             | 
| 72 | 
            +
                  it "can be reset when memoized" do
         | 
| 73 | 
            +
                    template.render.should   == "I am a TEAPOT"
         | 
| 74 | 
            +
                    template.presents = {:teapot => 'HORSERADISH'}
         | 
| 75 | 
            +
             | 
| 76 | 
            +
                    template.render.should                 == "I am a TEAPOT"
         | 
| 77 | 
            +
                    template.render(:force => true).should == "I am a HORSERADISH"
         | 
| 78 | 
            +
                  end
         | 
| 79 | 
            +
                end
         | 
| 80 | 
            +
             | 
| 81 | 
            +
                describe '#present' do
         | 
| 82 | 
            +
                  it "sets attribute 'presents' & renders all at once" do
         | 
| 83 | 
            +
                    template.render.should   == "I am a TEAPOT"
         | 
| 84 | 
            +
                    template.present(:teapot => 'TURNIP').should == "I am a TURNIP"
         | 
| 85 | 
            +
                    template.presents.should == {:teapot => 'TURNIP'}
         | 
| 86 | 
            +
                  end
         | 
| 87 | 
            +
                end
         | 
| 88 | 
            +
             | 
| 53 89 | 
             
              end
         | 
| 54 90 | 
             
            end
         | 
| @@ -5,31 +5,31 @@ module Stachio | |
| 5 5 | 
             
                describe "routing" do
         | 
| 6 6 |  | 
| 7 7 | 
             
                  it "routes to #index" do
         | 
| 8 | 
            -
                    get("/ | 
| 8 | 
            +
                    get("/").should route_to("stachio/templates#index")
         | 
| 9 9 | 
             
                  end
         | 
| 10 10 |  | 
| 11 11 | 
             
                  it "routes to #new" do
         | 
| 12 | 
            -
                    get("/ | 
| 12 | 
            +
                    get("/new").should route_to("stachio/templates#new")
         | 
| 13 13 | 
             
                  end
         | 
| 14 14 |  | 
| 15 15 | 
             
                  it "routes to #show" do
         | 
| 16 | 
            -
                    get("/ | 
| 16 | 
            +
                    get("/1").should route_to("stachio/templates#show", :id => "1")
         | 
| 17 17 | 
             
                  end
         | 
| 18 18 |  | 
| 19 19 | 
             
                  it "routes to #edit" do
         | 
| 20 | 
            -
                    get("/ | 
| 20 | 
            +
                    get("/1/edit").should route_to("stachio/templates#edit", :id => "1")
         | 
| 21 21 | 
             
                  end
         | 
| 22 22 |  | 
| 23 23 | 
             
                  it "routes to #create" do
         | 
| 24 | 
            -
                    post("/ | 
| 24 | 
            +
                    post("/").should route_to("stachio/templates#create")
         | 
| 25 25 | 
             
                  end
         | 
| 26 26 |  | 
| 27 27 | 
             
                  it "routes to #update" do
         | 
| 28 | 
            -
                    put("/ | 
| 28 | 
            +
                    put("/1").should route_to("stachio/templates#update", :id => "1")
         | 
| 29 29 | 
             
                  end
         | 
| 30 30 |  | 
| 31 31 | 
             
                  it "routes to #destroy" do
         | 
| 32 | 
            -
                    delete("/ | 
| 32 | 
            +
                    delete("/1").should route_to("stachio/templates#destroy", :id => "1")
         | 
| 33 33 | 
             
                  end
         | 
| 34 34 |  | 
| 35 35 | 
             
                end
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -1,3 +1,13 @@ | |
| 1 | 
            +
            require 'simplecov'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            SimpleCov.start do
         | 
| 4 | 
            +
              add_filter                "vendor"
         | 
| 5 | 
            +
              add_filter                "spec"
         | 
| 6 | 
            +
             | 
| 7 | 
            +
              add_group "Models",       "app/models"
         | 
| 8 | 
            +
              add_group "Controllers",  "app/controllers"
         | 
| 9 | 
            +
            end
         | 
| 10 | 
            +
             | 
| 1 11 | 
             
            # This file is copied to spec/ when you run 'rails generate rspec:install'
         | 
| 2 12 | 
             
            ENV["RAILS_ENV"] ||= 'test'
         | 
| 3 13 |  | 
| @@ -6,7 +16,6 @@ require File.expand_path("../dummy/config/environment", __FILE__) | |
| 6 16 |  | 
| 7 17 | 
             
            require 'rspec/rails'
         | 
| 8 18 | 
             
            require 'rspec/autorun'
         | 
| 9 | 
            -
            require 'simplecov'
         | 
| 10 19 | 
             
            require 'pry'
         | 
| 11 20 |  | 
| 12 21 | 
             
            # Requires supporting ruby files with custom matchers and macros, etc,
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: stachio
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.3
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -10,7 +10,7 @@ authors: | |
| 10 10 | 
             
            autorequire: 
         | 
| 11 11 | 
             
            bindir: bin
         | 
| 12 12 | 
             
            cert_chain: []
         | 
| 13 | 
            -
            date: 2013-05- | 
| 13 | 
            +
            date: 2013-05-20 00:00:00.000000000 Z
         | 
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: rails
         | 
| @@ -234,7 +234,6 @@ files: | |
| 234 234 | 
             
            - .ruby-version
         | 
| 235 235 | 
             
            - .simplecov
         | 
| 236 236 | 
             
            - Gemfile
         | 
| 237 | 
            -
            - Gemfile.lock
         | 
| 238 237 | 
             
            - MIT-LICENSE
         | 
| 239 238 | 
             
            - README.md
         | 
| 240 239 | 
             
            - Rakefile
         | 
| @@ -259,7 +258,6 @@ files: | |
| 259 258 | 
             
            - db/migrate/20130509172418_create_stachio_templates.rb
         | 
| 260 259 | 
             
            - lib/stachio.rb
         | 
| 261 260 | 
             
            - lib/stachio/engine.rb
         | 
| 262 | 
            -
            - lib/stachio/proxy.rb
         | 
| 263 261 | 
             
            - lib/stachio/version.rb
         | 
| 264 262 | 
             
            - lib/tasks/stachio_tasks.rake
         | 
| 265 263 | 
             
            - script/rails
         | 
    
        data/Gemfile.lock
    DELETED
    
    | @@ -1,152 +0,0 @@ | |
| 1 | 
            -
            PATH
         | 
| 2 | 
            -
              remote: .
         | 
| 3 | 
            -
              specs:
         | 
| 4 | 
            -
                stachio (0.0.1)
         | 
| 5 | 
            -
                  handlebars
         | 
| 6 | 
            -
                  jquery-rails
         | 
| 7 | 
            -
                  lookup_by
         | 
| 8 | 
            -
                  mustache
         | 
| 9 | 
            -
                  rails (~> 3.2.13)
         | 
| 10 | 
            -
                  stache
         | 
| 11 | 
            -
             | 
| 12 | 
            -
            GEM
         | 
| 13 | 
            -
              remote: http://rubygems.org/
         | 
| 14 | 
            -
              specs:
         | 
| 15 | 
            -
                actionmailer (3.2.13)
         | 
| 16 | 
            -
                  actionpack (= 3.2.13)
         | 
| 17 | 
            -
                  mail (~> 2.5.3)
         | 
| 18 | 
            -
                actionpack (3.2.13)
         | 
| 19 | 
            -
                  activemodel (= 3.2.13)
         | 
| 20 | 
            -
                  activesupport (= 3.2.13)
         | 
| 21 | 
            -
                  builder (~> 3.0.0)
         | 
| 22 | 
            -
                  erubis (~> 2.7.0)
         | 
| 23 | 
            -
                  journey (~> 1.0.4)
         | 
| 24 | 
            -
                  rack (~> 1.4.5)
         | 
| 25 | 
            -
                  rack-cache (~> 1.2)
         | 
| 26 | 
            -
                  rack-test (~> 0.6.1)
         | 
| 27 | 
            -
                  sprockets (~> 2.2.1)
         | 
| 28 | 
            -
                activemodel (3.2.13)
         | 
| 29 | 
            -
                  activesupport (= 3.2.13)
         | 
| 30 | 
            -
                  builder (~> 3.0.0)
         | 
| 31 | 
            -
                activerecord (3.2.13)
         | 
| 32 | 
            -
                  activemodel (= 3.2.13)
         | 
| 33 | 
            -
                  activesupport (= 3.2.13)
         | 
| 34 | 
            -
                  arel (~> 3.0.2)
         | 
| 35 | 
            -
                  tzinfo (~> 0.3.29)
         | 
| 36 | 
            -
                activeresource (3.2.13)
         | 
| 37 | 
            -
                  activemodel (= 3.2.13)
         | 
| 38 | 
            -
                  activesupport (= 3.2.13)
         | 
| 39 | 
            -
                activesupport (3.2.13)
         | 
| 40 | 
            -
                  i18n (= 0.6.1)
         | 
| 41 | 
            -
                  multi_json (~> 1.0)
         | 
| 42 | 
            -
                arel (3.0.2)
         | 
| 43 | 
            -
                builder (3.0.4)
         | 
| 44 | 
            -
                coderay (1.0.9)
         | 
| 45 | 
            -
                commonjs (0.2.6)
         | 
| 46 | 
            -
                diff-lcs (1.2.4)
         | 
| 47 | 
            -
                erubis (2.7.0)
         | 
| 48 | 
            -
                handlebars (0.4.0)
         | 
| 49 | 
            -
                  commonjs (~> 0.2.3)
         | 
| 50 | 
            -
                  therubyracer (~> 0.11.1)
         | 
| 51 | 
            -
                hike (1.2.2)
         | 
| 52 | 
            -
                i18n (0.6.1)
         | 
| 53 | 
            -
                journey (1.0.4)
         | 
| 54 | 
            -
                jquery-rails (2.2.1)
         | 
| 55 | 
            -
                  railties (>= 3.0, < 5.0)
         | 
| 56 | 
            -
                  thor (>= 0.14, < 2.0)
         | 
| 57 | 
            -
                json (1.7.7)
         | 
| 58 | 
            -
                libv8 (3.11.8.17)
         | 
| 59 | 
            -
                lookup_by (0.1.0)
         | 
| 60 | 
            -
                  rails (>= 3.0.0)
         | 
| 61 | 
            -
                mail (2.5.3)
         | 
| 62 | 
            -
                  i18n (>= 0.4.0)
         | 
| 63 | 
            -
                  mime-types (~> 1.16)
         | 
| 64 | 
            -
                  treetop (~> 1.4.8)
         | 
| 65 | 
            -
                method_source (0.8.1)
         | 
| 66 | 
            -
                mime-types (1.23)
         | 
| 67 | 
            -
                multi_json (1.7.3)
         | 
| 68 | 
            -
                mustache (0.99.4)
         | 
| 69 | 
            -
                polyglot (0.3.3)
         | 
| 70 | 
            -
                pry (0.9.12.1)
         | 
| 71 | 
            -
                  coderay (~> 1.0.5)
         | 
| 72 | 
            -
                  method_source (~> 0.8)
         | 
| 73 | 
            -
                  slop (~> 3.4)
         | 
| 74 | 
            -
                rack (1.4.5)
         | 
| 75 | 
            -
                rack-cache (1.2)
         | 
| 76 | 
            -
                  rack (>= 0.4)
         | 
| 77 | 
            -
                rack-ssl (1.3.3)
         | 
| 78 | 
            -
                  rack
         | 
| 79 | 
            -
                rack-test (0.6.2)
         | 
| 80 | 
            -
                  rack (>= 1.0)
         | 
| 81 | 
            -
                rails (3.2.13)
         | 
| 82 | 
            -
                  actionmailer (= 3.2.13)
         | 
| 83 | 
            -
                  actionpack (= 3.2.13)
         | 
| 84 | 
            -
                  activerecord (= 3.2.13)
         | 
| 85 | 
            -
                  activeresource (= 3.2.13)
         | 
| 86 | 
            -
                  activesupport (= 3.2.13)
         | 
| 87 | 
            -
                  bundler (~> 1.0)
         | 
| 88 | 
            -
                  railties (= 3.2.13)
         | 
| 89 | 
            -
                railties (3.2.13)
         | 
| 90 | 
            -
                  actionpack (= 3.2.13)
         | 
| 91 | 
            -
                  activesupport (= 3.2.13)
         | 
| 92 | 
            -
                  rack-ssl (~> 1.3.2)
         | 
| 93 | 
            -
                  rake (>= 0.8.7)
         | 
| 94 | 
            -
                  rdoc (~> 3.4)
         | 
| 95 | 
            -
                  thor (>= 0.14.6, < 2.0)
         | 
| 96 | 
            -
                rake (10.0.4)
         | 
| 97 | 
            -
                rdoc (3.12.2)
         | 
| 98 | 
            -
                  json (~> 1.4)
         | 
| 99 | 
            -
                ref (1.0.4)
         | 
| 100 | 
            -
                rspec (2.13.0)
         | 
| 101 | 
            -
                  rspec-core (~> 2.13.0)
         | 
| 102 | 
            -
                  rspec-expectations (~> 2.13.0)
         | 
| 103 | 
            -
                  rspec-mocks (~> 2.13.0)
         | 
| 104 | 
            -
                rspec-core (2.13.1)
         | 
| 105 | 
            -
                rspec-expectations (2.13.0)
         | 
| 106 | 
            -
                  diff-lcs (>= 1.1.3, < 2.0)
         | 
| 107 | 
            -
                rspec-fire (1.1.3)
         | 
| 108 | 
            -
                  rspec (~> 2.11)
         | 
| 109 | 
            -
                rspec-mocks (2.13.1)
         | 
| 110 | 
            -
                rspec-rails (2.13.1)
         | 
| 111 | 
            -
                  actionpack (>= 3.0)
         | 
| 112 | 
            -
                  activesupport (>= 3.0)
         | 
| 113 | 
            -
                  railties (>= 3.0)
         | 
| 114 | 
            -
                  rspec-core (~> 2.13.0)
         | 
| 115 | 
            -
                  rspec-expectations (~> 2.13.0)
         | 
| 116 | 
            -
                  rspec-mocks (~> 2.13.0)
         | 
| 117 | 
            -
                simplecov (0.7.1)
         | 
| 118 | 
            -
                  multi_json (~> 1.0)
         | 
| 119 | 
            -
                  simplecov-html (~> 0.7.1)
         | 
| 120 | 
            -
                simplecov-html (0.7.1)
         | 
| 121 | 
            -
                simplecov-rcov (0.2.3)
         | 
| 122 | 
            -
                  simplecov (>= 0.4.1)
         | 
| 123 | 
            -
                slop (3.4.4)
         | 
| 124 | 
            -
                sprockets (2.2.2)
         | 
| 125 | 
            -
                  hike (~> 1.2)
         | 
| 126 | 
            -
                  multi_json (~> 1.0)
         | 
| 127 | 
            -
                  rack (~> 1.0)
         | 
| 128 | 
            -
                  tilt (~> 1.1, != 1.3.0)
         | 
| 129 | 
            -
                sqlite3 (1.3.7)
         | 
| 130 | 
            -
                stache (1.0.1)
         | 
| 131 | 
            -
                therubyracer (0.11.4)
         | 
| 132 | 
            -
                  libv8 (~> 3.11.8.12)
         | 
| 133 | 
            -
                  ref
         | 
| 134 | 
            -
                thor (0.18.1)
         | 
| 135 | 
            -
                tilt (1.4.1)
         | 
| 136 | 
            -
                treetop (1.4.12)
         | 
| 137 | 
            -
                  polyglot
         | 
| 138 | 
            -
                  polyglot (>= 0.3.1)
         | 
| 139 | 
            -
                tzinfo (0.3.37)
         | 
| 140 | 
            -
             | 
| 141 | 
            -
            PLATFORMS
         | 
| 142 | 
            -
              ruby
         | 
| 143 | 
            -
             | 
| 144 | 
            -
            DEPENDENCIES
         | 
| 145 | 
            -
              pry
         | 
| 146 | 
            -
              rspec
         | 
| 147 | 
            -
              rspec-fire
         | 
| 148 | 
            -
              rspec-rails
         | 
| 149 | 
            -
              simplecov
         | 
| 150 | 
            -
              simplecov-rcov
         | 
| 151 | 
            -
              sqlite3
         | 
| 152 | 
            -
              stachio!
         | 
    
        data/lib/stachio/proxy.rb
    DELETED
    
    | @@ -1,20 +0,0 @@ | |
| 1 | 
            -
            module Stachio
         | 
| 2 | 
            -
              class Proxy < Mustache
         | 
| 3 | 
            -
                self.raise_on_context_miss = true
         | 
| 4 | 
            -
                attr_accessor :proxied
         | 
| 5 | 
            -
             | 
| 6 | 
            -
                def initialize(proxied)
         | 
| 7 | 
            -
                  self.proxied = proxied
         | 
| 8 | 
            -
                end
         | 
| 9 | 
            -
             | 
| 10 | 
            -
                def respond_to?(method, include_privates=false)
         | 
| 11 | 
            -
                  return true if proxied.respond_to? method
         | 
| 12 | 
            -
                  super
         | 
| 13 | 
            -
                end
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                def method_missing(method, *args, &block)
         | 
| 16 | 
            -
                  super unless proxied.respond_to?(method)
         | 
| 17 | 
            -
                  proxied.send method, *args, &block
         | 
| 18 | 
            -
                end
         | 
| 19 | 
            -
              end
         | 
| 20 | 
            -
            end
         |