gretel 3.0.9 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +11 -7
  3. data/.travis.yml +11 -10
  4. data/CHANGELOG.md +27 -0
  5. data/Gemfile +2 -19
  6. data/LICENSE.txt +1 -1
  7. data/README.md +43 -62
  8. data/Rakefile +3 -7
  9. data/coverage/coverage.txt +5 -0
  10. data/gretel.gemspec +12 -10
  11. data/lib/gretel.rb +2 -29
  12. data/lib/gretel/crumb.rb +5 -2
  13. data/lib/gretel/crumbs.rb +26 -7
  14. data/lib/gretel/railtie.rb +11 -0
  15. data/lib/gretel/renderer.rb +62 -30
  16. data/lib/gretel/version.rb +1 -1
  17. data/lib/gretel/view_helpers.rb +2 -0
  18. metadata +83 -110
  19. data/gemfiles/Gemfile-rails.3.1.x +0 -19
  20. data/gemfiles/Gemfile-rails.3.2.x +0 -19
  21. data/gemfiles/Gemfile-rails.4.0.x +0 -19
  22. data/gemfiles/Gemfile-rails.4.1.x +0 -19
  23. data/lib/gretel/deprecated.rb +0 -1
  24. data/lib/gretel/deprecated/default_style_key.rb +0 -25
  25. data/lib/gretel/deprecated/layout.rb +0 -15
  26. data/lib/gretel/deprecated/show_root_alone.rb +0 -27
  27. data/lib/gretel/deprecated/yield_links.rb +0 -44
  28. data/test/deprecated_test.rb +0 -45
  29. data/test/dummy/Rakefile +0 -7
  30. data/test/dummy/app/assets/javascripts/application.js +0 -15
  31. data/test/dummy/app/assets/stylesheets/application.css +0 -13
  32. data/test/dummy/app/controllers/application_controller.rb +0 -3
  33. data/test/dummy/app/helpers/application_helper.rb +0 -5
  34. data/test/dummy/app/mailers/.gitkeep +0 -0
  35. data/test/dummy/app/models/.gitkeep +0 -0
  36. data/test/dummy/app/models/issue.rb +0 -3
  37. data/test/dummy/app/models/project.rb +0 -3
  38. data/test/dummy/app/views/breadcrumbs/site.rb +0 -3
  39. data/test/dummy/config.ru +0 -4
  40. data/test/dummy/config/application.rb +0 -14
  41. data/test/dummy/config/boot.rb +0 -10
  42. data/test/dummy/config/breadcrumbs.rb +0 -3
  43. data/test/dummy/config/breadcrumbs/test_crumbs.rb +0 -85
  44. data/test/dummy/config/database.yml +0 -25
  45. data/test/dummy/config/environment.rb +0 -5
  46. data/test/dummy/config/environments/development.rb +0 -2
  47. data/test/dummy/config/environments/production.rb +0 -2
  48. data/test/dummy/config/environments/test.rb +0 -2
  49. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  50. data/test/dummy/config/initializers/inflections.rb +0 -15
  51. data/test/dummy/config/initializers/mime_types.rb +0 -5
  52. data/test/dummy/config/initializers/secret_token.rb +0 -7
  53. data/test/dummy/config/initializers/session_store.rb +0 -8
  54. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  55. data/test/dummy/config/locales/en.yml +0 -5
  56. data/test/dummy/config/routes.rb +0 -11
  57. data/test/dummy/db/migrate/20130122163007_create_projects.rb +0 -9
  58. data/test/dummy/db/migrate/20130122163051_create_issues.rb +0 -10
  59. data/test/dummy/db/schema.rb +0 -29
  60. data/test/dummy/lib/assets/.gitkeep +0 -0
  61. data/test/dummy/log/.gitkeep +0 -0
  62. data/test/dummy/public/404.html +0 -26
  63. data/test/dummy/public/422.html +0 -26
  64. data/test/dummy/public/500.html +0 -25
  65. data/test/dummy/public/favicon.ico +0 -0
  66. data/test/dummy/script/rails +0 -6
  67. data/test/fixtures/issues.yml +0 -4
  68. data/test/fixtures/projects.yml +0 -3
  69. data/test/gretel_test.rb +0 -24
  70. data/test/helper_methods_test.rb +0 -546
  71. data/test/test_helper.rb +0 -15
