akki 0.0.3 → 0.0.4
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 +2 -0
- data/.travis.yml +1 -0
- data/Rakefile +10 -0
- data/akki.gemspec +1 -0
- data/features/archives.feature +29 -0
- data/features/articles.feature +7 -27
- data/features/fixtures/views/archives.haml +2 -0
- data/features/fixtures/views/article.haml +1 -0
- data/features/fixtures/views/example-page.haml +1 -0
- data/features/fixtures/views/layout.haml +5 -0
- data/features/pages.feature +12 -0
- data/features/step_definitions/env.rb +3 -0
- data/features/step_definitions/steps.rb +17 -19
- data/lib/akki.rb +4 -0
- data/lib/akki/application.rb +8 -13
- data/lib/akki/article.rb +26 -10
- data/lib/akki/version.rb +1 -1
- data/spec/application_spec.rb +47 -13
- data/spec/article_spec.rb +35 -28
- metadata +42 -12
data/.gitignore
CHANGED
data/.travis.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm: 1.9.2
|
data/Rakefile
CHANGED
@@ -1 +1,11 @@
|
|
1
|
+
require 'bundler/setup'
|
1
2
|
require 'bundler/gem_tasks'
|
3
|
+
require 'rspec/core/rake_task'
|
4
|
+
require 'cucumber/rake/task'
|
5
|
+
|
6
|
+
task :default => [:spec, :cucumber]
|
7
|
+
|
8
|
+
RSpec::Core::RakeTask.new(:spec) do |task|
|
9
|
+
task.rspec_opts = ["--color"]
|
10
|
+
end
|
11
|
+
Cucumber::Rake::Task.new(:cucumber)
|
data/akki.gemspec
CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.add_dependency 'sinatra'
|
20
20
|
s.add_dependency 'haml'
|
21
|
+
s.add_development_dependency 'rake'
|
21
22
|
s.add_development_dependency 'rspec'
|
22
23
|
s.add_development_dependency 'cucumber'
|
23
24
|
s.add_development_dependency 'capybara'
|
@@ -0,0 +1,29 @@
|
|
1
|
+
Feature: Archives
|
2
|
+
In order to list all current articles
|
3
|
+
As a developer
|
4
|
+
I need a list of all articles
|
5
|
+
|
6
|
+
Scenario: View articles sorted by date
|
7
|
+
Given I have the article file "1991-04-23-article.txt"
|
8
|
+
"""
|
9
|
+
title: Article 3
|
10
|
+
date: 2008/04/23
|
11
|
+
"""
|
12
|
+
And I have the article file "1993-04-23-article.txt"
|
13
|
+
"""
|
14
|
+
title: Article 2
|
15
|
+
date: 2008/04/23
|
16
|
+
"""
|
17
|
+
And I have the article file "2008-04-23-article.txt"
|
18
|
+
"""
|
19
|
+
title: Article 1
|
20
|
+
date: 2008/04/23
|
21
|
+
"""
|
22
|
+
And I have an archive template that shows the article title
|
23
|
+
When I visit "/archives"
|
24
|
+
Then I should see:
|
25
|
+
"""
|
26
|
+
<p>Article 1</p>
|
27
|
+
<p>Article 2</p>
|
28
|
+
<p>Article 3</p>
|
29
|
+
"""
|
data/features/articles.feature
CHANGED
@@ -1,38 +1,18 @@
|
|
1
|
-
Feature: Article
|
2
|
-
In order to display articles
|
1
|
+
Feature: Article Page
|
2
|
+
In order to display articles
|
3
3
|
As a user
|
4
|
-
I want to be
|
4
|
+
I want to be able to view an article
|
5
5
|
|
6
6
|
Scenario: Simple Article
|
7
|
-
Given I have the article file "1983-
|
7
|
+
Given I have the article file "1983-05-23-simple-article.txt"
|
8
8
|
"""
|
9
9
|
title: Simple Article
|
10
|
-
date:
|
10
|
+
date: 1983/05/23
|
11
11
|
|
12
12
|
%p article content
|
13
13
|
"""
|
14
|
-
|
15
|
-
"""
|
16
|
-
%html
|
17
|
-
%head
|
18
|
-
%title= article.title
|
19
|
-
%body
|
20
|
-
= yield
|
21
|
-
"""
|
22
|
-
And the article template:
|
23
|
-
"""
|
24
|
-
%div.article= article.render
|
25
|
-
"""
|
26
|
-
When I visit "1983/10/23/simple-article"
|
14
|
+
When I visit "/1983/05/23/simple-article"
|
27
15
|
Then I should see:
|
28
16
|
"""
|
29
|
-
<
|
30
|
-
<head>
|
31
|
-
<title>Simple Article</title>
|
32
|
-
</head>
|
33
|
-
<body>
|
34
|
-
<div class='article'><p>article content</p></div>
|
35
|
-
</body>
|
36
|
-
</html>
|
37
|
-
|
17
|
+
<div class='article'><p>article content</p></div>
|
38
18
|
"""
|
@@ -0,0 +1 @@
|
|
1
|
+
%div.article= article.render
|
@@ -0,0 +1 @@
|
|
1
|
+
%p This is the example page
|
@@ -0,0 +1,12 @@
|
|
1
|
+
Feature: Pages
|
2
|
+
In order to display custom pages
|
3
|
+
As a user
|
4
|
+
I want to display custom pages
|
5
|
+
|
6
|
+
Scenario: About page
|
7
|
+
Given I have the page "example-page"
|
8
|
+
When I visit "/example-page"
|
9
|
+
Then I should see:
|
10
|
+
"""
|
11
|
+
<p>This is the example page</p>
|
12
|
+
"""
|
@@ -1,31 +1,29 @@
|
|
1
|
-
|
2
|
-
articles_path = File.join(File.dirname(__FILE__), '..', '..', 'articles')
|
3
|
-
FileUtils.mkdir_p(articles_path)
|
4
|
-
|
5
|
-
file.write(article_contents)
|
6
|
-
end
|
1
|
+
Before do
|
2
|
+
@articles_path = File.join(File.dirname(__FILE__), '..', '..', 'articles')
|
3
|
+
FileUtils.mkdir_p(@articles_path)
|
4
|
+
Akki::Application.set :views, "features/fixtures/views"
|
7
5
|
end
|
8
6
|
|
9
|
-
|
10
|
-
|
11
|
-
FileUtils.mkdir_p(templates_path)
|
12
|
-
File.open(File.join(templates_path, 'layout.haml'), 'w') do |file|
|
13
|
-
file.write(contents)
|
14
|
-
end
|
7
|
+
After do
|
8
|
+
FileUtils.rm_rf @articles_path if File.exist?(@articles_path)
|
15
9
|
end
|
16
10
|
|
17
|
-
Given /^the article
|
18
|
-
|
19
|
-
|
20
|
-
File.open(File.join(templates_path, 'article.haml'), 'w') do |file|
|
21
|
-
file.write(contents)
|
11
|
+
Given /^I have the article file "([^"]*)"$/ do |article_file, article_contents|
|
12
|
+
File.open(File.join(@articles_path, article_file), 'w') do |file|
|
13
|
+
file.write(article_contents)
|
22
14
|
end
|
23
15
|
end
|
24
16
|
|
17
|
+
Given /^I have the page "example-page"$/ do
|
18
|
+
end
|
19
|
+
|
25
20
|
Given /^I visit "([^"]*)"$/ do |url|
|
26
|
-
visit
|
21
|
+
visit url
|
27
22
|
end
|
28
23
|
|
29
24
|
Then /^I should see:$/ do |content|
|
30
|
-
page.source.should
|
25
|
+
page.source.should include content
|
26
|
+
end
|
27
|
+
|
28
|
+
Given /^I have an archive template that shows the article title$/ do
|
31
29
|
end
|
data/lib/akki.rb
CHANGED
data/lib/akki/application.rb
CHANGED
@@ -5,23 +5,18 @@ require 'akki/article'
|
|
5
5
|
|
6
6
|
module Akki
|
7
7
|
class Application < Sinatra::Base
|
8
|
+
|
8
9
|
get "/:year/:month/:day/:slug/?" do
|
9
|
-
year = params[:year]
|
10
|
-
month = params[:month]
|
11
|
-
day = params[:day]
|
10
|
+
year = params[:year].to_i
|
11
|
+
month = params[:month].to_i
|
12
|
+
day = params[:day].to_i
|
12
13
|
slug = params[:slug]
|
13
|
-
|
14
|
+
article = Article::find(year, month, day, slug)
|
15
|
+
haml :article, :locals => { :article => article }
|
14
16
|
end
|
15
17
|
|
16
|
-
|
17
|
-
|
18
|
-
scope.article = article
|
19
|
-
layout = File.read('templates/layout.haml')
|
20
|
-
article_layout = File.read('templates/article.haml')
|
21
|
-
|
22
|
-
Haml::Engine.new(layout).render(scope) do
|
23
|
-
Haml::Engine.new(article_layout).render(binding)
|
24
|
-
end
|
18
|
+
get "/:page/?" do
|
19
|
+
haml params[:page].to_sym, :locals => { :articles => Article.all }
|
25
20
|
end
|
26
21
|
end
|
27
22
|
end
|
data/lib/akki/article.rb
CHANGED
@@ -2,22 +2,38 @@ require 'haml'
|
|
2
2
|
|
3
3
|
module Akki
|
4
4
|
class Article
|
5
|
-
attr_accessor :title, :date, :content
|
5
|
+
attr_accessor :title, :slug, :date, :content
|
6
6
|
|
7
|
-
def initialize(title, date, content)
|
7
|
+
def initialize(title, date, content, slug)
|
8
8
|
@title = title
|
9
9
|
@date = date
|
10
10
|
@content = content
|
11
|
+
@slug = slug
|
11
12
|
end
|
12
13
|
|
13
|
-
def self.
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
14
|
+
def self.find year, month, day, slug
|
15
|
+
article = all.select { |article|
|
16
|
+
article.date.year == year &&
|
17
|
+
article.date.month == month &&
|
18
|
+
article.date.day == day &&
|
19
|
+
article.slug == slug
|
20
|
+
}.first
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.all
|
24
|
+
articles = Dir.glob("articles/*").map do |path|
|
25
|
+
parts = File.read(path).split("\n\n", 2)
|
26
|
+
yaml = YAML.load(parts[0])
|
27
|
+
content = parts[1]
|
28
|
+
title = yaml['title']
|
29
|
+
date = Date.strptime(yaml['date'], '%Y/%m/%d')
|
30
|
+
slug = File.basename(path).split("-", 4).last.gsub(".txt", "")
|
31
|
+
Article.new(title, date, content, slug)
|
32
|
+
end
|
33
|
+
|
34
|
+
articles = articles.sort do |a, b|
|
35
|
+
a.date <=> b.date
|
36
|
+
end.reverse
|
21
37
|
end
|
22
38
|
|
23
39
|
def render
|
data/lib/akki/version.rb
CHANGED
data/spec/application_spec.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
+
Akki::Application.set :reload_templates, true
|
4
|
+
|
3
5
|
module Akki
|
4
6
|
describe Application do
|
5
7
|
include Rack::Test::Methods
|
@@ -8,35 +10,67 @@ module Akki
|
|
8
10
|
Application
|
9
11
|
end
|
10
12
|
|
13
|
+
before do
|
14
|
+
@views_path = File.join(File.dirname(__FILE__), '..', 'views')
|
15
|
+
FileUtils.mkdir_p @views_path
|
16
|
+
end
|
17
|
+
|
18
|
+
after do
|
19
|
+
FileUtils.rm_rf @views_path
|
20
|
+
end
|
21
|
+
|
22
|
+
def create_view name, contents
|
23
|
+
File.open(File.join(@views_path, name), 'w') do |file|
|
24
|
+
file.write(contents)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
11
28
|
describe "GET /23/10/2011/simple-article" do
|
12
29
|
before do
|
13
30
|
@article = mock :article
|
14
31
|
@article.stub!(:render).and_return 'article content'
|
15
32
|
@article.stub!(:title).and_return 'article title'
|
16
|
-
|
17
|
-
File.stub!(:read).with('templates/article.haml').and_return '%p= article.render'
|
18
|
-
Article.stub!(:from_file).and_return @article
|
33
|
+
Article.stub!(:find).and_return @article
|
19
34
|
end
|
20
35
|
|
21
|
-
it "
|
36
|
+
it "loads an article" do
|
37
|
+
create_view "article.haml", ""
|
38
|
+
Article.should_receive(:find).with(2011, 10, 23, "simple-article")
|
22
39
|
get '/2011/10/23/simple-article'
|
23
|
-
last_response.should be_ok
|
24
40
|
end
|
25
41
|
|
26
|
-
it "
|
27
|
-
|
42
|
+
it "passes the article through to the view" do
|
43
|
+
create_view "article.haml", "= article.render"
|
28
44
|
get '/2011/10/23/simple-article'
|
45
|
+
last_response.body.should include "article content"
|
29
46
|
end
|
30
47
|
|
31
|
-
it "renders the article
|
48
|
+
it "renders the article" do
|
49
|
+
create_view 'article.haml', '= article.render'
|
32
50
|
get '/2011/10/23/simple-article'
|
33
|
-
last_response.body.should include
|
51
|
+
last_response.body.should include "article content"
|
34
52
|
end
|
53
|
+
end
|
35
54
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
55
|
+
describe "GET /page_name" do
|
56
|
+
it "renders a custom page" do
|
57
|
+
Article.stub!(:all).and_return []
|
58
|
+
create_view 'page_name.haml', 'this is my page!'
|
59
|
+
get '/page_name'
|
60
|
+
last_response.body.should include 'this is my page!'
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe "GET a page that lists articles" do
|
65
|
+
it "lists all articles" do
|
66
|
+
Article.stub!(:all).and_return([
|
67
|
+
Article.new("article 1", nil, "article 1 content", "article1"),
|
68
|
+
Article.new("article 2", nil, "article 2 content", "article2")
|
69
|
+
])
|
70
|
+
create_view 'archives.haml', "- articles.each do |a|\n %p= a.title"
|
71
|
+
get '/archives'
|
72
|
+
last_response.body.should include "article 1"
|
73
|
+
last_response.body.should include "article 2"
|
40
74
|
end
|
41
75
|
end
|
42
76
|
end
|
data/spec/article_spec.rb
CHANGED
@@ -3,43 +3,50 @@ require 'akki/article'
|
|
3
3
|
|
4
4
|
module Akki
|
5
5
|
describe Article do
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
date: 1983/10/23
|
10
|
-
|
11
|
-
article content
|
12
|
-
ARTICLE
|
6
|
+
it "renders the content" do
|
7
|
+
article = Article.new("an article", Date.new(2011, 10, 10), "%p article content", "an-article")
|
8
|
+
article.render.should include '<p>article content</p>'
|
13
9
|
end
|
14
10
|
|
15
|
-
|
16
|
-
|
17
|
-
|
11
|
+
def article_should_match article, title, date, content, slug
|
12
|
+
article.title.should == title
|
13
|
+
article.date.should == date
|
14
|
+
article.content.should == content
|
15
|
+
article.slug.should == slug
|
18
16
|
end
|
19
17
|
|
20
|
-
it "loads
|
21
|
-
|
22
|
-
|
23
|
-
|
18
|
+
it "loads all articles" do
|
19
|
+
articles = [
|
20
|
+
"articles/2012-10-23-article1.txt",
|
21
|
+
"articles/2011-11-25-article2.txt"
|
22
|
+
]
|
23
|
+
Dir.stub!(:glob).with("articles/*").and_return(articles)
|
24
|
+
File.stub!(:read).with(articles.first).and_return("title: article 1\ndate: 2012/10/23\n\narticle 1 content")
|
25
|
+
File.stub!(:read).with(articles.last).and_return("title: article 2\ndate: 2011/11/25\n\narticle 2 content")
|
24
26
|
|
25
|
-
|
26
|
-
article
|
27
|
-
article.date.year.should == 1983
|
28
|
-
article.date.month.should == 10
|
29
|
-
article.date.day.should == 23
|
27
|
+
article_should_match(Article.all.first, "article 1", Date.new(2012, 10, 23), "article 1 content", "article1")
|
28
|
+
article_should_match(Article.all.last, "article 2", Date.new(2011, 11, 25), "article 2 content", "article2")
|
30
29
|
end
|
31
30
|
|
32
|
-
it "
|
33
|
-
|
34
|
-
|
31
|
+
it "sorts articles by date" do
|
32
|
+
articles = [
|
33
|
+
"articles/2009-10-23-article1.txt",
|
34
|
+
"articles/2011-11-25-article2.txt"
|
35
|
+
]
|
36
|
+
Dir.stub!(:glob).with("articles/*").and_return(articles)
|
37
|
+
File.stub!(:read).with(articles.first).and_return("title: article 1\ndate: 2009/10/23\n\narticle 1 content")
|
38
|
+
File.stub!(:read).with(articles.last).and_return("title: article 2\ndate: 2011/11/25\n\narticle 2 content")
|
39
|
+
Article.all.first.title.should == "article 2"
|
40
|
+
Article.all.last.title.should == "article 1"
|
35
41
|
end
|
36
42
|
|
37
|
-
it "
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
+
it "finds an article" do
|
44
|
+
articles = [
|
45
|
+
Article.new("an article", Date.new(2011, 10, 10), "article 1 content", "an-article"),
|
46
|
+
Article.new("Some Article", Date.new(2033, 4, 3), "article 2 content", "some-article")
|
47
|
+
]
|
48
|
+
Article.stub!(:all).and_return(articles)
|
49
|
+
Article.find(2033, 4, 3, "some-article").should == articles.last
|
43
50
|
end
|
44
51
|
end
|
45
52
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: akki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-08-
|
12
|
+
date: 2011-08-17 00:00:00.000000000 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: sinatra
|
17
|
-
requirement: &
|
17
|
+
requirement: &70144102831020 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70144102831020
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: haml
|
28
|
-
requirement: &
|
28
|
+
requirement: &70144102830340 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,21 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70144102830340
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: rake
|
39
|
+
requirement: &70144102829540 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
45
|
+
type: :development
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *70144102829540
|
37
48
|
- !ruby/object:Gem::Dependency
|
38
49
|
name: rspec
|
39
|
-
requirement: &
|
50
|
+
requirement: &70144102828720 !ruby/object:Gem::Requirement
|
40
51
|
none: false
|
41
52
|
requirements:
|
42
53
|
- - ! '>='
|
@@ -44,10 +55,10 @@ dependencies:
|
|
44
55
|
version: '0'
|
45
56
|
type: :development
|
46
57
|
prerelease: false
|
47
|
-
version_requirements: *
|
58
|
+
version_requirements: *70144102828720
|
48
59
|
- !ruby/object:Gem::Dependency
|
49
60
|
name: cucumber
|
50
|
-
requirement: &
|
61
|
+
requirement: &70144102827700 !ruby/object:Gem::Requirement
|
51
62
|
none: false
|
52
63
|
requirements:
|
53
64
|
- - ! '>='
|
@@ -55,10 +66,10 @@ dependencies:
|
|
55
66
|
version: '0'
|
56
67
|
type: :development
|
57
68
|
prerelease: false
|
58
|
-
version_requirements: *
|
69
|
+
version_requirements: *70144102827700
|
59
70
|
- !ruby/object:Gem::Dependency
|
60
71
|
name: capybara
|
61
|
-
requirement: &
|
72
|
+
requirement: &70144102826640 !ruby/object:Gem::Requirement
|
62
73
|
none: false
|
63
74
|
requirements:
|
64
75
|
- - ! '>='
|
@@ -66,7 +77,7 @@ dependencies:
|
|
66
77
|
version: '0'
|
67
78
|
type: :development
|
68
79
|
prerelease: false
|
69
|
-
version_requirements: *
|
80
|
+
version_requirements: *70144102826640
|
70
81
|
description: ''
|
71
82
|
email:
|
72
83
|
- andrew.vos@gmail.com
|
@@ -76,11 +87,18 @@ extra_rdoc_files: []
|
|
76
87
|
files:
|
77
88
|
- .gitignore
|
78
89
|
- .rvmrc
|
90
|
+
- .travis.yml
|
79
91
|
- Gemfile
|
80
92
|
- Rakefile
|
81
93
|
- akki.gemspec
|
82
94
|
- config.ru
|
95
|
+
- features/archives.feature
|
83
96
|
- features/articles.feature
|
97
|
+
- features/fixtures/views/archives.haml
|
98
|
+
- features/fixtures/views/article.haml
|
99
|
+
- features/fixtures/views/example-page.haml
|
100
|
+
- features/fixtures/views/layout.haml
|
101
|
+
- features/pages.feature
|
84
102
|
- features/step_definitions/env.rb
|
85
103
|
- features/step_definitions/steps.rb
|
86
104
|
- lib/akki.rb
|
@@ -103,12 +121,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
103
121
|
- - ! '>='
|
104
122
|
- !ruby/object:Gem::Version
|
105
123
|
version: '0'
|
124
|
+
segments:
|
125
|
+
- 0
|
126
|
+
hash: -3256136502332795362
|
106
127
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
128
|
none: false
|
108
129
|
requirements:
|
109
130
|
- - ! '>='
|
110
131
|
- !ruby/object:Gem::Version
|
111
132
|
version: '0'
|
133
|
+
segments:
|
134
|
+
- 0
|
135
|
+
hash: -3256136502332795362
|
112
136
|
requirements: []
|
113
137
|
rubyforge_project: akki
|
114
138
|
rubygems_version: 1.6.2
|
@@ -116,7 +140,13 @@ signing_key:
|
|
116
140
|
specification_version: 3
|
117
141
|
summary: ''
|
118
142
|
test_files:
|
143
|
+
- features/archives.feature
|
119
144
|
- features/articles.feature
|
145
|
+
- features/fixtures/views/archives.haml
|
146
|
+
- features/fixtures/views/article.haml
|
147
|
+
- features/fixtures/views/example-page.haml
|
148
|
+
- features/fixtures/views/layout.haml
|
149
|
+
- features/pages.feature
|
120
150
|
- features/step_definitions/env.rb
|
121
151
|
- features/step_definitions/steps.rb
|
122
152
|
- spec/application_spec.rb
|