stachio 0.0.6 → 0.1.0

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.
Files changed (41) hide show
  1. data/.gitignore +1 -0
  2. data/.rspec +1 -0
  3. data/.ruby-version +1 -1
  4. data/.travis.yml +7 -3
  5. data/Appraisals +13 -0
  6. data/{MIT-LICENSE → LICENSE} +1 -1
  7. data/README.md +5 -0
  8. data/Rakefile +3 -1
  9. data/app/controllers/stachio/application_controller.rb +11 -1
  10. data/app/controllers/stachio/templates_controller.rb +4 -6
  11. data/app/helpers/stachio/application_helper.rb +1 -1
  12. data/app/models/stachio/template.rb +2 -1
  13. data/gemfiles/rails_3.2.gemfile +8 -0
  14. data/gemfiles/rails_4.0.gemfile +7 -0
  15. data/gemfiles/rails_4.1.gemfile +7 -0
  16. data/lib/stachio.rb +2 -2
  17. data/lib/stachio/engine.rb +1 -1
  18. data/lib/stachio/readonly.rb +6 -0
  19. data/lib/stachio/version.rb +1 -1
  20. data/spec/controllers/stachio/templates_controller_spec.rb +39 -37
  21. data/spec/dummy/config/application.rb +2 -7
  22. data/spec/dummy/config/boot.rb +3 -2
  23. data/spec/dummy/config/environments/development.rb +0 -13
  24. data/spec/dummy/config/environments/test.rb +0 -6
  25. data/spec/models/stachio/template_spec.rb +23 -23
  26. data/spec/rails_helper.rb +67 -0
  27. data/spec/routing/stachio/templates_routing_spec.rb +10 -8
  28. data/spec/spec_helper.rb +73 -47
  29. data/stachio.gemspec +4 -3
  30. metadata +34 -40
  31. data/app/assets/images/stachio/.gitkeep +0 -0
  32. data/app/helpers/stachio/templates_helper.rb +0 -7
  33. data/spec/dummy/.ruby-version +0 -1
  34. data/spec/dummy/app/mailers/.gitkeep +0 -0
  35. data/spec/dummy/app/models/.gitkeep +0 -0
  36. data/spec/dummy/db/migrate/20130529132016_create_stachio_templates.stachio.rb +0 -11
  37. data/spec/dummy/db/migrate/20130529132017_add_description_to_stachio_templates.stachio.rb +0 -6
  38. data/spec/dummy/lib/assets/.gitkeep +0 -0
  39. data/spec/dummy/log/.gitkeep +0 -0
  40. data/spec/helpers/stachio/templates_helper_spec.rb +0 -17
  41. data/spec/requests/stachio/stachio_templates_spec.rb +0 -11