@@ -3,11 +3,6 @@ module Gretel
3
3
  class << self
4
4
  include Resettable
5
5
 
6
- # Stores the supplied block for later use.
7
- def crumb(key, &block)
8
- crumbs[key] = block
9
- end
10
-
11
6
  # Returns a hash of all stored crumb blocks.
12
7
  def crumbs
13
8
  @crumbs ||= {}
@@ -20,14 +15,15 @@ module Gretel
20
15
 
21
16
  # Loads the breadcrumb configuration files.
22
17
  def load_breadcrumbs
23
- @crumbs = {}
18
+ builder = Builder.new
24
19
 
25
20
  loaded_file_mtimes.clear
26
21
  breadcrumb_files.each do |file|
27
- instance_eval open(file).read, file
22
+ builder.instance_eval open(file).read, file
28
23
  loaded_file_mtimes << File.mtime(file)
29
24
  end
30
25
 
26
+ @crumbs = builder.crumbs
31
27
  @loaded = true
32
28
  end
33
29
 
@@ -59,6 +55,29 @@ module Gretel
59
55
  def loaded_file_mtimes
60
56
  @loaded_file_mtimes ||= []
61
57
  end
58
+
59
+ class Builder
60
+ attr_reader :crumbs
61
+
62
+ def initialize
63
+ @crumbs = {}
64
+ end
65
+
66
+ # Stores the supplied block for later use.
67
+ def crumb(key, &block)
68
+ crumbs[key] = block
69
+ end
70
+
71
+ # Returns a hash of all stored crumb blocks.
72
+ def crumbs
73
+ @crumbs ||= {}
74
+ end
75
+
76
+ # Returns true if a crumb with the given key has been set.
77
+ def crumb_defined?(key)
78
+ crumbs.has_key?(key)
79
+ end
80
+ end
62
81
  end
63
82
  end
64
83
  end
@@ -0,0 +1,11 @@
1
+ require 'gretel/view_helpers'
2
+
3
+ module Gretel
4
+ class Railtie < ::Rails::Railtie
5
+ initializer 'gretel.view_helpers' do
6
+ ActiveSupport.on_load(:action_view) do
7
+ include ViewHelpers
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,6 @@
1
+ require 'gretel/crumbs'
2
+ require 'gretel/crumb'
3
+
1
4
  module Gretel
2
5
  class Renderer
3
6
  DEFAULT_OPTIONS = {
@@ -22,6 +25,7 @@ module Gretel
22
25
  ol: { container_tag: :ol, fragment_tag: :li },
23
26
  ul: { container_tag: :ul, fragment_tag: :li },
24
27
  bootstrap: { container_tag: :ol, fragment_tag: :li, class: "breadcrumb", current_class: "active" },
28
+ bootstrap4: { container_tag: :ol, fragment_tag: :li, class: "breadcrumb", fragment_class: "breadcrumb-item", current_class: "active" },
25
29
  foundation5: { container_tag: :ul, fragment_tag: :li, class: "breadcrumbs", current_class: "current" }
26
30
  }
27
31
 
@@ -39,11 +43,6 @@ module Gretel
39
43
  LinkCollection.new(context, links, options)
40
44
  end
41
45
 
42
- # Yields links with applied options.
43
- def yield_links(options = {})
44
- yield render(options)
45
- end
46
-
47
46
  # Returns the parent breadcrumb.
48
47
  def parent_breadcrumb(options = {})
49
48
  render(options)[-2]
@@ -160,6 +159,27 @@ module Gretel
160
159
  concat links
161
160
  end
