semi_static 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/lib/semi_static/controller/page.rb +1 -1
  4. data/lib/semi_static/version.rb +1 -1
  5. data/semi_static.gemspec +1 -1
  6. data/spec/backend_spec.rb +4 -4
  7. data/spec/{acceptance → features}/acceptance_helper.rb +0 -0
  8. data/spec/{acceptance → features}/custom_controllers_spec.rb +4 -4
  9. data/spec/{acceptance → features}/fake/app.rb +0 -0
  10. data/spec/{acceptance → features}/fake/app/controllers/admin/faqs_controller.rb +1 -1
  11. data/spec/{acceptance → features}/fake/app/controllers/faqs_controller.rb +0 -0
  12. data/spec/{acceptance → features}/fake/app/models/event_planning_tip.rb +0 -0
  13. data/spec/{acceptance → features}/fake/app/models/faq.rb +0 -0
  14. data/spec/{acceptance → features}/fake/app/models/news.rb +0 -0
  15. data/spec/{acceptance → features}/fake/app/views/application.html.erb +0 -0
  16. data/spec/{acceptance → features}/fake/semi_static_pages/event_planning_tips/erb_chained.md.erb +0 -0
  17. data/spec/{acceptance → features}/fake/semi_static_pages/event_planning_tips/erb_page.erb +0 -0
  18. data/spec/{acceptance → features}/fake/semi_static_pages/event_planning_tips/manner.md +0 -0
  19. data/spec/{acceptance → features}/fake/semi_static_pages/event_planning_tips/multibyte-bang.md +0 -0
  20. data/spec/{acceptance → features}/fake/semi_static_pages/event_planning_tips/non_standard_slug.md +0 -0
  21. data/spec/{acceptance → features}/fake/semi_static_pages/faqs/checkin_devices.md +0 -0
  22. data/spec/{acceptance → features}/fake/semi_static_pages/news/2011-07-26-replaced-download.md +0 -0
  23. data/spec/features/news_spec.rb +23 -0
  24. data/spec/features/page_spec.rb +49 -0
  25. data/spec/news_spec.rb +3 -3
  26. data/spec/page_spec.rb +9 -9
  27. metadata +44 -43
  28. data/spec/acceptance/news_spec.rb +0 -23
  29. data/spec/acceptance/page_spec.rb +0 -49
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e78d2c887c9864aeca093ceb4613ec35eec5316a
4
- data.tar.gz: 799edf4a73d1a078a1c89c34db52689c806fd253
3
+ metadata.gz: 3858969d960851aac2a526e58a77c5ea8bf60e90
4
+ data.tar.gz: 91ea7acfd26f2b652aff02c3cdd3b7fc0521ff38
5
5
  SHA512:
6
- metadata.gz: 000122461de9d14e3a03d20b21dda0b2a29f2ec7254d48a758cfa80faffde19fa1a4773296851bf636dea260480bf25170e1e17c5abc65e5e26c343a2e2b37dc
7
- data.tar.gz: eb920b374576b5ac899b509d1ac91180e405838e6ae67d4cf72b83a1c7b233d1711c4223ac58adc4cd98b458c01283b5660fdcebe4669cfcb74b1f621cdde905
6
+ metadata.gz: bbbbf86c4132f478f63ea3022de271eade1d5f0fdee99f462906269e2b8387485b86b4259dc11a4bc46525a063cfec1b879b2fad556352f0973b172651ca7bbe
7
+ data.tar.gz: 4facbede2541763b876aec97d9e06cb83a4b877969983763e89664ffaaa8373eed04171e4fb70c537adee14c3a0ec8e1e6a2162682908446dfbd595b6449c2d8
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ # CHANGELOG
2
+
3
+ ## v0.7.1
4
+
5
+ - Use request.env to avoid deprecation warning under Rails 5.
@@ -19,6 +19,6 @@ module SemiStatic::Controller::Page
19
19
  private
20
20
 
