style-guide 0.6.2 → 0.7.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 (58) hide show
  1. data/Gemfile +2 -0
  2. data/README.md +59 -47
  3. data/app/assets/javascripts/style_guide/docs.js +10 -0
  4. data/app/assets/stylesheets/style_guide/partial.css +18 -1
  5. data/app/assets/stylesheets/style_guide/prettify.css +9 -10
  6. data/app/controllers/style_guide/application_controller.rb +1 -4
  7. data/app/views/{style_guide → bootstrap}/buttons/_disabled_anchor.erb +0 -0
  8. data/app/views/{style_guide → bootstrap}/buttons/_disabled_element.erb +0 -0
  9. data/app/views/{style_guide → bootstrap}/buttons/_sizes.erb +0 -0
  10. data/app/views/{style_guide → bootstrap}/buttons/_types.erb +0 -0
  11. data/app/views/{style_guide → bootstrap}/forms/_controls:_checkbox_and_radio.erb +0 -0
  12. data/app/views/{style_guide → bootstrap}/forms/_controls:_input.erb +0 -0
  13. data/app/views/{style_guide → bootstrap}/forms/_controls:_select.erb +0 -0
  14. data/app/views/{style_guide → bootstrap}/forms/_controls:_textarea.erb +0 -0
  15. data/app/views/{style_guide → bootstrap}/forms/_default_styles.erb +0 -0
  16. data/app/views/{style_guide → bootstrap}/forms/_horizontal.erb +0 -0
  17. data/app/views/{style_guide → bootstrap}/forms/_inline.erb +0 -0
  18. data/app/views/{style_guide → bootstrap}/forms/_search.erb +0 -0
  19. data/app/views/{style_guide → bootstrap}/images/_dropdown_icons.erb +0 -0
  20. data/app/views/{style_guide → bootstrap}/images/_form_fields.erb +0 -0
  21. data/app/views/{style_guide → bootstrap}/images/_icon_buttons.erb +0 -0
  22. data/app/views/{style_guide → bootstrap}/images/_navigation.erb +0 -0
  23. data/app/views/{style_guide → bootstrap}/images/_placeholders.erb +0 -0
  24. data/app/views/{style_guide → bootstrap}/images/_small_button.erb +0 -0
  25. data/app/views/{style_guide → bootstrap}/tables/_bordered.erb +0 -0
  26. data/app/views/{style_guide → bootstrap}/tables/_condensed.erb +0 -0
  27. data/app/views/{style_guide → bootstrap}/tables/_default_style.erb +0 -0
  28. data/app/views/{style_guide → bootstrap}/tables/_hover.erb +0 -0
  29. data/app/views/{style_guide → bootstrap}/tables/_row_classes.erb +0 -0
  30. data/app/views/{style_guide → bootstrap}/tables/_striped.erb +0 -0
  31. data/app/views/{style_guide → bootstrap}/typography/_abbreviation.erb +0 -0
  32. data/app/views/{style_guide → bootstrap}/typography/_address.erb +0 -0
  33. data/app/views/{style_guide → bootstrap}/typography/_blockquote.erb +0 -0
  34. data/app/views/{style_guide → bootstrap}/typography/_body_copy.erb +0 -0
  35. data/app/views/{style_guide → bootstrap}/typography/_code.erb +0 -0
  36. data/app/views/{style_guide → bootstrap}/typography/_description_list.erb +0 -0
  37. data/app/views/{style_guide → bootstrap}/typography/_emphasis.erb +0 -0
  38. data/app/views/{style_guide → bootstrap}/typography/_emphasis_classes.erb +0 -0
  39. data/app/views/{style_guide → bootstrap}/typography/_headings.erb +0 -0
  40. data/app/views/{style_guide → bootstrap}/typography/_ordered_list.erb +0 -0
  41. data/app/views/{style_guide → bootstrap}/typography/_unordered_list.erb +0 -0
  42. data/config/routes.rb +1 -1
  43. data/lib/generators/style_guide/install_generator.rb +107 -0
  44. data/lib/style-guide.rb +1 -0
  45. data/lib/style_guide/config.rb +21 -11
  46. data/lib/style_guide/section.rb +16 -6
  47. data/lib/style_guide/version.rb +1 -1
  48. data/spec/controllers/style_guide/style_controller_spec.rb +3 -5
  49. data/spec/dummy/app/views/{styles → style-guide/styles}/_00swatches.erb +0 -0
  50. data/spec/dummy/app/views/{styles → style-guide/styles}/_three_dee.erb +0 -0
  51. data/spec/dummy/config/application.rb +1 -1
  52. data/spec/lib/generators/style_guide/install_generator_spec.rb +150 -0
  53. data/spec/lib/style_guide/config_spec.rb +53 -9
  54. data/spec/lib/style_guide/partial_spec.rb +1 -1
  55. data/spec/lib/style_guide/section_spec.rb +34 -13
  56. data/spec/spec_helper.rb +2 -1
  57. data/style-guide.gemspec +6 -4
  58. metadata +55 -51
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  gemspec
4
+
5
+ gem "guard"
data/README.md CHANGED
@@ -1,85 +1,97 @@
1
- # Style Guide
1
+ Style Guide [![Build Status](https://secure.travis-ci.org/pivotalexperimental/style-guide.png?branch=master)](https://travis-ci.org/pivotalexperimental/style-guide) [![Dependency Status](https://gemnasium.com/pivotalexperimental/style-guide.png)](https://gemnasium.com/pivotalexperimental/style-guide) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/pivotalexperimental/style-guide)
2
+ ===
2
3
 
3
- [![Build Status](https://secure.travis-ci.org/pivotalexperimental/style-guide.png?branch=master)](https://travis-ci.org/pivotalexperimental/style-guide) [![Dependency Status](https://gemnasium.com/pivotalexperimental/style-guide.png)](https://gemnasium.com/pivotalexperimental/style-guide) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/pivotalexperimental/style-guide)
4
+ Style Guide is a mountable Rails engine where you curate and view your site's visual elements.
4
5
 
5
- Style Guide was born out of a need to quickly audit the CSS applied to
6
- visual elements and iterate on them in a controlled environment. It is
7
- implemented as a Rails engine in order to stay close to the application being
8
- styled.
6
+ Tutorials on important topics, such as creating your own Style Guide sections, writing documentation for visual elements and more can be found in the [Style Guide wiki](https://github.com/pivotalexperimental/style-guide/wiki).
9
7
 
10
- When used with [guard-livereload](https://github.com/guard/guard-livereload),
11
- Style Guide automatically reloads itself when you make changes to the CSS,
12
- Javascript or HTML in your site.
13
8
 
9
+ Features
10
+ --------
14
11
 
15
- ## Usage
12
+ * Simple: just directories of partials
13
+ * Responsive: see how everything looks on a mobile device
14
+ * Live: file changes are presented immediately when using [LiveReload](http://livereload.com)
15
+ * Documentation-aware: each partial can be documented with an i18n scope
16
16
 
17
- First, require the StyleGuide gem in `application.rb`:
18
17
 
19
- require "style_guide"
18
+ Anti-Features
19
+ -------------
20
20
 
21
+ * Not a Layout Guide: visual elements should not be composed
22
+ * Not a linting tool: no warnings or errors are displayed
23
+ * Curated, not magic: providing fake data for partials is not covered
21
24
 
22
- Then, append a directory of partials in `application.rb`:
23
25
 
24
- config.style_guide.partial_paths << Rails.root.join("app/views/styles")
26
+ Example
27
+ -------
25
28
 
29
+ You can see an example of Style Guide at swivel's automatically-deployed
30
+ testing instance: [http://swivel.herokuapp.com](http://swivel.herokuapp.com)
26
31
 
27
- Next, mount the StyleGuide application in `routes.rb`:
28
-
29
- mount StyleGuide::Engine => "/style-guide" unless Rails.env.production?
30
32
 
33
+ Installation
34
+ ------------
31
35
 
32
- Finally, add `Rack::LiveReload` to `environments/development.rb`:
36
+ The simplest way to install Style Guide is to use [Bundler](http://gembundler.com).
33
37
 
34
- config.middleware.insert_before(::Rack::Lock, ::Rack::LiveReload)
38
+ Add Style Guide to your `Gemfile`:
35
39
 
40
+ ```ruby
41
+ group :development do
42
+ gem 'style-guide'
43
+ end
44
+ ```
36
45
 
37
- ## Enhancing Your Experience
46
+ Then, use Bundler to install the gem and its dependencies:
38
47
 
39
- Running [Guard](https://github.com/guard/guard) is highly recommended:
48
+ ```bash
49
+ $ bundle install
50
+ ```
40
51
 
41
- $ guard init
42
- INFO - livereload guard added to Guardfile, feel free to edit it
43
- $ guard
44
- INFO - LiveReload is waiting for a browser to connect.
52
+ Last, run the Rails generator to configure your app:
45
53
 
46
- Using [Foreman](https://github.com/ddollar/foreman) to manage the startup of
47
- both your Rails app and Guard is an excellent idea.
54
+ ```bash
55
+ $ rails g style_guide:install
56
+ ```
48
57
 
49
- First, turn off the Guard interactor so that it doesn't try to block output.
50
- Add this line to the top of your `Guardfile`:
58
+ The generator will install [guard-livereload](https://github.com/guard/guard-livereload) and [rack-livereload](https://github.com/johnbintz/rack-livereload).
51
59
 
52
- interactor :off
60
+ Consult the [Style Guide wiki](https://github.com/pivotalexperimental/style-guide/wiki) for more information about what the generator does.
53
61
 
54
- Then add the following lines to `Procfile`, located in the root of your app:
55
62
 
56
- web: bundle exec rails s
57
- guard: bundle exec guard
63
+ Contributing
64
+ ------------
58
65
 
66
+ * Fork the project.
67
+ * Make your feature addition or bug fix.
68
+ * Add tests for it. This is important because breaking your feature in a future version unintentionally is sad.
69
+ * Issue a pull request. Bonus points for topic branches.
59
70
 
60
- ## Best Practices
61
71
 
62
- * Do not attempt to do layout in the Style Guide. Attempting to make it lay
63
- out your pages will lead you down the road of madness.
72
+ Authors
73
+ -------
64
74
 
65
- * The canonical installation of Style Guide pulls in all of the
66
- directories under `app/views/style_guide`, like so:
75
+ * Doc Ritezel
76
+ * Ofri Afek
67
77
 
68
- config.style_guide.partial_paths << Rails.root.join("app/views/style_guide/*")
69
78
 
70
- * From here, the Style Guide is broken down into sections,
71
- like "Buttons", "Forms" and "Typography".
79
+ Contributors
80
+ ------------
72
81
 
73
- * You should only use static content in the partials you render
74
- to the Style Guide.
82
+ * Rob Head
83
+ * Can Berk Güder
84
+ * Dennis Schmidt
75
85
 
76
86
 
77
- ## Example
87
+ Special Thanks
88
+ --------------
78
89
 
79
- You can see an example of Style Guide at swivel's automatically-deployed
80
- testing instance: [http://swivel.herokuapp.com](http://swivel.herokuapp.com)
90
+ * [@tildewill](https://twitter.com/TildeWill), [@emstar](https://twitter.com/emstar) and [@ajmurmann](https://twitter.com/ajmurmann) for fantastic input during the initial development process
91
+ * Dmitriy Kalinin for being himself
81
92
 
82
93
 
83
- ## License
94
+ License
95
+ -------
84
96
 
85
97
  See `LICENSE` for more information.
@@ -3,6 +3,16 @@
3
3
  $(".style-guide-partial [href^=#], .style-guide-partial-source").click(function(e) {
4
4
  e.preventDefault();
5
5
  });
6
+
7
+ $(".style-guide-partial-identifiers code").mouseover(function() {
8
+ var identifier = $(this).text();
9
+ $(this).closest(".style-guide-partial")
10
+ .find(identifier)
11
+ .addClass("style-guide-identifier-highlight");
12
+ }).mouseout(function() {
13
+ $(".style-guide-identifier-highlight").removeClass("style-guide-identifier-highlight");
14
+ });
15
+
6
16
  window.prettyPrint && prettyPrint();
7
17
  });
8
18
  })(window.jQuery);
@@ -16,23 +16,40 @@
16
16
  }
17
17
 
18
18
  .style-guide-partial-description {
19
+ font-size: 14px;
19
20
  margin-bottom: 15px;
20
21
  color: #5D5C5C;
21
22
  }
22
23
 
24
+ .style-guide-partial-source,
25
+ .style-guide-partial-identifiers code,
26
+ .style-guide-partial-description code {
27
+ font-size: 12px;
28
+ font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
29
+ }
30
+
23
31
  .style-guide-partial-identifiers code,
24
32
  .style-guide-partial-description code {
25
33
  color: #d14;
26
34
  background-color: #f5f5f5;
27
35
  padding: 0 4px;
28
36
  border: 1px solid #ddd;
29
- font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
30
37
  white-space: nowrap;
31
38
  -webkit-border-radius: 0;
32
39
  -moz-border-radius: 0;
33
40
  border-radius: 0;
34
41
  }
35
42
 
43
+ .style-guide-partial-identifiers code {
44
+ cursor: pointer;
45
+ }
46
+
47
+ .style-guide-identifier-highlight {
48
+ -webkit-box-shadow: 0 1px 1px rgba(255, 0, 0, 1), 1px 0 1px rgba(255, 0, 0, 1), 0 -1px 1px rgba(255, 0, 0, 1), -1px 0 1px rgba(255, 0, 0, 1);
49
+ -moz-box-shadow: 0 1px 1px rgba(255, 0, 0, 1), 1px 0 1px rgba(255, 0, 0, 1), 0 -1px 1px rgba(255, 0, 0, 1), -1px 0 1px rgba(255, 0, 0, 1);
50
+ box-shadow: 0 1px 1px rgba(255, 0, 0, 1), 1px 0 1px rgba(255, 0, 0, 1), 0 -1px 1px rgba(255, 0, 0, 1), -1px 0 1px rgba(255, 0, 0, 1);
51
+ }
52
+
36
53
  .style-guide-partial-rendered,
37
54
  .style-guide-partial-identifiers {
38
55
  position: relative;
@@ -6,21 +6,20 @@
6
6
  .kwd, .prettyprint .tag { color: navy; }
7
7
  .typ, .atn, .dec, .var { color: teal; }
8
8
 
9
- .prettyprint {
10
- padding: 8px;
11
- }
12
- .prettyprint.linenums {
13
- -webkit-box-shadow: inset 40px 0 0 #ECECEC, inset 41px 0 0 #ddd;
14
- -moz-box-shadow: inset 40px 0 0 #ECECEC, inset 41px 0 0 #ddd;
15
- box-shadow: inset 40px 0 0 #ECECEC, inset 41px 0 0 #ddd;
9
+ .style-guide-partial-source {
10
+ -webkit-box-shadow: inset 40px 0 0 #f5f5f5, inset 41px 0 0 #ddd;
11
+ -moz-box-shadow: inset 40px 0 0 #f5f5f5, inset 41px 0 0 #ddd;
12
+ box-shadow: inset 40px 0 0 #f5f5f5, inset 41px 0 0 #ddd;
16
13
  }
17
14
 
18
- ol.linenums {
15
+ .style-guide-partial-source ol {
16
+ padding: 0;
19
17
  margin: 0 0 0 33px; /* IE indents via margin-left */
20
18
  }
21
- ol.linenums li {
19
+ .style-guide-partial-source li {
22
20
  font-size: 12px;
23
- padding-left: 12px;
21
+ margin: 0;
22
+ padding: 0 0 0 5px;
24
23
  color: #888;
25
24
  line-height: 20px;
26
25
  text-shadow: 0 1px 0 #fff;
@@ -1,10 +1,7 @@
1
1
  module StyleGuide
2
2
  class ApplicationController < ActionController::Base
3
3
  def load_sections
4
- @sections =
5
- StyleGuide::Engine.config.style_guide.partial_paths.map do |path|
6
- StyleGuide::Section.new(path)
7
- end
4
+ @sections = StyleGuide::Engine.config.style_guide.sections
8
5
  end
9
6
  end
10
7
  end
data/config/routes.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  StyleGuide::Engine.routes.draw do
2
2
  root :to => "style#index"
3
- match "/style/:id" => "style#show", :as => :style
3
+ match "/:id" => "style#show", :as => :style
4
4
  end
@@ -0,0 +1,107 @@
1
+ require "rails/generators"
2
+
3
+ module StyleGuide
4
+ class InstallGenerator < ::Rails::Generators::Base
5
+ desc "Style Guide installation generator"
6
+ def install
7
+ should_bundle = ensure_rack_livereload.nil?
8
+ should_bundle = ensure_guard_livereload.nil? || should_bundle
9
+ bundle_command("install") if should_bundle
10
+
11
+ configure_guard_livereload
12
+ configure_application
13
+ configure_development
14
+ mount_style_guide
15
+ end
16
+
17
+ no_tasks do
18
+ def guardfile
19
+ @guardfile ||= if File.exists?(guardfile_path)
20
+ File.open(guardfile_path).read
21
+ end
22
+ end
23
+
24
+ def application_rb
25
+ @application_rb ||= File.open(application_rb_path).read
26
+ end
27
+
28
+ def development_rb
29
+ @development_rb ||= File.open(development_rb_path).read
30
+ end
31
+
32
+ def routes_rb
33
+ @routes_rb ||= File.open(routes_rb_path).read
34
+ end
35
+
36
+ def default_partial_path
37
+ 'Rails.root.join("app/views/style-guide/**/*")'
38
+ end
39
+ end
40
+
41
+ private
42
+ def guardfile_path
43
+ Rails.root.join("Guardfile")
44
+ end
45
+
46
+ def application_rb_path
47
+ Rails.root.join("config", "application.rb")
48
+ end
49
+
50
+ def development_rb_path
51
+ Rails.root.join("config", "environments", "development.rb")
52
+ end
53
+
54
+ def routes_rb_path
55
+ Rails.root.join("config", "routes.rb")
56
+ end
57
+
58
+ def ensure_rack_livereload
59
+ Rack.const_get("LiveReload")
60
+ rescue NameError
61
+ gem "rack-livereload", :group => "development"
62
+ nil
63
+ end
64
+
65
+ def ensure_guard_livereload
66
+ Guard.const_get("LiveReload")
67
+ rescue NameError
68
+ gem "guard-livereload", :group => "development"
69
+ nil
70
+ end
71
+
72
+ def bundle_command(command)
73
+ say_status :run, "bundle #{command}"
74
+
75
+ Dir.chdir(Rails.root) do
76
+ oldrubyopt = ENV["RUBYOPT"]
77
+ ENV["RUBYOPT"] = nil
78
+ system("#{Gem.bin_path('bundler', 'bundle')} #{command}")
79
+ ENV["RUBYOPT"] = oldrubyopt
80
+ end
81
+ end
82
+
83
+ def configure_guard_livereload
84
+ unless guardfile && guardfile.include?("guard 'livereload'")
85
+ bundle_command("exec guard init livereload")
86
+ end
87
+ end
88
+
89
+ def configure_application
90
+ unless application_rb && application_rb.include?("config.style_guide.paths")
91
+ application("config.style_guide.paths << #{default_partial_path}")
92
+ end
93
+ end
94
+
95
+ def configure_development
96
+ unless development_rb && development_rb.include?("Rack::LiveReload")
97
+ application("config.middleware.insert_before(::Rack::Lock, ::Rack::LiveReload, :min_delay => 500) if defined?(Rack::LiveReload)", :env => "development")
98
+ end
99
+ end
100
+
101
+ def mount_style_guide
102
+ unless routes_rb && routes_rb.include?("mount StyleGuide::Engine")
103
+ route(%(mount StyleGuide::Engine => "/style-guide"))
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1 @@
1
+ require "style_guide"
@@ -1,25 +1,35 @@
1
1
  module StyleGuide
2
2
  class Config
3
- attr_reader :partial_paths
3
+ attr_reader :paths
4
4
 
5
- def self.style_guide_views_path
6
- StyleGuide::Engine.root.join("app", "views", "style_guide")
7
- end
8
-
9
- def self.style_guide_views_directories
10
- style_guide_views_path.children.select(&:directory?).reject { |d| d.basename.to_s == "style" }
5
+ def self.bootstrap_glob
6
+ StyleGuide::Engine.root.join("app", "views", "bootstrap", "*")
11
7
  end
12
8
 
13
9
  def initialize(options = {})
14
- @partial_paths = options[:partial_paths] || self.class.style_guide_views_directories
10
+ @paths = options[:paths] || [self.class.bootstrap_glob]
15
11
  end
16
12
 
17
- def partial_paths=(paths)
13
+ def paths=(paths)
18
14
  if paths.is_a?(Array)
19
- @partial_paths = paths
15
+ @paths = paths
20
16
  else
21
- @partial_paths = [paths]
17
+ @paths = [paths]
22
18
  end
23
19
  end
20
+
21
+ def sections
22
+ StyleGuide::Section.from_paths(expanded_paths)
23
+ end
24
+
25
+ private
26
+
27
+ def expanded_paths
28
+ globbed_paths.flatten.uniq.select(&:directory?)
29
+ end
30
+
31
+ def globbed_paths
32
+ paths.map { |path| Pathname.glob(path) }
33
+ end
24
34
  end
25
35
  end
@@ -2,14 +2,24 @@ require "style_guide/partial"
2
2
 
3
3
  module StyleGuide
4
4
  class Section
5
- attr_reader :path
5
+ attr_reader :path, :id
6
6
 
7
- def initialize(path)
8
- @path = path
7
+ def self.id_from_path(path)
8
+ File.basename(path).downcase.gsub(/[^a-zA-Z0-9]/, " ").strip.gsub(/\s+/, "_")
9
+ end
10
+
11
+ def self.from_paths(paths)
12
+ [*paths].reduce({}) do |sections, path|
13
+ id = id_from_path(path)
14
+ section = sections[id] ||= []
15
+ section << new("#{id}#{section.empty? ? '' : section.count}", path)
16
+ sections
17
+ end.values.flatten
9
18
  end
10
19
 
11
- def id
12
- @id ||= File.basename(path).downcase.gsub(/[^a-zA-Z0-9]/, " ").strip.gsub(/\s+/, "_")
20
+ def initialize(id, path)
21
+ @id = id
22
+ @path = path
13
23
  end
14
24
 
15
25
  def title
@@ -23,7 +33,7 @@ module StyleGuide
23
33
  private
24
34
 
25
35
  def partial_paths
26
- @partial_paths ||= Dir.glob(File.expand_path("**/_*.erb", path))
36
+ @partial_paths ||= Dir.glob(File.expand_path("_*.erb", path))
27
37
  end
28
38
  end
29
39
  end
@@ -1,3 +1,3 @@
1
1
  module StyleGuide
2
- VERSION = "0.6.2"
2
+ VERSION = "0.7.0"
3
3
  end
@@ -6,7 +6,7 @@ describe StyleGuide::StyleController do
6
6
 
7
7
  before do
8
8
  FileUtils.mkdir_p(partial_path)
9
- StyleGuide::Engine.config.style_guide.stub(:partial_paths => [partial_path])
9
+ StyleGuide::Engine.config.style_guide.paths = "#{temp_path}/*"
10
10
  end
11
11
 
12
12
  describe "#index" do
@@ -25,17 +25,15 @@ describe StyleGuide::StyleController do
25
25
  end
26
26
 
27
27
  describe "#show" do
28
- let(:fake_section) { StyleGuide::Section.new(partial_path) }
29
-
30
28
  it "assigns sections" do
31
- get :show, id: fake_section.id, use_route: :styles
29
+ get :show, id: "monkey_hammer", use_route: :styles
32
30
  assigns(:sections).should be
33
31
  assigns(:sections).should have(1).section
34
32
  assigns(:sections).first.should be_a StyleGuide::Section
35
33
  end
36
34
 
37
35
  it "assigns the section" do
38
- get :show, id: fake_section.id, use_route: :styles
36
+ get :show, id: "monkey_hammer", use_route: :styles
39
37
  assigns(:current_section).should be_a StyleGuide::Section
40
38
  assigns(:current_section).title.should == "Monkey Hammer"
41
39
  end
@@ -26,7 +26,7 @@ module Dummy
26
26
  # Version of your assets, change this if you want to expire all your assets
27
27
  config.assets.version = '1.0'
28
28
 
29
- config.style_guide.partial_paths << Rails.root.join("app/views/styles")
29
+ config.style_guide.paths << Rails.root.join("app/views/style-guide/**/*")
30
30
  end
31
31
  end
32
32
 
@@ -0,0 +1,150 @@
1
+ require "spec_helper"
2
+
3
+ describe StyleGuide::InstallGenerator do
4
+ describe "#install" do
5
+ before do
6
+ subject.stub(:gem)
7
+ subject.stub(:route)
8
+ subject.stub(:bundle_command)
9
+ subject.stub(:application)
10
+ Rack.stub(:const_get).and_return("constant")
11
+ Guard.stub(:const_get).and_return("constant")
12
+ subject.stub(:routes_rb).and_return("mount StyleGuide::Engine")
13
+ subject.stub(:guardfile).and_return("guard 'livereload'")
14
+ subject.stub(:application_rb).and_return("config.style_guide.paths")
15
+ subject.stub(:development_rb).and_return("Rack::LiveReload")
16
+ end
17
+
18
+ describe "rack livereload dependency" do
19
+ context "when rack-livereload is installed" do
20
+ it "does not add rack-livereload to the Gemfile" do
21
+ subject.should_not_receive(:gem).with("rack-livereload", anything)
22
+ subject.install
23
+ end
24
+ end
25
+
26
+ context "when rack-livereload is not installed" do
27
+ before { Rack.stub(:const_get).and_raise(NameError) }
28
+
29
+ it "adds rack-livereload to the Gemfile" do
30
+ subject.should_receive(:gem).with("rack-livereload", anything)
31
+ subject.install
32
+ end
33
+
34
+ it "runs bundle install" do
35
+ subject.should_receive(:bundle_command).with("install")
36
+ subject.install
37
+ end
38
+ end
39
+ end
40
+
41
+ describe "guard livereload dependency" do
42
+ context "when guard-livereload is installed" do
43
+ it "does not add guard-livereload to the Gemfile" do
44
+ subject.should_not_receive(:gem).with("guard-livereload", anything)
45
+ subject.install
46
+ end
47
+ end
48
+
49
+ context "when guard-livereload is not installed" do
50
+ before { Guard.stub(:const_get).and_raise(NameError) }
51
+
52
+ it "adds guard-livereload to the Gemfile" do
53
+ subject.should_receive(:gem).with("guard-livereload", anything)
54
+ subject.install
55
+ end
56
+
57
+ it "runs bundle install" do
58
+ subject.should_receive(:bundle_command).with("install")
59
+ subject.install
60
+ end
61
+ end
62
+ end
63
+
64
+ describe "guard livereload configuration" do
65
+ context "when guard-livereload is in the Guardfile" do
66
+ it "does not add guard-livereload to the Guardfile" do
67
+ subject.should_not_receive(:bundle_command)
68
+ subject.install
69
+ end
70
+ end
71
+
72
+ context "when guard-livereload is not in the Guardfile" do
73
+ before { subject.stub(:guardfile).and_return("meat") }
74
+
75
+ it "adds guard-livereload to the Guardfile" do
76
+ subject.should_receive(:bundle_command).with("exec guard init livereload")
77
+ subject.install
78
+ end
79
+ end
80
+ end
81
+
82
+ describe "rails configuration" do
83
+ context "when style guide is not configured in application.rb" do
84
+ before { subject.stub(:application_rb).and_return("") }
85
+
86
+ it "adds an entry for style guide partial paths" do
87
+ subject.should_receive(:application).once do |config, options|
88
+ options.should == nil
89
+ config.should include "config.style_guide.paths"
90
+ config.should include subject.default_partial_path
91
+ end
92
+ subject.install
93
+ end
94
+ end
95
+
96
+ context "when style guide is configured in application.rb" do
97
+ before { subject.stub(:application_rb).and_return("config.style_guide.paths") }
98
+
99
+ it "does not modify application.rb" do
100
+ subject.should_not_receive(:application)
101
+ subject.install
102
+ end
103
+ end
104
+ end
105
+
106
+ describe "development configuration" do
107
+ context "when livereload is not configured in development.rb" do
108
+ before { subject.stub(:development_rb).and_return("") }
109
+
110
+ it "adds an entry for livereload" do
111
+ subject.should_receive(:application).once do |config, options|
112
+ options.should == {:env => "development"}
113
+ config.should include "config.middleware.insert_before"
114
+ config.should include "Rack::LiveReload"
115
+ end
116
+ subject.install
117
+ end
118
+ end
119
+
120
+ context "when livereload is already configured in development.rb" do
121
+ before { subject.stub(:development_rb).and_return("Rack::LiveReload") }
122
+
123
+ it "does not modify development.rb" do
124
+ subject.should_not_receive(:application)
125
+ subject.install
126
+ end
127
+ end
128
+ end
129
+
130
+ describe "mounting" do
131
+ context "when style guide is not mounted" do
132
+ before { subject.stub(:routes_rb).and_return("") }
133
+
134
+ it "mounts the style guide" do
135
+ subject.should_receive(:route).with('mount StyleGuide::Engine => "/style-guide"')
136
+ subject.install
137
+ end
138
+ end
139
+
140
+ context "when style guide is not mounted" do
141
+ before { subject.stub(:routes_rb).and_return("mount StyleGuide::Engine") }
142
+
143
+ it "does not mount the style guide" do
144
+ subject.should_not_receive(:route)
145
+ subject.install
146
+ end
147
+ end
148
+ end
149
+ end
150
+ end
@@ -1,32 +1,76 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe StyleGuide::Config do
4
- describe "#partial_paths" do
4
+ describe "#paths" do
5
5
  context "when no paths have been added" do
6
- it { should have_at_least(1).partial_path }
7
- its(:partial_paths) { should_not include StyleGuide::Engine.root.join("app/views/style_guide/style") }
6
+ it { should have_at_least(1).path }
8
7
  end
9
8
 
10
9
  context "when adding a path" do
11
10
  it "modifies the partial paths" do
12
11
  expect do
13
- subject.partial_paths << "disappointment"
14
- end.to change{ subject.partial_paths.count }.by(1)
12
+ subject.paths << "disappointment"
13
+ end.to change{ subject.paths.count }.by(1)
15
14
  end
16
15
  end
17
16
 
18
17
  context "when setting the paths" do
19
18
  it "sets the partial paths" do
20
19
  expect do
21
- subject.partial_paths = "loathing"
22
- end.to change { subject.partial_paths }.to(["loathing"])
20
+ subject.paths = "loathing"
21
+ end.to change { subject.paths }.to(["loathing"])
23
22
  end
24
23
  end
25
24
 
26
25
  context "after a path has been added" do
27
- before { subject.partial_paths << "partials-and-magic-beans" }
26
+ before { subject.paths << "partials-and-magic-beans" }
28
27
 
29
- its(:partial_paths) { should include "partials-and-magic-beans" }
28
+ its(:paths) { should include "partials-and-magic-beans" }
29
+ end
30
+ end
31
+
32
+ describe "#sections" do
33
+ context "when no paths have been added" do
34
+ it { should have_at_least(1).section }
35
+ its(:'sections.first') { should be_a StyleGuide::Section }
36
+ end
37
+
38
+ context "when adding a nonexistent path" do
39
+ it "has no impact on the sections" do
40
+ expect do
41
+ subject.paths << "disappointment"
42
+ end.not_to change{ subject.sections.count }
43
+ end
44
+ end
45
+
46
+ context "when adding a non-globbed path" do
47
+ let(:path) { StyleGuide::Engine.root.join("app", "views") }
48
+
49
+ it "only adds that base path" do
50
+ expect do
51
+ subject.paths << path
52
+ end.to change { subject.sections.count }.by(1)
53
+ end
54
+ end
55
+
56
+ context "when adding a globbed path" do
57
+ let(:path) { StyleGuide::Engine.root.join("app", "views", "layouts", "*") }
58
+
59
+ it "obeys globbing" do
60
+ expect do
61
+ subject.paths << path
62
+ end.to change { subject.sections.count }.by(1)
63
+ end
64
+ end
65
+
66
+ context "when adding existing paths" do
67
+ let(:path) { StyleGuide::Engine.root.join("app", "views", "bootstrap", "**", "*") }
68
+
69
+ it "deduplicates existing paths" do
70
+ expect do
71
+ subject.paths << path
72
+ end.not_to change { subject.sections.count }
73
+ end
30
74
  end
31
75
  end
32
76
  end
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
 
3
3
  describe StyleGuide::Partial do
4
4
  let(:path) { "/hygenic/_gargling.erb" }
5
- let(:section) { StyleGuide::Section.new("/flaky/gangrene") }
5
+ let(:section) { StyleGuide::Section.from_paths("/flaky/gangrene").first }
6
6
  let(:partial) { StyleGuide::Partial.new(path, section) }
7
7
 
8
8
  describe "#title" do
@@ -2,45 +2,66 @@ require "spec_helper"
2
2
 
3
3
  describe StyleGuide::Section do
4
4
  let(:path) { "/magnetic/sputum" }
5
- let(:section) { StyleGuide::Section.new(path) }
5
+ let(:section) { StyleGuide::Section.new("sputum", path) }
6
6
 
7
- describe "#title" do
8
- subject { section.title }
7
+ describe ".id_from_path" do
8
+ subject { StyleGuide::Section.id_from_path(path) }
9
9
 
10
10
  context "with a simple path" do
11
- it { should == "Sputum" }
11
+ it { should == "sputum" }
12
12
  end
13
13
 
14
- context "with a path activerecord would be good at" do
14
+ context "with a good activerecord path" do
15
15
  let(:path) { "/tasty/bicycle_tires" }
16
16
 
17
- it { should == "Bicycle Tires" }
17
+ it { should == "bicycle_tires" }
18
18
  end
19
19
 
20
20
  context "with a path containing extra stuff" do
21
21
  let(:path) { "/help/kocher%has-m1y=keyb^oaard" }
22
22
 
23
- it { should == "Kocher%Has M1y=Keyb^Oaard" }
23
+ it { should == "kocher_has_m1y_keyb_oaard" }
24
24
  end
25
25
  end
26
26
 
27
- describe "#id" do
28
- subject { section.id }
27
+ describe ".from_paths" do
28
+ let(:paths) { path }
29
+ subject { StyleGuide::Section.from_paths(paths).map(&:id) }
30
+
31
+ context "with a single path" do
32
+ it { should =~ ["sputum"] }
33
+ end
34
+
35
+ context "with multiple paths" do
36
+ let(:paths) { ["/bat/wings", "/thinning/hair"] }
37
+
38
+ it { should =~ ["wings", "hair"] }
39
+ end
40
+
41
+ context "with multiple paths having the same basename" do
42
+ let(:paths) { ["/neck/wattle", "/underarm/wattle"] }
43
+
44
+ it { should =~ ["wattle", "wattle1"] }
45
+ end
46
+ end
47
+
48
+ describe "#title" do
49
+ subject { section.title }
29
50
 
30
51
  context "with a simple path" do
31
- it { should == "sputum" }
52
+ it { should == "Sputum" }
32
53
  end
33
54
 
34
- context "with a good activerecord path" do
55
+ context "with a path activerecord would be good at" do
35
56
  let(:path) { "/tasty/bicycle_tires" }
36
57
 
37
- it { should == "bicycle_tires" }
58
+ it { should == "Bicycle Tires" }
38
59
  end
39
60
 
40
61
  context "with a path containing extra stuff" do
41
62
  let(:path) { "/help/kocher%has-m1y=keyb^oaard" }
42
63
 
43
- it { should == "kocher_has_m1y_keyb_oaard" }
64
+ it { should == "Kocher%Has M1y=Keyb^Oaard" }
44
65
  end
45
66
  end
46
67
 
data/spec/spec_helper.rb CHANGED
@@ -3,5 +3,6 @@ require File.expand_path("../dummy/config/environment.rb", __FILE__)
3
3
 
4
4
  require "tmpdir"
5
5
  require "rspec/rails"
6
- # ENGINE_RAILS_ROOT = File.expand_path("../..", __FILE__)
6
+ require "generators/style_guide/install_generator"
7
+
7
8
  Dir.glob(File.expand_path("../support/**/*.rb")).each {|f| require f }
data/style-guide.gemspec CHANGED
@@ -7,8 +7,8 @@ Gem::Specification.new do |s|
7
7
  s.authors = ["Doc Ritezel"]
8
8
  s.email = ["doc@pivotallabs.com"]
9
9
  s.homepage = "https://github.com/pivotal/style-guide"
10
- s.summary = "A live style guide for your Rails application."
11
- s.description = "Inspired by the Bootstrap guide, style-guide is a Rails engine that lets you see all your styles applied in front of your eyes."
10
+ s.summary = "A style guide for your Rails application."
11
+ s.description = "A mountable Rails engine where you curate and view your site's visual elements."
12
12
 
13
13
  s.files = `git ls-files`.split( "\n" ) - %w(Gemfile.lock)
14
14
  s.test_files = `git ls-files -- spec/*`.split( "\n" )
@@ -19,12 +19,14 @@ Gem::Specification.new do |s|
19
19
  s.add_dependency "nokogiri", "~> 1.5"
20
20
  s.add_dependency "github-markdown", "~> 0.5"
21
21
 
22
+ # super-relevant in development, but super-irrelevant in staging
23
+ s.add_development_dependency "rack-livereload"
24
+ s.add_development_dependency "guard-livereload"
25
+
22
26
  s.add_development_dependency "foreman"
23
27
  s.add_development_dependency "rb-fsevent"
24
28
  s.add_development_dependency "rspec-rails"
25
29
  s.add_development_dependency "guard-rspec"
26
30
  s.add_development_dependency "guard-bundler"
27
- s.add_development_dependency "rack-livereload"
28
- s.add_development_dependency "guard-livereload"
29
31
  s.add_development_dependency "terminal-notifier-guard"
30
32
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: style-guide
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.7.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-21 00:00:00.000000000 Z
12
+ date: 2013-01-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -76,7 +76,7 @@ dependencies:
76
76
  - !ruby/object:Gem::Version
77
77
  version: '0.5'
78
78
  - !ruby/object:Gem::Dependency
79
- name: foreman
79
+ name: rack-livereload
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  none: false
82
82
  requirements:
@@ -92,7 +92,7 @@ dependencies:
92
92
  - !ruby/object:Gem::Version
93
93
  version: '0'
94
94
  - !ruby/object:Gem::Dependency
95
- name: rb-fsevent
95
+ name: guard-livereload
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
@@ -108,7 +108,7 @@ dependencies:
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  - !ruby/object:Gem::Dependency
111
- name: rspec-rails
111
+ name: foreman
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  none: false
114
114
  requirements:
@@ -124,7 +124,7 @@ dependencies:
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  - !ruby/object:Gem::Dependency
127
- name: guard-rspec
127
+ name: rb-fsevent
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
@@ -140,7 +140,7 @@ dependencies:
140
140
  - !ruby/object:Gem::Version
141
141
  version: '0'
142
142
  - !ruby/object:Gem::Dependency
143
- name: guard-bundler
143
+ name: rspec-rails
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  none: false
146
146
  requirements:
@@ -156,7 +156,7 @@ dependencies:
156
156
  - !ruby/object:Gem::Version
157
157
  version: '0'
158
158
  - !ruby/object:Gem::Dependency
159
- name: rack-livereload
159
+ name: guard-rspec
160
160
  requirement: !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
@@ -172,7 +172,7 @@ dependencies:
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  - !ruby/object:Gem::Dependency
175
- name: guard-livereload
175
+ name: guard-bundler
176
176
  requirement: !ruby/object:Gem::Requirement
177
177
  none: false
178
178
  requirements:
@@ -203,8 +203,8 @@ dependencies:
203
203
  - - ! '>='
204
204
  - !ruby/object:Gem::Version
205
205
  version: '0'
206
- description: Inspired by the Bootstrap guide, style-guide is a Rails engine that lets
207
- you see all your styles applied in front of your eyes.
206
+ description: A mountable Rails engine where you curate and view your site's visual
207
+ elements.
208
208
  email:
209
209
  - doc@pivotallabs.com
210
210
  executables: []
@@ -295,48 +295,50 @@ files:
295
295
  - app/controllers/style_guide/application_controller.rb
296
296
  - app/controllers/style_guide/style_controller.rb
297
297
  - app/helpers/style_guide/application_helper.rb
298
+ - app/views/bootstrap/buttons/_disabled_anchor.erb
299
+ - app/views/bootstrap/buttons/_disabled_element.erb
300
+ - app/views/bootstrap/buttons/_sizes.erb
301
+ - app/views/bootstrap/buttons/_types.erb
302
+ - app/views/bootstrap/forms/_controls:_checkbox_and_radio.erb
303
+ - app/views/bootstrap/forms/_controls:_input.erb
304
+ - app/views/bootstrap/forms/_controls:_select.erb
305
+ - app/views/bootstrap/forms/_controls:_textarea.erb
306
+ - app/views/bootstrap/forms/_default_styles.erb
307
+ - app/views/bootstrap/forms/_horizontal.erb
308
+ - app/views/bootstrap/forms/_inline.erb
309
+ - app/views/bootstrap/forms/_search.erb
310
+ - app/views/bootstrap/images/_dropdown_icons.erb
311
+ - app/views/bootstrap/images/_form_fields.erb
312
+ - app/views/bootstrap/images/_icon_buttons.erb
313
+ - app/views/bootstrap/images/_navigation.erb
314
+ - app/views/bootstrap/images/_placeholders.erb
315
+ - app/views/bootstrap/images/_small_button.erb
316
+ - app/views/bootstrap/tables/_bordered.erb
317
+ - app/views/bootstrap/tables/_condensed.erb
318
+ - app/views/bootstrap/tables/_default_style.erb
319
+ - app/views/bootstrap/tables/_hover.erb
320
+ - app/views/bootstrap/tables/_row_classes.erb
321
+ - app/views/bootstrap/tables/_striped.erb
322
+ - app/views/bootstrap/typography/_abbreviation.erb
323
+ - app/views/bootstrap/typography/_address.erb
324
+ - app/views/bootstrap/typography/_blockquote.erb
325
+ - app/views/bootstrap/typography/_body_copy.erb
326
+ - app/views/bootstrap/typography/_code.erb
327
+ - app/views/bootstrap/typography/_description_list.erb
328
+ - app/views/bootstrap/typography/_emphasis.erb
329
+ - app/views/bootstrap/typography/_emphasis_classes.erb
330
+ - app/views/bootstrap/typography/_headings.erb
331
+ - app/views/bootstrap/typography/_ordered_list.erb
332
+ - app/views/bootstrap/typography/_unordered_list.erb
298
333
  - app/views/layouts/style_guide/application.html.erb
299
- - app/views/style_guide/buttons/_disabled_anchor.erb
300
- - app/views/style_guide/buttons/_disabled_element.erb
301
- - app/views/style_guide/buttons/_sizes.erb
302
- - app/views/style_guide/buttons/_types.erb
303
- - app/views/style_guide/forms/_controls:_checkbox_and_radio.erb
304
- - app/views/style_guide/forms/_controls:_input.erb
305
- - app/views/style_guide/forms/_controls:_select.erb
306
- - app/views/style_guide/forms/_controls:_textarea.erb
307
- - app/views/style_guide/forms/_default_styles.erb
308
- - app/views/style_guide/forms/_horizontal.erb
309
- - app/views/style_guide/forms/_inline.erb
310
- - app/views/style_guide/forms/_search.erb
311
- - app/views/style_guide/images/_dropdown_icons.erb
312
- - app/views/style_guide/images/_form_fields.erb
313
- - app/views/style_guide/images/_icon_buttons.erb
314
- - app/views/style_guide/images/_navigation.erb
315
- - app/views/style_guide/images/_placeholders.erb
316
- - app/views/style_guide/images/_small_button.erb
317
334
  - app/views/style_guide/style/_header.erb
318
335
  - app/views/style_guide/style/_partial.erb
319
336
  - app/views/style_guide/style/_sidebar.erb
320
337
  - app/views/style_guide/style/show.html.erb
321
- - app/views/style_guide/tables/_bordered.erb
322
- - app/views/style_guide/tables/_condensed.erb
323
- - app/views/style_guide/tables/_default_style.erb
324
- - app/views/style_guide/tables/_hover.erb
325
- - app/views/style_guide/tables/_row_classes.erb
326
- - app/views/style_guide/tables/_striped.erb
327
- - app/views/style_guide/typography/_abbreviation.erb
328
- - app/views/style_guide/typography/_address.erb
329
- - app/views/style_guide/typography/_blockquote.erb
330
- - app/views/style_guide/typography/_body_copy.erb
331
- - app/views/style_guide/typography/_code.erb
332
- - app/views/style_guide/typography/_description_list.erb
333
- - app/views/style_guide/typography/_emphasis.erb
334
- - app/views/style_guide/typography/_emphasis_classes.erb
335
- - app/views/style_guide/typography/_headings.erb
336
- - app/views/style_guide/typography/_ordered_list.erb
337
- - app/views/style_guide/typography/_unordered_list.erb
338
338
  - config/locales/en.yml
339
339
  - config/routes.rb
340
+ - lib/generators/style_guide/install_generator.rb
341
+ - lib/style-guide.rb
340
342
  - lib/style_guide.rb
341
343
  - lib/style_guide/config.rb
342
344
  - lib/style_guide/engine.rb
@@ -383,8 +385,8 @@ files:
383
385
  - spec/dummy/app/mailers/.gitkeep
384
386
  - spec/dummy/app/models/.gitkeep
385
387
  - spec/dummy/app/views/layouts/application.html.erb
386
- - spec/dummy/app/views/styles/_00swatches.erb
387
- - spec/dummy/app/views/styles/_three_dee.erb
388
+ - spec/dummy/app/views/style-guide/styles/_00swatches.erb
389
+ - spec/dummy/app/views/style-guide/styles/_three_dee.erb
388
390
  - spec/dummy/config.ru
389
391
  - spec/dummy/config/application.rb
390
392
  - spec/dummy/config/boot.rb
@@ -417,6 +419,7 @@ files:
417
419
  - spec/dummy/public/img/glyphicons/glyphicons_214_resize_small.png
418
420
  - spec/dummy/public/img/glyphicons/glyphicons_266_book_open.png
419
421
  - spec/dummy/script/rails
422
+ - spec/lib/generators/style_guide/install_generator_spec.rb
420
423
  - spec/lib/style_guide/config_spec.rb
421
424
  - spec/lib/style_guide/partial_spec.rb
422
425
  - spec/lib/style_guide/section_spec.rb
@@ -445,7 +448,7 @@ rubyforge_project:
445
448
  rubygems_version: 1.8.24
446
449
  signing_key:
447
450
  specification_version: 3
448
- summary: A live style guide for your Rails application.
451
+ summary: A style guide for your Rails application.
449
452
  test_files:
450
453
  - spec/controllers/style_guide/style_controller_spec.rb
451
454
  - spec/dummy/README.rdoc
@@ -485,8 +488,8 @@ test_files:
485
488
  - spec/dummy/app/mailers/.gitkeep
486
489
  - spec/dummy/app/models/.gitkeep
487
490
  - spec/dummy/app/views/layouts/application.html.erb
488
- - spec/dummy/app/views/styles/_00swatches.erb
489
- - spec/dummy/app/views/styles/_three_dee.erb
491
+ - spec/dummy/app/views/style-guide/styles/_00swatches.erb
492
+ - spec/dummy/app/views/style-guide/styles/_three_dee.erb
490
493
  - spec/dummy/config.ru
491
494
  - spec/dummy/config/application.rb
492
495
  - spec/dummy/config/boot.rb
@@ -519,6 +522,7 @@ test_files:
519
522
  - spec/dummy/public/img/glyphicons/glyphicons_214_resize_small.png
520
523
  - spec/dummy/public/img/glyphicons/glyphicons_266_book_open.png
521
524
  - spec/dummy/script/rails
525
+ - spec/lib/generators/style_guide/install_generator_spec.rb
522
526
  - spec/lib/style_guide/config_spec.rb
523
527
  - spec/lib/style_guide/partial_spec.rb
524
528
  - spec/lib/style_guide/section_spec.rb