162
161
 
162
+ # Returns a hash matching the JSON-LD Structured Data schema
163
+ # https://developers.google.com/search/docs/data-types/breadcrumb#json-ld
164
+ def structured_data(url_base:)
165
+ url_base = url_base.chomp("/") # Remove trailing `/`, if present
166
+
167
+ items = @links.each_with_index.map do |link, i|
168
+ {
169
+ "@type": "ListItem",
170
+ "position": i + 1,
171
+ "name": link.text,
172
+ "item": "#{url_base}#{link.url}"
173
+ }
174
+ end
175
+
176
+ {
177
+ "@context": "https://schema.org",
178
+ "@type": "BreadcrumbList",
179
+ "itemListElement": items
180
+ }
181
+ end
182
+
163
183
  # Helper for returning all link keys to allow for simple testing.
164
184
  def keys
165
185
  map(&:key)
@@ -170,13 +190,14 @@ module Gretel
170
190
  return "" if links.empty?
171
191
 
172
192
  # Loop through all but the last (current) link and build HTML of the fragments
173
- fragments = links[0..-2].map do |link|
174
- render_fragment(options[:fragment_tag], link.text, link.url, options[:semantic])
193
+ fragments = links[0..-2].map.with_index do |link, index|
194
+ render_fragment(options[:fragment_tag], link.text, link.url, options[:semantic], index + 1, fragment_class: options[:fragment_class])
175
195
  end
176
196
 
177
197
  # The current link is handled a little differently, and is only linked if specified in the options
178
198
  current_link = links.last
179
- fragments << render_fragment(options[:fragment_tag], current_link.text, (options[:link_current] ? current_link.url : nil), options[:semantic], class: options[:current_class], current_link: current_link.url)
199
+ position = links.size
200
+ fragments << render_fragment(options[:fragment_tag], current_link.text, (options[:link_current] ? current_link.url : nil), options[:semantic], position, fragment_class: options[:fragment_class], class: options[:current_class], current_link: current_link.url)
180
201
 
181
202
  # Build the final HTML
182
203
  html_fragments = []
@@ -192,49 +213,55 @@ module Gretel
192
213
  end
193
214
 
194
215
  html = html_fragments.join(" ").html_safe
195
- content_tag(options[:container_tag], html, id: options[:id], class: options[:class])
216
+
217
+ if options[:semantic]
218
+ content_tag(options[:container_tag], html, id: options[:id], class: options[:class], itemscope: "", itemtype: "https://schema.org/BreadcrumbList")
219
+ else
220
+ content_tag(options[:container_tag], html, id: options[:id], class: options[:class])
221
+ end
196
222
  end
197
223
 
198
224
  alias :to_s :render
199
225
 
200
226
  # Renders HTML for a breadcrumb fragment, i.e. a breadcrumb link.
201
- def render_fragment(fragment_tag, text, url, semantic, options = {})
227
+ def render_fragment(fragment_tag, text, url, semantic, position, options = {})
202
228
  if semantic
203
- render_semantic_fragment(fragment_tag, text, url, options)
229
+ render_semantic_fragment(fragment_tag, text, url, position, options)
204
230
  else
205
231
  render_nonsemantic_fragment(fragment_tag, text, url, options)
206
232
  end
207
233
  end
208
234
 
209
235
  # Renders semantic fragment HTML.