21
21
  def resource
22
- env["semi_static.mapping"]
22
+ request.env["semi_static.mapping"]
23
23
  end
24
24
  end
@@ -1,3 +1,3 @@
1
1
  module SemiStatic
2
- VERSION = "0.7.0"
2
+ VERSION = "0.7.1"
3
3
  end
data/semi_static.gemspec CHANGED
@@ -23,6 +23,6 @@ Gem::Specification.new do |s|
23
23
  s.add_dependency 'babosa'
24
24
  s.add_dependency 'tilt', '>= 1.3.4'
25
25
 
26
- s.add_development_dependency 'rspec-rails', '~> 2.0'
26
+ s.add_development_dependency 'rspec-rails', '>= 3.0'
27
27
  s.add_development_dependency 'capybara', '~> 2.1'
28
28
  end
data/spec/backend_spec.rb CHANGED
@@ -12,15 +12,15 @@ describe SemiStatic::Backend do
12
12
 
13
13
  context "all" do
14
14
  before { @all = @backend.all(News) }
15
- it { @all.size.should == 1 }
15
+ it { expect(@all.size).to eq(1) }
16
16
 
17
17
  context "item" do
18
18
  before { @item = @all.first }
19
- it { @item.title.should == "請求書のダウンロードが可能になりました" }
20
- it { @item.published_at.should == Date.parse("2011-07-26") }
19
+ it { expect(@item.title).to eq("請求書のダウンロードが可能になりました") }
20
+ it { expect(@item.published_at).to eq(Date.parse("2011-07-26")) }
21
21
  context "body" do
22
22
  subject { @item.body.render(self) }
23
- it { should include("<br>") }
23
+ it { is_expected.to include("<br>") }
24
24
  end
25
25
  end
26
26
  end
File without changes
@@ -1,19 +1,19 @@
1
1
  # encoding: UTF-8
2
2
  require File.expand_path(File.dirname(__FILE__) + '/acceptance_helper')
3
3
 
4
- feature 'custom controllers' do
4
+ feature 'custom controllers', type: :feature do
5
5
  scenario "index" do
6
6
  visit faqs_path
7
- find("h1 a").text.should == "チェックイン端末とはなんですか?"
7
+ expect(find("h1 a").text).to eq("チェックイン端末とはなんですか?")
8
8
  end
9
9
 
10
10
  scenario "overwritten method" do
11
11
  visit faq_path(:id => "管理端末とはなんですか?")
12
- find("h1").text.should == "チェックイン端末とはなんですか?"
12
+ expect(find("h1").text).to eq("チェックイン端末とはなんですか?")
13
13
  end
14
14
 
15
15
  scenario "namespaced controller" do
16
16
  visit admin_faqs_path
17
- find("body").text.should == "Namespaced"
17
+ expect(find("body").text).to eq("Namespaced")
18
18
  end
19
19
  end
File without changes
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
  class Admin::FaqsController < SemiStatic::PageController
3
3
  def index
4
- render :text => "Namespaced"
4
+ render :plain => "Namespaced"
5
5
  end
6
6
  end