data/.gitignore CHANGED
@@ -2,6 +2,7 @@
2
2
  log/*.log
3
3
  *.gem
4
4
  Gemfile.lock
5
+ gemfiles/*.lock
5
6
  pkg/
6
7
  spec/dummy/db/*.sqlite3
7
8
  spec/dummy/log/*.log
data/.rspec CHANGED
@@ -1 +1,2 @@
1
1
  --color
2
+ --require spec_helper
@@ -1 +1 @@
1
- 1.9.3-p194
1
+ 1.9.3-p547
@@ -2,8 +2,12 @@ language: ruby
2
2
  rvm:
3
3
  - 2.0.0
4
4
  - 1.9.3
5
- - 1.8.7
5
+ - rbx-2
6
6
  env:
7
7
  - DB=sqlite
8
- script:
9
- - RAILS_ENV=test bundle exec rake --trace db:migrate test
8
+
9
+ gemfile:
10
+ - gemfiles/rails_3.2.gemfile
11
+ - gemfiles/rails_4.0.gemfile
12
+ - gemfiles/rails_4.1.gemfile
13
+
@@ -0,0 +1,13 @@
1
+ appraise 'rails-3.2' do
2
+ gem 'rails', '~> 3.2.0'
3
+ gem 'strong_parameters'
4
+ end
5
+
6
+ appraise 'rails-4.0' do
7
+ gem 'rails', '~> 4.0.0'
8
+ end
9
+
10
+ appraise 'rails-4.1' do
11
+ gem 'rails', '~> 4.1.0'
12
+ end
13
+
@@ -1,4 +1,4 @@
1
- Copyright 2013 YOURNAME
1
+ Copyright 2013 Blake Thomas
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -4,3 +4,8 @@ Stachio is a rails engine which aims to facilitate the creation, retrieval,
4
4
  update, & deletion of mustache templates in a relational database.
5
5
 
6
6
  [![Build Status](https://travis-ci.org/bwthomas/stachio.png)](https://travis-ci.org/bwthomas/stachio)
7
+
8
+ **NOTE:** If you are using Rails 3, you must install the `strong_parameters` gem manually.
9
+
10
+ ## License
11
+ [MIT](http://opensource.org/licenses/MIT). See [LICENSE](LICENSE).
data/Rakefile CHANGED
@@ -46,5 +46,7 @@ end
46
46
  APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
47
47
  load 'rails/tasks/engine.rake'
48
48
 
49
+ Stachio::Engine.load_tasks
50
+
49
51
  Bundler::GemHelper.install_tasks
50
- task :default => [:spec]
52
+ task :default => ['db:migrate', :spec]
@@ -1,7 +1,17 @@
1
1
  module Stachio
2
2
  class ApplicationController < ActionController::Base
3
+
4
+ protected
5
+
3
6
  def readonly
4
- !!(Stachio::Engine.config.readonly)
7
+ Stachio.readonly
5
8
  end
9
+
10
+ def permission
11
+ return true unless readonly
12
+ flash[:notice] = "Templates are readonly"
13
+ redirect_to :action => :index
14
+ end
15
+
6
16
  end
7
17
  end
@@ -47,7 +47,7 @@ module Stachio
47
47
  # POST /templates
48
48
  # POST /templates.json
49
49
  def create
50
- @template = Template.new(params[:template])
50
+ @template = Template.new(template_params)
51
51
 
52
52
  respond_to do |format|
53
53
  if @template.save
@@ -66,7 +66,7 @@ module Stachio
66
66
  @template = Template.find(params[:id])
67
67
 
68
68
  respond_to do |format|
69
- if @template.update_attributes(params[:template])
69
+ if @template.update_attributes(template_params)
70
70
  format.html { redirect_to @template, notice: 'Template was successfully updated.' }
71
71
  format.json { head :no_content }
72
72
  else
@@ -90,10 +90,8 @@ module Stachio
90
90
 
91
91
  private
92
92
 
93
- def permission
94
- return true unless readonly
95
- flash[:notice] = "Templates are readonly"
96
- redirect_to :action => :index
93
+ def template_params
94
+ params.require(:template).permit(:template_name, :description, :content)
97
95
  end
98
96
  end
99
97
  end
@@ -1,7 +1,7 @@
1
1
  module Stachio
2
2
  module ApplicationHelper
3
3
  def readonly
4
- !!(Stachio::Engine.config.readonly)
4
+ Stachio.readonly
5
5
  end
6
6
  end
7
7
  end
@@ -2,9 +2,10 @@ module Stachio
2
2
  Mustache.raise_on_context_miss = true
3
3
 
4
4
  class Template < ActiveRecord::Base
5
+ include ActiveModel::ForbiddenAttributesProtection
6
+
5
7
  lookup_by :template_name
6
8
 
7
- attr_accessible :template_name, :description, :content
8
9
  validates_presence_of :template_name, :content
9
10
 
10
11
  attr_accessor :presents, :rendered
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://rubygems.org"
4
+
5
+ gem "rails", "~> 3.2.0"
6
+ gem "strong_parameters"
7
+
8
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://rubygems.org"
4
+
5
+ gem "rails", "~> 4.0.0"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://rubygems.org"
4
+
5
+ gem "rails", "~> 4.1.0"
6
+
7
+ gemspec :path => "../"
@@ -1,4 +1,4 @@
1
1
  require "stachio/engine"
2
+ require "stachio/readonly"
2
3
 
3
- module Stachio
4
- end
4
+ module Stachio; end
@@ -9,7 +9,7 @@ module Stachio
9
9
  require "stache" ## use mustache/handlebars for views
10
10
  Stache.use :mustache
11
11
 
12
- config.readonly = (defined?(Rails) && Rails.env.production?) ? true : false
12
+ # config.readonly = (defined?(Rails) && Rails.env.production?) ? true : false
13
13
 
14
14
  config.generators do |g|
15
15
  g.test_framework :rspec
@@ -0,0 +1,6 @@
1
+ module Stachio
2
+ def self.readonly
3
+ return Stachio::Engine.config.readonly if defined?(Stachio::Engine.config.readonly)
4
+ (defined?(Rails) && Rails.env.production?) ? true : false
5
+ end
6
+ end
@@ -1,3 +1,3 @@
1
1
  module Stachio
2
- VERSION = "0.0.6"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'rails_helper'
2
2
 
3
3
  # This spec was generated by rspec-rails when you ran the scaffold generator.
4
4
  # It demonstrates how one might use RSpec to specify the controller code that
@@ -20,6 +20,8 @@ require 'spec_helper'
20
20
 
21
21
  module Stachio
22
22
  describe TemplatesController do
23
+ routes { Stachio::Engine.routes }
24
+
23
25
  # 'render_views' will render any erb /haml/whatever as part of the tests, thus
24
26
  # providing some (minimal) assurance that nothing stupid was done
25
27
  render_views
@@ -42,14 +44,14 @@ module Stachio
42
44
  it "assigns all templates as @templates" do
43
45
  template = Template.create! valid_attributes
44
46
  get :index, {}, valid_session
45
- assigns(:templates).should eq([template])
47
+ expect(assigns(:templates)).to eq([template])
46
48
  end
47
49
 
48
50
  it "does not require permission" do
49
- Stachio::Engine.config.stub(:readonly).and_return(true)
51
+ allow(controller).to receive(:readonly).and_return(true)
50
52
  template = Template.create! valid_attributes
51
53
  get :index, {}, valid_session
52
- response.should_not redirect_to(templates_path)
54
+ expect(response).not_to redirect_to(templates_path)
53
55
  end
54
56
  end
55
57
 
@@ -57,53 +59,53 @@ module Stachio
57
59
  it "assigns the requested template as @template" do
58
60
  template = Template.create! valid_attributes
59
61
  get :show, {:id => template.to_param}, valid_session
60
- assigns(:template).should eq(template)
62
+ expect(assigns(:template)).to eq(template)
61
63
  end
62
64
 
63
65
  it "does not require permission" do
64
- Stachio::Engine.config.stub(:readonly).and_return(true)
66
+ allow(controller).to receive(:readonly).and_return(true)
65
67
  template = Template.create! valid_attributes
66
68
  get :show, {:id => template.to_param}, valid_session
67
- response.should_not redirect_to(templates_path)
69
+ expect(response).not_to redirect_to(templates_path)
68
70
  end
69
71
  end
70
72
 
71
73
  describe "GET new" do
72
74
  it "requires permission" do
73
- Stachio::Engine.config.stub(:readonly).and_return(true)
75
+ allow(controller).to receive(:readonly).and_return(true)
74
76
  get :new, {}, valid_session
75
- response.should redirect_to(templates_path)
77
+ expect(response).to redirect_to(templates_path)
76
78
  end
77
79
 
78
80
  it "assigns a new template as @template" do
79
81
  get :new, {}, valid_session
80
- assigns(:template).should be_a_new(Template)
82
+ expect(assigns(:template)).to be_a_new(Template)
81
83
  end
82
84
  end
83
85
 
84
86
  describe "GET edit" do
85
87
  it "requires permission" do
86
- Stachio::Engine.config.stub(:readonly).and_return(true)
88
+ allow(controller).to receive(:readonly).and_return(true)
87
89
  template = Template.create! valid_attributes
88
90
  get :edit, {:id => template.to_param}, valid_session
89
- response.should redirect_to(templates_path)
91
+ expect(response).to redirect_to(templates_path)
90
92
  end
91
93
 
92
94
  it "assigns the requested template as @template" do
93
95
  template = Template.create! valid_attributes
94
96
  get :edit, {:id => template.to_param}, valid_session
95
- assigns(:template).should eq(template)
97
+ expect(assigns(:template)).to eq(template)
96
98
  end
97
99
  end
98
100
 
99
101
  describe "POST create" do
100
102
  describe "with valid params" do
101
103
  it "requires permission" do
102
- Stachio::Engine.config.stub(:readonly).and_return(true)
104
+ allow(controller).to receive(:readonly).and_return(true)
103
105
  expect {
104
106
  post :create, {:template => valid_attributes}, valid_session
105
- }.to_not change(Template, :count).by(1)
106
- response.should redirect_to(templates_path)
107
+ }.to_not change(Template, :count)
108
+ expect(response).to redirect_to(templates_path)
107
109
  end
108
110
 
109
111
  it "creates a new Template" do
@@ -114,29 +116,29 @@ module Stachio
114
116
 
115
117
  it "assigns a newly created template as @template" do
116
118
  post :create, {:template => valid_attributes}, valid_session
117
- assigns(:template).should be_a(Template)
118
- assigns(:template).should be_persisted
119
+ expect(assigns(:template)).to be_a(Template)
120
+ expect(assigns(:template)).to be_persisted
119
121
  end
120
122
 
121
123
  it "redirects to the created template" do
122
124
  post :create, {:template => valid_attributes}, valid_session
123
- response.should redirect_to(Template.last)
125
+ expect(response).to redirect_to(Template.last)
124
126
  end
125
127
  end
126
128
 
127
129
  describe "with invalid params" do
128
130
  it "assigns a newly created but unsaved template as @template" do
129
131
  # Trigger the behavior that occurs when invalid params are submitted
130
- Template.any_instance.stub(:save).and_return(false)
132
+ allow_any_instance_of(Template).to receive(:save).and_return(false)
131
133
  post :create, {:template => { "template_name" => "invalid value" }}, valid_session
132
- assigns(:template).should be_a_new(Template)
134
+ expect(assigns(:template)).to be_a_new(Template)
133
135
  end
134
136
 
135
137
  it "re-renders the 'new' template" do
136
138
  # Trigger the behavior that occurs when invalid params are submitted
137
- Template.any_instance.stub(:save).and_return(false)
139
+ allow_any_instance_of(Template).to receive(:save).and_return(false)
138
140
  post :create, {:template => { "template_name" => "invalid value" }}, valid_session
139
- response.should render_template("new")
141
+ expect(response).to render_template("new")
140
142
  end
141
143
  end
142
144
  end
@@ -145,10 +147,10 @@ module Stachio
145
147
  describe "with valid params" do
146
148
  it "requires permission" do
147
149
  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
+ allow(controller).to receive(:readonly).and_return(true)
151
+ expect_any_instance_of(Template).not_to receive(:update_attributes).with({ "template_name" => "MyString" })
150
152
  put :update, {:id => template.to_param, :template => { "template_name" => "MyString" }}, valid_session
151
- response.should redirect_to(templates_path)
153
+ expect(response).to redirect_to(templates_path)
152
154
  end
153
155
 
154
156
  it "updates the requested template" do
@@ -157,20 +159,20 @@ module Stachio
157
159
  # specifies that the Template created on the previous line
158
160
  # receives the :update_attributes message with whatever params are
159
161
  # submitted in the request.
160
- Template.any_instance.should_receive(:update_attributes).with({ "template_name" => "MyString" })
162
+ expect_any_instance_of(Template).to receive(:update_attributes).with({ "template_name" => "MyString" })
161
163
  put :update, {:id => template.to_param, :template => { "template_name" => "MyString" }}, valid_session
162
164
  end
163
165
 
164
166
  it "assigns the requested template as @template" do
165
167
  template = Template.create! valid_attributes
166
168
  put :update, {:id => template.to_param, :template => valid_attributes}, valid_session
167
- assigns(:template).should eq(template)
169
+ expect(assigns(:template)).to eq(template)
168
170
  end
169
171
 
170
172
  it "redirects to the template" do
171
173
  template = Template.create! valid_attributes
172
174
  put :update, {:id => template.to_param, :template => valid_attributes}, valid_session
173
- response.should redirect_to(template)
175
+ expect(response).to redirect_to(template)
174
176
  end
175
177
  end
176
178
 
@@ -178,17 +180,17 @@ module Stachio
178
180
  it "assigns the template as @template" do
179
181
  template = Template.create! valid_attributes
180
182
  # Trigger the behavior that occurs when invalid params are submitted
181
- Template.any_instance.stub(:save).and_return(false)
183
+ allow_any_instance_of(Template).to receive(:save).and_return(false)
182
184
  put :update, {:id => template.to_param, :template => { "template_name" => "invalid value" }}, valid_session
183
- assigns(:template).should eq(template)
185
+ expect(assigns(:template)).to eq(template)
184
186
  end
185
187
 
186
188
  it "re-renders the 'edit' template" do
187
189
  template = Template.create! valid_attributes
188
190
  # Trigger the behavior that occurs when invalid params are submitted
189
- Template.any_instance.stub(:save).and_return(false)
191
+ allow_any_instance_of(Template).to receive(:save).and_return(false)
190
192
  put :update, {:id => template.to_param, :template => { "template_name" => "invalid value" }}, valid_session
191
- response.should render_template("edit")
193
+ expect(response).to render_template("edit")
192
194
  end
193
195
  end
194
196
  end
@@ -196,13 +198,13 @@ module Stachio
196
198
  describe "DELETE destroy" do
197
199
  it "requires permission" do
198
200
  template = Template.create! valid_attributes
199
- Stachio::Engine.config.stub(:readonly).and_return(true)
201
+ allow(controller).to receive(:readonly).and_return(true)
200
202
 
201
203
  expect {
202
204
  delete :destroy, {:id => template.to_param}, valid_session
203
- }.to_not change(Template, :count).by(-1)
205
+ }.to_not change(Template, :count)
204
206
 
205
- response.should redirect_to(templates_path)
207
+ expect(response).to redirect_to(templates_path)
206
208
  end
207
209
 
208
210
  it "destroys the requested template" do
@@ -216,7 +218,7 @@ module Stachio
216
218
  template = Template.create! valid_attributes
217
219
  delete :destroy, {:id => template.to_param}, valid_session
218
220
  #response.should redirect_to(templates_url) ## Requires default_host_url to be set, but we're in an engine.
219
- response.should redirect_to(templates_path) ## So, instead, we test the redirection against the relative path
221
+ expect(response).to redirect_to(templates_path) ## So, instead, we test the redirection against the relative path
220
222
  end
221
223
  end
222
224
 
@@ -4,7 +4,6 @@ require File.expand_path('../boot', __FILE__)
4
4
  require "active_record/railtie"
5
5
  require "action_controller/railtie"
6
6
  require "action_mailer/railtie"
7
- require "active_resource/railtie"
8
7
  require "sprockets/railtie"
9
8
  # require "rails/test_unit/railtie"
10
9
 
@@ -50,17 +49,13 @@ module Dummy
50
49
  # like if you have constraints or database-specific column types
51
50
  # config.active_record.schema_format = :sql
52
51
 
53
- # Enforce whitelist mode for mass assignment.
54
- # This will create an empty whitelist of attributes available for mass-assignment for all models
55
- # in your app. As such, your models will need to explicitly whitelist or blacklist accessible
56
- # parameters by using an attr_accessible or attr_protected declaration.
57
- config.active_record.whitelist_attributes = true
58
-
59
52
  # Enable the asset pipeline
60
53
  config.assets.enabled = true
61
54
 
62
55
  # Version of your assets, change this if you want to expire all your assets
63
56
  config.assets.version = '1.0'
57
+
58
+ config.active_record.whitelist_attributes = false if Rails::VERSION::MAJOR == 3
64
59
  end
65
60
  end
66
61
 
@@ -2,9 +2,10 @@ require 'rubygems'
2
2
  gemfile = File.expand_path('../../../../Gemfile', __FILE__)
3
3
 
4
4
  if File.exist?(gemfile)
5
- ENV['BUNDLE_GEMFILE'] = gemfile
5
+ ENV['BUNDLE_GEMFILE'] ||= gemfile
6
6
  require 'bundler'
7
7
  Bundler.setup
8
8
  end
9
9
 
10
- $:.unshift File.expand_path('../../../../lib', __FILE__)
10
+ $:.unshift File.expand_path('../../../../lib', __FILE__)
11
+
@@ -6,9 +6,6 @@ Dummy::Application.configure do
6
6
  # since you don't have to restart the web server when you make code changes.
7
7
  config.cache_classes = false
8
8
 
9
- # Log error messages when you accidentally call methods on nil.
10
- config.whiny_nils = true
11
-
12
9
  # Show full error reports and disable caching
13
10
  config.consider_all_requests_local = true
14
11
  config.action_controller.perform_caching = false
@@ -19,16 +16,6 @@ Dummy::Application.configure do
19
16
  # Print deprecation notices to the Rails logger
20
17
  config.active_support.deprecation = :log
21
18
 
22
- # Only use best-standards-support built into browsers
23
- config.action_dispatch.best_standards_support = :builtin
24
-
25
- # Raise exception on mass assignment protection for Active Record models
26
- config.active_record.mass_assignment_sanitizer = :strict
27
-
28
- # Log the query plan for queries taking more than this (works
29
- # with SQLite, MySQL, and PostgreSQL)
30
- config.active_record.auto_explain_threshold_in_seconds = 0.5
31
-
32
19
  # Do not compress assets
33
20
  config.assets.compress = false
34
21
 
@@ -11,9 +11,6 @@ Dummy::Application.configure do
11
11
  config.serve_static_assets = true
12
12
  config.static_cache_control = "public, max-age=3600"
13
13
 
14
- # Log error messages when you accidentally call methods on nil
15
- config.whiny_nils = true
16
-
17
14
  # Show full error reports and disable caching
18
15
  config.consider_all_requests_local = true
19
16
  config.action_controller.perform_caching = false
@@ -29,9 +26,6 @@ Dummy::Application.configure do
29
26
  # ActionMailer::Base.deliveries array.
30
27
  config.action_mailer.delivery_method = :test
31
28
 
32
- # Raise exception on mass assignment protection for Active Record models
33
- config.active_record.mass_assignment_sanitizer = :strict
34
-
35
29
  # Print deprecation notices to the stderr
36
30
  config.active_support.deprecation = :stderr
37
31
  end
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'rails_helper'
2
2
 
3
3
  module Stachio
4
4
  describe Template do
@@ -14,28 +14,28 @@ module Stachio
14
14
  end
15
15
 
16
16
  it "stores templates in the database" do
17
- template.save!.should be_true
18
- Template.count.should eql(1)
19
- Template.first.should == template
17
+ expect(template.save!).to be_truthy
18
+ expect(Template.count).to eql(1)
19
+ expect(Template.first).to eq(template)
20
20
  end
21
21
 
22
22
  it "validates the presence of template_name" do
23
23
  template.template_name = ""
24
- template.should_not be_valid
24
+ expect(template).not_to be_valid
25
25
  template.template_name = "but i am a template!"
26
- template.should be_valid
26
+ expect(template).to be_valid
27
27
  end
28
28
 
29
29
  it "validates the presence of content" do
30
30
  template.content = ""
31
- template.should_not be_valid
31
+ expect(template).not_to be_valid
32
32
  template.content = "but i am a {{teapot}}!"
33
- template.should be_valid
33
+ expect(template).to be_valid
34
34
  end
35
35
 
36
36
  it "fetches templates from the database using the template name" do
37
37
  template.save!
38
- template.should == Template['mrs.potts']
38
+ expect(template).to eq(Template['mrs.potts'])
39
39
  end
40
40
 
41
41
  it "reports an error when it can't compose the message" do
@@ -45,44 +45,44 @@ module Stachio
45
45
 
46
46
  describe '#render' do
47
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"
48
+ expect(template.presents).to be_a_kind_of(Class)
49
+ expect(template.render).to eq("I am a TEAPOT")
50
50
  end
51
51
 
52
52
  it "can render values from a hash" do
53
53
  template.presents = {:teapot => 'TEAPOT' }
54
- template.render.should == "I am a TEAPOT"
54
+ expect(template.render).to eq("I am a TEAPOT")
55
55
  end
56
56
 
57
57
  it "renders nothing when presenting a nil" do
58
58
  template.presents = nil
59
- template.render.should == nil
59
+ expect(template.render).to eq(nil)
60
60
  end
61
61
 
62
62
  it "memoizes rendered text" do
63
- template.render.should == "I am a TEAPOT"
64
- template.rendered.should == "I am a TEAPOT"
63
+ expect(template.render).to eq("I am a TEAPOT")
64
+ expect(template.rendered).to eq("I am a TEAPOT")
65
65
 
66
66
  template.presents = {:teapot => 'HORSERADISH'}
67
67
 
68
- template.render.should == "I am a TEAPOT"
69
- template.rendered.should == "I am a TEAPOT"
68
+ expect(template.render).to eq("I am a TEAPOT")
69
+ expect(template.rendered).to eq("I am a TEAPOT")
70
70
  end
71
71
 
72
72
  it "can be reset when memoized" do
73
- template.render.should == "I am a TEAPOT"
73
+ expect(template.render).to eq("I am a TEAPOT")
74
74
  template.presents = {:teapot => 'HORSERADISH'}
75
75
 
76
- template.render.should == "I am a TEAPOT"
77
- template.render(:force => true).should == "I am a HORSERADISH"
76
+ expect(template.render).to eq("I am a TEAPOT")
77
+ expect(template.render(:force => true)).to eq("I am a HORSERADISH")
78
78
  end
79
79
  end
80
80
 
81
81
  describe '#present' do
82
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'}
83
+ expect(template.render).to eq("I am a TEAPOT")
84
+ expect(template.present(:teapot => 'TURNIP')).to eq("I am a TURNIP")
85
+ expect(template.presents).to eq({:teapot => 'TURNIP'})
86
86
  end
87
87
  end
88
88
 
@@ -0,0 +1,67 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV["RAILS_ENV"] ||= 'test'
3
+ require File.expand_path("../dummy/config/environment", __FILE__)
4
+ require 'rspec/rails'
5
+ require 'pry'
6
+
7
+ require 'simplecov'
8
+
9
+ SimpleCov.start do
10
+ add_filter "vendor"
11
+ add_filter "spec"
12
+
13
+ add_group "Models", "app/models"
14
+ add_group "Controllers", "app/controllers"
15
+ end
16
+
17
+ # Add additional requires below this line. Rails is not loaded until this point!
18
+
19
+ # Requires supporting ruby files with custom matchers and macros, etc, in
20
+ # spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are
21
+ # run as spec files by default. This means that files in spec/support that end
22
+ # in _spec.rb will both be required and run as specs, causing the specs to be
23
+ # run twice. It is recommended that you do not name files matching this glob to
24
+ # end with _spec.rb. You can configure this pattern with the --pattern
25
+ # option on the command line or in ~/.rspec, .rspec or `.rspec-local`.
26
+ #
27
+ # The following line is provided for convenience purposes. It has the downside
28
+ # of increasing the boot-up time by auto-requiring all files in the support
29
+ # directory. Alternatively, in the individual `*_spec.rb` files, manually
30
+ # require only the support files necessary.
31
+ #
32
+ # Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
33
+
34
+ # Checks for pending migrations before tests are run.
35
+ # If you are not using ActiveRecord, you can remove this line.
36
+ if ActiveRecord::VERSION::MAJOR > 3
37
+ if ActiveRecord::VERSION::MINOR > 0
38
+ ActiveRecord::Migration.maintain_test_schema!
39
+ else
40
+ ActiveRecord::Migration.check_pending!
41
+ end
42
+ end
43
+
44
+ RSpec.configure do |config|
45
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
46
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
47
+
48
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
49
+ # examples within a transaction, remove the following line or assign false
50
+ # instead of true.
51
+ config.use_transactional_fixtures = true
52
+
53
+ # RSpec Rails can automatically mix in different behaviours to your tests
54
+ # based on their file location, for example enabling you to call `get` and
55
+ # `post` in specs under `spec/controllers`.
56
+ #
57
+ # You can disable this behaviour by removing the line below, and instead
58
+ # explicitly tag your specs with their type, e.g.:
59
+ #
60
+ # RSpec.describe UsersController, :type => :controller do
61
+ # # ...
62
+ # end
63
+ #
64
+ # The different available types are documented in the features, such as in
65
+ # https://relishapp.com/rspec/rspec-rails/docs
66
+ config.infer_spec_type_from_file_location!
67
+ end
@@ -1,35 +1,37 @@
1
- require "spec_helper"
1
+ require 'rails_helper'
2
2
 
3
3
  module Stachio
4
4
  describe TemplatesController do
5
+ routes { Stachio::Engine.routes }
6
+
5
7
  describe "routing" do
6
8
 
7
9
  it "routes to #index" do
8
- get("/").should route_to("stachio/templates#index")
10
+ expect(get("/")).to route_to("stachio/templates#index")
9
11
  end
10
12
 
11
13
  it "routes to #new" do
12
- get("/new").should route_to("stachio/templates#new")
14
+ expect(get("/new")).to route_to("stachio/templates#new")
13
15
  end
14
16
 
15
17
  it "routes to #show" do
16
- get("/1").should route_to("stachio/templates#show", :id => "1")
18
+ expect(get("/1")).to route_to("stachio/templates#show", :id => "1")
17
19
  end
18
20
 
19
21
  it "routes to #edit" do
20
- get("/1/edit").should route_to("stachio/templates#edit", :id => "1")
22
+ expect(get("/1/edit")).to route_to("stachio/templates#edit", :id => "1")
21
23
  end
22
24
 
23
25
  it "routes to #create" do
24
- post("/").should route_to("stachio/templates#create")
26
+ expect(post("/")).to route_to("stachio/templates#create")
25
27
  end
26
28
 
27
29
  it "routes to #update" do
28
- put("/1").should route_to("stachio/templates#update", :id => "1")
30
+ expect(put("/1")).to route_to("stachio/templates#update", :id => "1")
29
31
  end
30
32
 
31
33
  it "routes to #destroy" do
32
- delete("/1").should route_to("stachio/templates#destroy", :id => "1")
34
+ expect(delete("/1")).to route_to("stachio/templates#destroy", :id => "1")
33
35
  end
34
36
 
35
37
  end
@@ -1,59 +1,85 @@
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
-
11
- # This file is copied to spec/ when you run 'rails generate rspec:install'
12
- ENV["RAILS_ENV"] ||= 'test'
13
-
14
- # require File.expand_path("../../config/environment", __FILE__)
15
- require File.expand_path("../dummy/config/environment", __FILE__)
16
-
17
- require 'rspec/rails'
18
- require 'rspec/autorun'
19
- require 'pry'
1
+ # This file was generated by the `rails generate rspec:install` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # The generated `.rspec` file contains `--require spec_helper` which will cause this
4
+ # file to always be loaded, without a need to explicitly require it in any files.
5
+ #
6
+ # Given that it is always loaded, you are encouraged to keep this file as
7
+ # light-weight as possible. Requiring heavyweight dependencies from this file
8
+ # will add to the boot time of your test suite on EVERY test run, even for an
9
+ # individual file that may not need all of that loaded. Instead, consider making
10
+ # a separate helper file that requires the additional dependencies and performs
11
+ # the additional setup, and require it from the spec files that actually need it.
12
+ #
13
+ # The `.rspec` file also contains a few flags that are not defaults but that
14
+ # users commonly want.
15
+ #
16
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
17
+ RSpec.configure do |config|
18
+ # rspec-expectations config goes here. You can use an alternate
19
+ # assertion/expectation library such as wrong or the stdlib/minitest
20
+ # assertions if you prefer.
21
+ config.expect_with :rspec do |expectations|
22
+ # This option will default to `true` in RSpec 4. It makes the `description`
23
+ # and `failure_message` of custom matchers include text for helper methods
24
+ # defined using `chain`, e.g.:
25
+ # be_bigger_than(2).and_smaller_than(4).description
26
+ # # => "be bigger than 2 and smaller than 4"
27
+ # ...rather than:
28
+ # # => "be bigger than 2"
29
+ #expectations.include_chain_clauses_in_custom_matcher_descriptions = true
30
+ end
20
31
 
21
- # Requires supporting ruby files with custom matchers and macros, etc,
22
- # in spec/support/ and its subdirectories.
23
- Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
32
+ # rspec-mocks config goes here. You can use an alternate test double
33
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
34
+ config.mock_with :rspec do |mocks|
35
+ # Prevents you from mocking or stubbing a method that does not exist on
36
+ # a real object. This is generally recommended, and will default to
37
+ # `true` in RSpec 4.
38
+ mocks.verify_partial_doubles = false
39
+ end
24
40
 
25
- RSpec.configure do |config|
26
- # ## Mock Framework
27
- #
28
- # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
29
- #
30
- # config.mock_with :mocha
31
- # config.mock_with :flexmock
32
- # config.mock_with :rr
41
+ # The settings below are suggested to provide a good initial experience
42
+ # with RSpec, but feel free to customize to your heart's content.
43
+ =begin
44
+ # These two settings work together to allow you to limit a spec run
45
+ # to individual examples or groups you care about by tagging them with
46
+ # `:focus` metadata. When nothing is tagged with `:focus`, all examples
47
+ # get run.
48
+ config.filter_run :focus
49
+ config.run_all_when_everything_filtered = true
33
50
 
34
- # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
35
- config.fixture_path = "#{::Rails.root}/spec/fixtures"
51
+ # Limits the available syntax to the non-monkey patched syntax that is recommended.
52
+ # For more details, see:
53
+ # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
54
+ # - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
55
+ # - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching
56
+ config.disable_monkey_patching!
36
57
 
37
- # If you're not using ActiveRecord, or you'd prefer not to run each of your
38
- # examples within a transaction, remove the following line or assign false
39
- # instead of true.
40
- config.use_transactional_fixtures = true
58
+ # Many RSpec users commonly either run the entire suite or an individual
59
+ # file, and it's useful to allow more verbose output when running an
60
+ # individual spec file.
61
+ if config.files_to_run.one?
62
+ # Use the documentation formatter for detailed output,
63
+ # unless a formatter has already been configured
64
+ # (e.g. via a command-line flag).
65
+ config.default_formatter = 'doc'
66
+ end
41
67
 
42
- # If true, the base class of anonymous controllers will be inferred
43
- # automatically. This will be the default behavior in future versions of
44
- # rspec-rails.
45
- config.infer_base_class_for_anonymous_controllers = false
68
+ # Print the 10 slowest examples and example groups at the
69
+ # end of the spec run, to help surface which specs are running
70
+ # particularly slow.
71
+ config.profile_examples = 10
46
72
 
47
73
  # Run specs in random order to surface order dependencies. If you find an
48
74
  # order dependency and want to debug it, you can fix the order by providing
49
75
  # the seed, which is printed after each run.
50
76
  # --seed 1234
51
- config.order = "random"
52
-
53
- # Mountable engine, y'all. Let's get the routing right.
54
- config.include Stachio::Engine.routes.url_helpers
77
+ config.order = :random
55
78
 
56
- [:controller, :requests, :routing].each do |type|
57
- config.before(:each, :type => type) { self.routes = Stachio::Engine.routes }
58
- end
79
+ # Seed global randomization in this process using the `--seed` CLI option.
80
+ # Setting this allows you to use `--seed` to deterministically reproduce
81
+ # test failures related to randomization by passing the same `--seed` value
82
+ # as the one that triggered the failure.
83
+ Kernel.srand config.seed
84
+ =end
59
85
  end
@@ -12,11 +12,12 @@ Gem::Specification.new do |s|
12
12
  s.homepage = "https://github.com/bwthomas/stachio"
13
13
  s.summary = "Stash your Stache with Stachio."
14
14
  s.description = "Stachio is a rails engine which aims to facilitate the creation, retrieval, update, & deletion of mustache templates in a relational database."
15
+ s.license = 'MIT'
15
16
 
16
17
  s.files = `git ls-files`.split("\n")
17
18
  s.test_files = `git ls-files -- {test,spec}/*`.split("\n")
18
19
 
19
- s.add_dependency "rails", "~> 3.2.13"
20
+ s.add_dependency "rails", ">= 3.2", "< 5.0"
20
21
  s.add_dependency "lookup_by"
21
22
  s.add_dependency "jquery-rails" ## required by the dummy application
22
23
  s.add_dependency "stache", "~> 1.0.2" ## use mustache/handlebars for views
@@ -24,10 +25,10 @@ Gem::Specification.new do |s|
24
25
  s.add_dependency "handlebars"
25
26
 
26
27
  s.add_development_dependency "sqlite3"
27
- s.add_development_dependency "rspec-rails"
28
- s.add_development_dependency "rspec-fire"
28
+ s.add_development_dependency "rspec-rails", '~> 3.1.0'
29
29
  s.add_development_dependency 'simplecov'
30
30
  s.add_development_dependency 'simplecov-rcov'
31
31
  s.add_development_dependency 'rspec'
32
32
  s.add_development_dependency 'pry'
33
+ s.add_development_dependency 'appraisal'
33
34
  end
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.6
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,24 +10,30 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-07-10 00:00:00.000000000 Z
13
+ date: 2014-10-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
- - - ~>
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '3.2'
23
+ - - <
21
24
  - !ruby/object:Gem::Version
22
- version: 3.2.13
25
+ version: '5.0'
23
26
  type: :runtime
24
27
  prerelease: false
25
28
  version_requirements: !ruby/object:Gem::Requirement
26
29
  none: false
27
30
  requirements:
28
- - - ~>
31
+ - - ! '>='
29
32
  - !ruby/object:Gem::Version
30
- version: 3.2.13
33
+ version: '3.2'
34
+ - - <
35
+ - !ruby/object:Gem::Version
36
+ version: '5.0'
31
37
  - !ruby/object:Gem::Dependency
32
38
  name: lookup_by
33
39
  requirement: !ruby/object:Gem::Requirement
@@ -129,19 +135,19 @@ dependencies:
129
135
  requirement: !ruby/object:Gem::Requirement
130
136
  none: false
131
137
  requirements:
132
- - - ! '>='
138
+ - - ~>
133
139
  - !ruby/object:Gem::Version
134
- version: '0'
140
+ version: 3.1.0
135
141
  type: :development
136
142
  prerelease: false
137
143
  version_requirements: !ruby/object:Gem::Requirement
138
144
  none: false
139
145
  requirements:
140
- - - ! '>='
146
+ - - ~>
141
147
  - !ruby/object:Gem::Version
142
- version: '0'
148
+ version: 3.1.0
143
149
  - !ruby/object:Gem::Dependency
144
- name: rspec-fire
150
+ name: simplecov
145
151
  requirement: !ruby/object:Gem::Requirement
146
152
  none: false
147
153
  requirements:
@@ -157,7 +163,7 @@ dependencies:
157
163
  - !ruby/object:Gem::Version
158
164
  version: '0'
159
165
  - !ruby/object:Gem::Dependency
160
- name: simplecov
166
+ name: simplecov-rcov
161
167
  requirement: !ruby/object:Gem::Requirement
162
168
  none: false
163
169
  requirements:
@@ -173,7 +179,7 @@ dependencies:
173
179
  - !ruby/object:Gem::Version
174
180
  version: '0'
175
181
  - !ruby/object:Gem::Dependency
176
- name: simplecov-rcov
182
+ name: rspec
177
183
  requirement: !ruby/object:Gem::Requirement
178
184
  none: false
179
185
  requirements:
@@ -189,7 +195,7 @@ dependencies:
189
195
  - !ruby/object:Gem::Version
190
196
  version: '0'
191
197
  - !ruby/object:Gem::Dependency
192
- name: rspec
198
+ name: pry
193
199
  requirement: !ruby/object:Gem::Requirement
194
200
  none: false
195
201
  requirements:
@@ -205,7 +211,7 @@ dependencies:
205
211
  - !ruby/object:Gem::Version
206
212
  version: '0'
207
213
  - !ruby/object:Gem::Dependency
208
- name: pry
214
+ name: appraisal
209
215
  requirement: !ruby/object:Gem::Requirement
210
216
  none: false
211
217
  requirements:
@@ -234,15 +240,14 @@ files:
234
240
  - .ruby-version
235
241
  - .simplecov
236
242
  - .travis.yml
243
+ - Appraisals
237
244
  - Gemfile
238
- - MIT-LICENSE
245
+ - LICENSE
239
246
  - README.md
240
247
  - Rakefile
241
- - app/assets/images/stachio/.gitkeep
242
248
  - app/controllers/stachio/application_controller.rb
243
249
  - app/controllers/stachio/templates_controller.rb
244
250
  - app/helpers/stachio/application_helper.rb
245
- - app/helpers/stachio/templates_helper.rb
246
251
  - app/models/stachio/template.rb
247
252
  - app/views/layouts/stachio/application.html.erb
248
253
  - app/views/stachio/templates/_form.html.erb
@@ -253,20 +258,21 @@ files:
253
258
  - config/routes.rb
254
259
  - db/migrate/20130509172418_create_stachio_templates.rb
255
260
  - db/migrate/20130529130543_add_description_to_stachio_templates.rb
261
+ - gemfiles/rails_3.2.gemfile
262
+ - gemfiles/rails_4.0.gemfile
263
+ - gemfiles/rails_4.1.gemfile
256
264
  - lib/stachio.rb
257
265
  - lib/stachio/engine.rb
266
+ - lib/stachio/readonly.rb
258
267
  - lib/stachio/version.rb
259
268
  - lib/tasks/stachio_tasks.rake
260
269
  - script/rails
261
270
  - spec/controllers/stachio/templates_controller_spec.rb
262
271
  - spec/dummy/.rspec
263
- - spec/dummy/.ruby-version
264
272
  - spec/dummy/README.md
265
273
  - spec/dummy/Rakefile
266
274
  - spec/dummy/app/controllers/application_controller.rb
267
275
  - spec/dummy/app/helpers/application_helper.rb
268
- - spec/dummy/app/mailers/.gitkeep
269
- - spec/dummy/app/models/.gitkeep
270
276
  - spec/dummy/app/views/layouts/application.html.erb
271
277
  - spec/dummy/config.ru
272
278
  - spec/dummy/config/application.rb
@@ -284,24 +290,20 @@ files:
284
290
  - spec/dummy/config/initializers/wrap_parameters.rb
285
291
  - spec/dummy/config/locales/en.yml
286
292
  - spec/dummy/config/routes.rb
287
- - spec/dummy/db/migrate/20130529132016_create_stachio_templates.stachio.rb
288
- - spec/dummy/db/migrate/20130529132017_add_description_to_stachio_templates.stachio.rb
289
293
  - spec/dummy/db/schema.rb
290
- - spec/dummy/lib/assets/.gitkeep
291
- - spec/dummy/log/.gitkeep
292
294
  - spec/dummy/public/404.html
293
295
  - spec/dummy/public/422.html
294
296
  - spec/dummy/public/500.html
295
297
  - spec/dummy/public/favicon.ico
296
298
  - spec/dummy/script/rails
297
- - spec/helpers/stachio/templates_helper_spec.rb
298
299
  - spec/models/stachio/template_spec.rb
299
- - spec/requests/stachio/stachio_templates_spec.rb
300
+ - spec/rails_helper.rb
300
301
  - spec/routing/stachio/templates_routing_spec.rb
301
302
  - spec/spec_helper.rb
302
303
  - stachio.gemspec
303
304
  homepage: https://github.com/bwthomas/stachio
304
- licenses: []
305
+ licenses:
306
+ - MIT
305
307
  post_install_message:
306
308
  rdoc_options: []
307
309
  require_paths:
@@ -314,7 +316,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
314
316
  version: '0'
315
317
  segments:
316
318
  - 0
317
- hash: 3693920644295587345
319
+ hash: 1862475971077471142
318
320
  required_rubygems_version: !ruby/object:Gem::Requirement
319
321
  none: false
320
322
  requirements:
@@ -323,23 +325,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
323
325
  version: '0'
324
326
  segments:
325
327
  - 0
326
- hash: 3693920644295587345
328
+ hash: 1862475971077471142
327
329
  requirements: []
328
330
  rubyforge_project:
329
- rubygems_version: 1.8.23
331
+ rubygems_version: 1.8.23.2
330
332
  signing_key:
331
333
  specification_version: 3
332
334
  summary: Stash your Stache with Stachio.
333
335
  test_files:
334
336
  - spec/controllers/stachio/templates_controller_spec.rb
335
337
  - spec/dummy/.rspec
336
- - spec/dummy/.ruby-version
337
338
  - spec/dummy/README.md
338
339
  - spec/dummy/Rakefile
339
340
  - spec/dummy/app/controllers/application_controller.rb
340
341
  - spec/dummy/app/helpers/application_helper.rb
341
- - spec/dummy/app/mailers/.gitkeep
342
- - spec/dummy/app/models/.gitkeep
343
342
  - spec/dummy/app/views/layouts/application.html.erb
344
343
  - spec/dummy/config.ru
345
344
  - spec/dummy/config/application.rb
@@ -357,18 +356,13 @@ test_files:
357
356
  - spec/dummy/config/initializers/wrap_parameters.rb
358
357
  - spec/dummy/config/locales/en.yml
359
358
  - spec/dummy/config/routes.rb
360
- - spec/dummy/db/migrate/20130529132016_create_stachio_templates.stachio.rb
361
- - spec/dummy/db/migrate/20130529132017_add_description_to_stachio_templates.stachio.rb
362
359
  - spec/dummy/db/schema.rb
363
- - spec/dummy/lib/assets/.gitkeep
364
- - spec/dummy/log/.gitkeep
365
360
  - spec/dummy/public/404.html
366
361
  - spec/dummy/public/422.html
367
362
  - spec/dummy/public/500.html
368
363
  - spec/dummy/public/favicon.ico
369
364
  - spec/dummy/script/rails
370
- - spec/helpers/stachio/templates_helper_spec.rb
371
365
  - spec/models/stachio/template_spec.rb
372
- - spec/requests/stachio/stachio_templates_spec.rb
366
+ - spec/rails_helper.rb
373
367
  - spec/routing/stachio/templates_routing_spec.rb
374
368
  - spec/spec_helper.rb
File without changes
@@ -1,7 +0,0 @@
1
- module Stachio
2
- module TemplatesHelper
3
- def readonly
4
- !!(Stachio::Engine.config.readonly)
5
- end
6
- end
7
- end
@@ -1 +0,0 @@
1
- 1.9.3-p194
File without changes
File without changes
@@ -1,11 +0,0 @@
1
- # This migration comes from stachio (originally 20130509172418)
2
- class CreateStachioTemplates < ActiveRecord::Migration
3
- def change
4
- create_table :stachio_templates do |t|
5
- t.string :template_name
6
- t.text :content
7
-
8
- t.timestamps
9
- end
10
- end
11
- end
@@ -1,6 +0,0 @@
1
- # This migration comes from stachio (originally 20130529130543)
2
- class AddDescriptionToStachioTemplates < ActiveRecord::Migration
3
- def change
4
- add_column :stachio_templates, :description, :text
5
- end
6
- end
File without changes
File without changes
@@ -1,17 +0,0 @@
1
- require 'spec_helper'
2
-
3
- # Specs in this file have access to a helper object that includes
4
- # the TemplatesHelper. For example:
5
- #
6
- # describe TemplatesHelper do
7
- # describe "string concat" do
8
- # it "concats two strings with spaces" do
9
- # helper.concat_strings("this","that").should == "this that"
10
- # end
11
- # end
12
- # end
13
- module Stachio
14
- describe TemplatesHelper do
15
- pending "add some examples to (or delete) #{__FILE__}"
16
- end
17
- end
@@ -1,11 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe "Templates" do
4
- describe "GET /stachio_templates" do
5
- it "works! (now write some real specs)" do
6
- # Run the generator again with the --webrat flag if you want to use webrat methods/matchers
7
- get templates_path
8
- response.status.should be(200)
9
- end
10
- end
11
- end