210
- def render_semantic_fragment(fragment_tag, text, url, options = {})
211
- if fragment_tag
212
- text = content_tag(:span, text, itemprop: "title")
213
-
214
- if url.present?
215
- text = breadcrumb_link_to(text, url, itemprop: "url")
216
- elsif options[:current_link].present?
217
- current_url = "#{root_url}#{options[:current_link].gsub(/^\//, '')}"
218
- text = text + tag(:meta, itemprop: "url", content: current_url)
219
- end
220
-
221
- content_tag(fragment_tag, text, class: options[:class], itemscope: "", itemtype: "http://data-vocabulary.org/Breadcrumb")
222
- elsif url.present?
223
- content_tag(:span, breadcrumb_link_to(content_tag(:span, text, itemprop: "title"), url, class: options[:class], itemprop: "url"), itemscope: "", itemtype: "http://data-vocabulary.org/Breadcrumb")
224
- else
225
- content_tag(:span, content_tag(:span, text, class: options[:class], itemprop: "title"), itemscope: "", itemtype: "http://data-vocabulary.org/Breadcrumb")
236
+ def render_semantic_fragment(fragment_tag, text, url, position, options = {})
237
+ fragment_class = [options[:fragment_class], options[:class]].join(' ').strip
238
+ fragment_class = nil if fragment_class.blank?
239
+ fragment_tag = fragment_tag || 'span'
240
+ text = content_tag(:span, text, itemprop: "name")
241
+
242
+ if url.present?
243
+ text = breadcrumb_link_to(text, url, itemprop: "item")
244
+ elsif options[:current_link].present?
245
+ current_url = "#{root_url}#{options[:current_link].gsub(/^\//, '')}"
246
+ text = text + tag(:meta, itemprop: "item", content: current_url)
226
247
  end
248
+
249
+ text = text + tag(:meta, itemprop:"position", content: "#{position}")
250
+ content_tag(fragment_tag.to_sym, text, class: fragment_class, itemprop: "itemListElement", itemscope: "", itemtype: "https://schema.org/ListItem")
227
251
  end
228
252
 
229
253
  # Renders regular, non-semantic fragment HTML.
230
254
  def render_nonsemantic_fragment(fragment_tag, text, url, options = {})
255
+ fragment_class = [options[:fragment_class], options[:class]].join(' ').strip
256
+ fragment_class = nil if fragment_class.blank?
257
+
231
258
  if fragment_tag
232
259
  text = breadcrumb_link_to(text, url) if url.present?
233
- content_tag(fragment_tag, text, class: options[:class])
260
+ content_tag(fragment_tag, text, class: fragment_class)
234
261
  elsif url.present?
235
- breadcrumb_link_to(text, url, class: options[:class])
262
+ breadcrumb_link_to(text, url, class: fragment_class)
236
263
  elsif options[:class].present?
237
- content_tag(:span, text, class: options[:class])
264
+ content_tag(:span, text, class: fragment_class)
238
265
  else
239
266
  text
240
267
  end
@@ -249,6 +276,11 @@ module Gretel
249
276
  def method_missing(method, *args, &block)
250
277
  context.send(method, *args, &block)
251
278
  end
279
+
280
+ # Avoid unnecessary html escaping by template engines.
281
+ def html_safe?
282
+ true
283
+ end
252
284
  end
253
285
  end
254
286
  end
@@ -1,3 +1,3 @@
1
1
  module Gretel
2
- VERSION = "3.0.9"
2
+ VERSION = "4.2.0"
3
3
  end
@@ -1,3 +1,5 @@
1
+ require 'gretel/renderer'
2
+
1
3
  module Gretel
2
4
  module ViewHelpers
3
5
  # Sets the current breadcrumb to be rendered elsewhere. Put it somewhere in the view, preferably in the top, before you render any breadcrumbs HTML:
metadata CHANGED
@@ -1,29 +1,56 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gretel
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.9
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lasse Bunk
8
- autorequire:
8
+ - Kazuki Nishikawa
9
+ autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2016-08-21 00:00:00.000000000 Z
12
+ date: 2020-11-04 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: rails
15
+ name: railties
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
18
  - - ">="
18
19
  - !ruby/object:Gem::Version
19
- version: 3.1.0
20
+ version: '5.1'
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '7.0'
20
24
  type: :runtime
21
25
  prerelease: false
22
26
  version_requirements: !ruby/object:Gem::Requirement
23
27
  requirements:
24
28
  - - ">="
25
29
  - !ruby/object:Gem::Version