@@ -0,0 +1,23 @@
1
+ # encoding: UTF-8
2
+ require File.expand_path(File.dirname(__FILE__) + '/acceptance_helper')
3
+
4
+ feature 'news', type: :feature do
5
+ scenario "index" do
6
+ visit news_index_path
7
+ expect(page.find("h1 a").text).to eq("請求書のダウンロードが可能になりました")
8
+ expect(page.find("date").text).to eq("July 26, 2011")
9
+ expect(page.find("p").text).to eq("各請求書のページに「ダウンロード」ボタンを設置し、作成した請求書をPDFファイルとしてダウンロードできるようになりました。")
10
+ end
11
+
12
+ scenario 'show markdown page' do
13
+ visit "/news/2011/7/26/#{CGI.escape("請求書のダウンロードが可能になりました")}"
14
+ expect(page.find("h1").text).to eq("請求書のダウンロードが可能になりました")
15
+ expect(page.find("date").text).to eq("July 26, 2011")
16
+ expect(page.find("p").text).to eq("各請求書のページに「ダウンロード」ボタンを設置し、作成した請求書をPDFファイルとしてダウンロードできるようになりました。")
17
+ end
18
+
19
+ scenario 'show non-existant page' do
20
+ visit "/news/1999/1/23/foo"
21
+ expect(page.status_code).to eq(404)
22
+ end
23
+ end
@@ -0,0 +1,49 @@
1
+ # encoding: UTF-8
2
+ require File.expand_path(File.dirname(__FILE__) + '/acceptance_helper')
3
+
4
+ feature 'page', type: :feature do
5
+ scenario "index" do
6
+ visit '/event_planning_tips'
7
+ expect(page).to have_css("h1 a")
8
+ expect(page).to have_content("イベント時に気をつけたいマナー")
9
+ end
10
+
11
+ scenario 'show markdown page' do
12
+ visit "/event_planning_tips/#{CGI.escape("イベント時に気をつけたいマナー")}"
13
+ expect(page.find("h1").text).to eq("イベント時に気をつけたいマナー")
14
+ expect(page.find("section h2").text).to eq("1. 無断に写真や動画の撮影、公開しない")
15
+ end
16
+
17
+ scenario 'show multibyte bang' do
18
+ visit "/event_planning_tips/#{CGI.escape("イベントやろう")}"
19
+ expect(current_path).to eq("/event_planning_tips/#{CGI.escape("イベントやろう")}")
20
+ expect(page.find("h1").text).to eq("イベントやろう!")
21
+ end
22
+
23
+ scenario 'show erb page' do
24
+ visit "/event_planning_tips/erb-test"
25
+ expect(page.find(".erb").text).to eq("1 + 1 = 2")
26
+ end
27
+
28
+ scenario 'show erb chained' do
29
+ visit "/event_planning_tips/erb-chained"
30
+ expect(page.find("h2").text).to eq("1 + 1 = 2")
31
+ expect(page).to have_css "img"
32
+ end
33
+
34
+ scenario 'non standard slug' do
35
+ visit "/event_planning_tips/non-standard-slug"
36
+ expect(page.find("h1").text).to eq("Title is different than slug")
37
+ end
38
+
39
+ scenario 'slug is not validly encoded' do
40
+ visit "/event_planning_tips/%8e%8f"
41
+ expect(page.status_code).to eq(400)
42
+ end
43
+
44
+ scenario 'redirect in case of double escape' do
45
+ visit "/event_planning_tips/#{CGI.escape(CGI.escape("イベントやろう"))}"
46
+ expect(current_path).to eq("/event_planning_tips/#{CGI.escape("イベントやろう")}")
47
+ expect(page.find("h1").text).to eq("イベントやろう!")
48
+ end
49
+ end
data/spec/news_spec.rb CHANGED
@@ -4,9 +4,9 @@ require 'spec_helper'
4
4
  describe SemiStatic::News do
5
5
  before do
6
6
  @page = described_class.new("body", :title => "ほげ", :published_at => Date.parse("2001-01-31"))
7
- SemiStatic.backend = mock(:all => [ @page ])
7
+ SemiStatic.backend = double(:all => [ @page ])
8
8
  end
9
9
 
10
- it { @page.to_param.should == "2001/1/31/ほげ" }
11
- it { News.find("2001/1/31/ほげ").should == @page }
10
+ it { expect(@page.to_param).to eq("2001/1/31/ほげ") }
11
+ it { expect(SemiStatic::News.find("2001/1/31/ほげ")).to eq(@page) }
12
12
  end
data/spec/page_spec.rb CHANGED
@@ -5,15 +5,15 @@ describe SemiStatic::Page do
5
5
  before do
6
6
  @japanese_page = described_class.new("body", :title => "ほげ")
7
7
  @english_page = described_class.new("body", :title => "foo bar")
8
- SemiStatic.backend = mock(:all => [ @japanese_page, @english_page ])
8
+ SemiStatic.backend = double(:all => [ @japanese_page, @english_page ])
9
9
  end
10
10
 
11
- it { @japanese_page.to_param.should == "ほげ" }
12
- it { @japanese_page.to_s.should == "ほげ" }
13
- it { @english_page.to_param.should == "foo-bar" }
14
- it { @english_page.to_s.should == "foo bar" }
15
- it { described_class.new(nil, {}).to_s.should == "" }
16
- it { SemiStatic::Page.find("foo-bar").should == @english_page }
17
- it { SemiStatic::Page.find("ほげ").should == @japanese_page }
18
- it { SemiStatic::Page.find(CGI.escape("ほげ")).should == @japanese_page }
11
+ it { expect(@japanese_page.to_param).to eq("ほげ") }
12
+ it { expect(@japanese_page.to_s).to eq("ほげ") }
13
+ it { expect(@english_page.to_param).to eq("foo-bar") }
14
+ it { expect(@english_page.to_s).to eq("foo bar") }
15
+ it { expect(described_class.new(nil, {}).to_s).to eq("") }
16
+ it { expect(SemiStatic::Page.find("foo-bar")).to eq(@english_page) }
17
+ it { expect(SemiStatic::Page.find("ほげ")).to eq(@japanese_page) }
18
+ it { expect(SemiStatic::Page.find(CGI.escape("ほげ"))).to eq(@japanese_page) }
19
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: semi_static
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul McMahon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-20 00:00:00.000000000 Z
11
+ date: 2017-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -70,16 +70,16 @@ dependencies:
70
70
  name: rspec-rails
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '2.0'
75
+ version: '3.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '2.0'
82
+ version: '3.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: capybara
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -102,6 +102,7 @@ extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
104
  - ".gitignore"
105
+ - CHANGELOG.md
105
106
  - Gemfile
106
107
  - README.md
107
108
  - Rakefile
@@ -125,25 +126,25 @@ files:
125
126
  - lib/semi_static/tilt_wrapper.rb
126
127
  - lib/semi_static/version.rb
127
128
  - semi_static.gemspec
128
- - spec/acceptance/acceptance_helper.rb
129
- - spec/acceptance/custom_controllers_spec.rb
130
- - spec/acceptance/fake/app.rb
131
- - spec/acceptance/fake/app/controllers/admin/faqs_controller.rb
132
- - spec/acceptance/fake/app/controllers/faqs_controller.rb
133
- - spec/acceptance/fake/app/models/event_planning_tip.rb
134
- - spec/acceptance/fake/app/models/faq.rb
135
- - spec/acceptance/fake/app/models/news.rb
136
- - spec/acceptance/fake/app/views/application.html.erb
137
- - spec/acceptance/fake/semi_static_pages/event_planning_tips/erb_chained.md.erb
138
- - spec/acceptance/fake/semi_static_pages/event_planning_tips/erb_page.erb
139
- - spec/acceptance/fake/semi_static_pages/event_planning_tips/manner.md
140
- - spec/acceptance/fake/semi_static_pages/event_planning_tips/multibyte-bang.md
141
- - spec/acceptance/fake/semi_static_pages/event_planning_tips/non_standard_slug.md
142
- - spec/acceptance/fake/semi_static_pages/faqs/checkin_devices.md
143
- - spec/acceptance/fake/semi_static_pages/news/2011-07-26-replaced-download.md
144
- - spec/acceptance/news_spec.rb
145
- - spec/acceptance/page_spec.rb
146
129
  - spec/backend_spec.rb