26
- version: 3.1.0
30
+ version: '5.1'
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '7.0'
34
+ - !ruby/object:Gem::Dependency
35
+ name: actionview
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '5.1'
41
+ - - "<"
42
+ - !ruby/object:Gem::Version
43
+ version: '7.0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: '5.1'
51
+ - - "<"
52
+ - !ruby/object:Gem::Version
53
+ version: '7.0'
27
54
  - !ruby/object:Gem::Dependency
28
55
  name: sqlite3
29
56
  requirement: !ruby/object:Gem::Requirement
@@ -38,10 +65,52 @@ dependencies:
38
65
  - - ">="
39
66
  - !ruby/object:Gem::Version
40
67
  version: '0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: rspec-rails
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ - !ruby/object:Gem::Dependency
83
+ name: simplecov
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: simplecov-erb
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
41
110
  description: Gretel is a Ruby on Rails plugin that makes it easy yet flexible to create
42
111
  breadcrumbs.
43
112
  email:
44
- - lassebunk@gmail.com
113
+ - kzkn@users.noreply.github.com
45
114
  executables: []
46
115
  extensions: []
47
116
  extra_rdoc_files: []
@@ -53,10 +122,7 @@ files:
53
122
  - LICENSE.txt
54
123
  - README.md
55
124
  - Rakefile
56
- - gemfiles/Gemfile-rails.3.1.x
57
- - gemfiles/Gemfile-rails.3.2.x
58
- - gemfiles/Gemfile-rails.4.0.x
59
- - gemfiles/Gemfile-rails.4.1.x
125
+ - coverage/coverage.txt
60
126
  - gretel.gemspec
61
127
  - lib/generators/gretel/USAGE
62
128
  - lib/generators/gretel/install_generator.rb
@@ -64,65 +130,17 @@ files:
64
130
  - lib/gretel.rb
65
131
  - lib/gretel/crumb.rb
66
132
  - lib/gretel/crumbs.rb
67
- - lib/gretel/deprecated.rb
68
- - lib/gretel/deprecated/default_style_key.rb
69
- - lib/gretel/deprecated/layout.rb
70
- - lib/gretel/deprecated/show_root_alone.rb
71
- - lib/gretel/deprecated/yield_links.rb
72
133
  - lib/gretel/link.rb
134
+ - lib/gretel/railtie.rb
73
135
  - lib/gretel/renderer.rb
74
136
  - lib/gretel/resettable.rb
75
137
  - lib/gretel/version.rb
76
138
  - lib/gretel/view_helpers.rb
77
- - test/deprecated_test.rb
78
- - test/dummy/Rakefile
79
- - test/dummy/app/assets/javascripts/application.js
80
- - test/dummy/app/assets/stylesheets/application.css
81
- - test/dummy/app/controllers/application_controller.rb
82
- - test/dummy/app/helpers/application_helper.rb
83
- - test/dummy/app/mailers/.gitkeep
84
- - test/dummy/app/models/.gitkeep
85
- - test/dummy/app/models/issue.rb
86
- - test/dummy/app/models/project.rb
87
- - test/dummy/app/views/breadcrumbs/site.rb
88
- - test/dummy/config.ru
89
- - test/dummy/config/application.rb
90
- - test/dummy/config/boot.rb
91
- - test/dummy/config/breadcrumbs.rb
92
- - test/dummy/config/breadcrumbs/test_crumbs.rb
93
- - test/dummy/config/database.yml
94
- - test/dummy/config/environment.rb
95
- - test/dummy/config/environments/development.rb
96
- - test/dummy/config/environments/production.rb
97
- - test/dummy/config/environments/test.rb
98
- - test/dummy/config/initializers/backtrace_silencers.rb
99
- - test/dummy/config/initializers/inflections.rb
100
- - test/dummy/config/initializers/mime_types.rb
101
- - test/dummy/config/initializers/secret_token.rb
102
- - test/dummy/config/initializers/session_store.rb
103
- - test/dummy/config/initializers/wrap_parameters.rb
104
- - test/dummy/config/locales/en.yml
105
- - test/dummy/config/routes.rb
106
- - test/dummy/db/migrate/20130122163007_create_projects.rb
107
- - test/dummy/db/migrate/20130122163051_create_issues.rb
108
- - test/dummy/db/schema.rb
109
- - test/dummy/lib/assets/.gitkeep
110
- - test/dummy/log/.gitkeep
111
- - test/dummy/public/404.html
112
- - test/dummy/public/422.html
113
- - test/dummy/public/500.html
114
- - test/dummy/public/favicon.ico
115
- - test/dummy/script/rails
116
- - test/fixtures/issues.yml
117
- - test/fixtures/projects.yml
118
- - test/gretel_test.rb
119
- - test/helper_methods_test.rb
120
- - test/test_helper.rb
121
- homepage: http://github.com/lassebunk/gretel
139
+ homepage: http://github.com/kzkn/gretel
122
140
  licenses:
123
141
  - MIT
124
142
  metadata: {}
125
- post_install_message:
143
+ post_install_message:
126
144
  rdoc_options: []
127
145
  require_paths:
128
146
  - lib
@@ -137,53 +155,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
155
  - !ruby/object:Gem::Version
138
156
  version: '0'
139
157
  requirements: []
140
- rubyforge_project:
141
- rubygems_version: 2.5.1
142
- signing_key:
158
+ rubygems_version: 3.0.3
159
+ signing_key:
143
160
  specification_version: 4
144
161
  summary: Flexible Ruby on Rails breadcrumbs plugin.
145
- test_files:
146
- - test/deprecated_test.rb
147
- - test/dummy/Rakefile
148
- - test/dummy/app/assets/javascripts/application.js
149
- - test/dummy/app/assets/stylesheets/application.css
150
- - test/dummy/app/controllers/application_controller.rb
151
- - test/dummy/app/helpers/application_helper.rb
152
- - test/dummy/app/mailers/.gitkeep
153
- - test/dummy/app/models/.gitkeep
154
- - test/dummy/app/models/issue.rb
155
- - test/dummy/app/models/project.rb
156
- - test/dummy/app/views/breadcrumbs/site.rb
157
- - test/dummy/config.ru
158
- - test/dummy/config/application.rb
159
- - test/dummy/config/boot.rb
160
- - test/dummy/config/breadcrumbs.rb
161
- - test/dummy/config/breadcrumbs/test_crumbs.rb
162
- - test/dummy/config/database.yml
163
- - test/dummy/config/environment.rb
164
- - test/dummy/config/environments/development.rb
165
- - test/dummy/config/environments/production.rb
166
- - test/dummy/config/environments/test.rb
167
- - test/dummy/config/initializers/backtrace_silencers.rb
168
- - test/dummy/config/initializers/inflections.rb
169
- - test/dummy/config/initializers/mime_types.rb
170
- - test/dummy/config/initializers/secret_token.rb
171
- - test/dummy/config/initializers/session_store.rb
172
- - test/dummy/config/initializers/wrap_parameters.rb
173
- - test/dummy/config/locales/en.yml
174
- - test/dummy/config/routes.rb
175
- - test/dummy/db/migrate/20130122163007_create_projects.rb
176
- - test/dummy/db/migrate/20130122163051_create_issues.rb
177
- - test/dummy/db/schema.rb
178
- - test/dummy/lib/assets/.gitkeep
179
- - test/dummy/log/.gitkeep
180
- - test/dummy/public/404.html
181
- - test/dummy/public/422.html
182
- - test/dummy/public/500.html
183
- - test/dummy/public/favicon.ico
184
- - test/dummy/script/rails
185
- - test/fixtures/issues.yml
186
- - test/fixtures/projects.yml
187
- - test/gretel_test.rb
188
- - test/helper_methods_test.rb
189
- - test/test_helper.rb
162
+ test_files: []