130
+ - spec/features/acceptance_helper.rb
131
+ - spec/features/custom_controllers_spec.rb
132
+ - spec/features/fake/app.rb
133
+ - spec/features/fake/app/controllers/admin/faqs_controller.rb
134
+ - spec/features/fake/app/controllers/faqs_controller.rb
135
+ - spec/features/fake/app/models/event_planning_tip.rb
136
+ - spec/features/fake/app/models/faq.rb
137
+ - spec/features/fake/app/models/news.rb
138
+ - spec/features/fake/app/views/application.html.erb
139
+ - spec/features/fake/semi_static_pages/event_planning_tips/erb_chained.md.erb
140
+ - spec/features/fake/semi_static_pages/event_planning_tips/erb_page.erb
141
+ - spec/features/fake/semi_static_pages/event_planning_tips/manner.md
142
+ - spec/features/fake/semi_static_pages/event_planning_tips/multibyte-bang.md
143
+ - spec/features/fake/semi_static_pages/event_planning_tips/non_standard_slug.md
144
+ - spec/features/fake/semi_static_pages/faqs/checkin_devices.md
145
+ - spec/features/fake/semi_static_pages/news/2011-07-26-replaced-download.md
146
+ - spec/features/news_spec.rb
147
+ - spec/features/page_spec.rb
147
148
  - spec/news_spec.rb
148
149
  - spec/page_spec.rb
149
150
  - spec/semi_static_pages/news/2011-07-26-replaced-download.md
@@ -167,30 +168,30 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
168
  version: '0'
168
169
  requirements: []
169
170
  rubyforge_project: semi_static
170
- rubygems_version: 2.2.3
171
+ rubygems_version: 2.5.2
171
172
  signing_key:
172
173
  specification_version: 4
173
174
  summary: Text file based CMS for Rails
174
175
  test_files:
175
- - spec/acceptance/acceptance_helper.rb
176
- - spec/acceptance/custom_controllers_spec.rb
177
- - spec/acceptance/fake/app.rb
178
- - spec/acceptance/fake/app/controllers/admin/faqs_controller.rb
179
- - spec/acceptance/fake/app/controllers/faqs_controller.rb
180
- - spec/acceptance/fake/app/models/event_planning_tip.rb
181
- - spec/acceptance/fake/app/models/faq.rb
182
- - spec/acceptance/fake/app/models/news.rb
183
- - spec/acceptance/fake/app/views/application.html.erb
184
- - spec/acceptance/fake/semi_static_pages/event_planning_tips/erb_chained.md.erb
185
- - spec/acceptance/fake/semi_static_pages/event_planning_tips/erb_page.erb
186
- - spec/acceptance/fake/semi_static_pages/event_planning_tips/manner.md
187
- - spec/acceptance/fake/semi_static_pages/event_planning_tips/multibyte-bang.md
188
- - spec/acceptance/fake/semi_static_pages/event_planning_tips/non_standard_slug.md
189
- - spec/acceptance/fake/semi_static_pages/faqs/checkin_devices.md
190
- - spec/acceptance/fake/semi_static_pages/news/2011-07-26-replaced-download.md
191
- - spec/acceptance/news_spec.rb
192
- - spec/acceptance/page_spec.rb
193
176
  - spec/backend_spec.rb
177
+ - spec/features/acceptance_helper.rb
178
+ - spec/features/custom_controllers_spec.rb
179
+ - spec/features/fake/app.rb
180
+ - spec/features/fake/app/controllers/admin/faqs_controller.rb
181
+ - spec/features/fake/app/controllers/faqs_controller.rb
182
+ - spec/features/fake/app/models/event_planning_tip.rb
183
+ - spec/features/fake/app/models/faq.rb
184
+ - spec/features/fake/app/models/news.rb
185
+ - spec/features/fake/app/views/application.html.erb
186
+ - spec/features/fake/semi_static_pages/event_planning_tips/erb_chained.md.erb
187
+ - spec/features/fake/semi_static_pages/event_planning_tips/erb_page.erb
188
+ - spec/features/fake/semi_static_pages/event_planning_tips/manner.md
189
+ - spec/features/fake/semi_static_pages/event_planning_tips/multibyte-bang.md
190
+ - spec/features/fake/semi_static_pages/event_planning_tips/non_standard_slug.md
191
+ - spec/features/fake/semi_static_pages/faqs/checkin_devices.md
192
+ - spec/features/fake/semi_static_pages/news/2011-07-26-replaced-download.md
193
+ - spec/features/news_spec.rb
194
+ - spec/features/page_spec.rb
194
195
  - spec/news_spec.rb
195
196
  - spec/page_spec.rb
196
197
  - spec/semi_static_pages/news/2011-07-26-replaced-download.md
@@ -1,23 +0,0 @@
1
- # encoding: UTF-8
2
- require File.expand_path(File.dirname(__FILE__) + '/acceptance_helper')
3
-
4
- feature 'news' do
5
- scenario "index" do
6
- visit news_index_path
7
- page.find("h1 a").text.should == "請求書のダウンロードが可能になりました"
8
- page.find("date").text.should == "July 26, 2011"
9
- page.find("p").text.should == "各請求書のページに「ダウンロード」ボタンを設置し、作成した請求書をPDFファイルとしてダウンロードできるようになりました。"
10
- end
11
-
12
- scenario 'show markdown page' do
13
- visit "/news/2011/7/26/#{CGI.escape("請求書のダウンロードが可能になりました")}"
14
- page.find("h1").text.should == "請求書のダウンロードが可能になりました"
15
- page.find("date").text.should == "July 26, 2011"
16
- page.find("p").text.should == "各請求書のページに「ダウンロード」ボタンを設置し、作成した請求書をPDFファイルとしてダウンロードできるようになりました。"
17
- end
18
-
19
- scenario 'show non-existant page' do
20
- visit "/news/1999/1/23/foo"
21
- page.status_code.should == 404
22
- end
23
- end
@@ -1,49 +0,0 @@
1
- # encoding: UTF-8
2
- require File.expand_path(File.dirname(__FILE__) + '/acceptance_helper')
3
-
4
- feature 'page' do
5
- scenario "index" do
6
- visit '/event_planning_tips'
7
- page.should have_css("h1 a")
8
- page.should have_content("イベント時に気をつけたいマナー")
9
- end
10
-
11
- scenario 'show markdown page' do
12
- visit "/event_planning_tips/#{CGI.escape("イベント時に気をつけたいマナー")}"
13
- page.find("h1").text.should == "イベント時に気をつけたいマナー"
14
- page.find("section h2").text.should == "1. 無断に写真や動画の撮影、公開しない"
15
- end
16
-
17
- scenario 'show multibyte bang' do
18
- visit "/event_planning_tips/#{CGI.escape("イベントやろう")}"
19
- current_path.should == "/event_planning_tips/#{CGI.escape("イベントやろう")}"
20
- page.find("h1").text.should == "イベントやろう!"
21
- end
22
-
23
- scenario 'show erb page' do
24
- visit "/event_planning_tips/erb-test"
25
- page.find(".erb").text.should == "1 + 1 = 2"
26
- end
27
-
28
- scenario 'show erb chained' do
29
- visit "/event_planning_tips/erb-chained"
30
- page.find("h2").text.should == "1 + 1 = 2"
31
- page.should have_css "img"
32
- end
33
-
34
- scenario 'non standard slug' do
35
- visit "/event_planning_tips/non-standard-slug"
36
- page.find("h1").text.should == "Title is different than slug"
37
- end
38
-
39
- scenario 'slug is not validly encoded' do
40
- visit "/event_planning_tips/%8e%8f"
41
- page.status_code.should == 400
42
- end
43
-
44
- scenario 'redirect in case of double escape' do
45
- visit "/event_planning_tips/#{CGI.escape(CGI.escape("イベントやろう"))}"
46
- current_path.should == "/event_planning_tips/#{CGI.escape("イベントやろう")}"
47
- page.find("h1").text.should == "イベントやろう!"
48
- end
49
- end