roger_style_guide 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 98bf55e4dc2bffd8851fbaeabcd31a7a2571ea52
4
+ data.tar.gz: dffab5ce3db854d9b124835b625e7a499f4b25a9
5
+ SHA512:
6
+ metadata.gz: 912505750d1ba054035deba579085b2c386552b24232a83709557b4ff2124334c3807e1c281b95b6878f9bf22252818017847354cc2fdb688b5ada42654b19d5
7
+ data.tar.gz: f3dd6cd5fea0992eb85da5aaa8edeba3d0beeef52af399f409c517191a2b63662d8e9a0f56e89ed56f803c3628fdd70676cee98d1c3e31038b6d9f133216c982
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ coverage/
data/.rubocop.yml ADDED
@@ -0,0 +1,47 @@
1
+ LineLength:
2
+ Description: 'Limit lines to 100 characters.'
3
+ Max: 100
4
+ Enabled: true
5
+
6
+ StringLiterals:
7
+ EnforcedStyle: double_quotes
8
+ Enabled: true
9
+
10
+ Style/DotPosition:
11
+ EnforcedStyle: trailing
12
+ Enabled: true
13
+
14
+ Metrics/MethodLength:
15
+ CountComments: false # count full line comments?
16
+ Max: 20
17
+
18
+ Metrics/AbcSize:
19
+ Max: 20
20
+
21
+ Style/ClassAndModuleChildren:
22
+ EnforcedStyle: compact
23
+ Enabled: false
24
+
25
+ # By default, the rails cops are not run. Override in project or home
26
+ # directory .rubocop.yml files, or by giving the -R/--rails option.
27
+ AllCops:
28
+ RunRailsCops: false
29
+
30
+ # Disabled cops
31
+ Metrics/ClassLength:
32
+ Enabled: false
33
+
34
+ Metrics/ModuleLength:
35
+ Enabled: false
36
+
37
+ Style/EachWithObject:
38
+ Enabled: false
39
+
40
+ Style/AccessorMethodName:
41
+ Enabled: false
42
+
43
+ Lint/AssignmentInCondition:
44
+ Enabled: false
45
+
46
+ Style/SingleLineBlockParams:
47
+ Enabled: false
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in roger_sassc.gemspec
4
+ gemspec
5
+
6
+ gem "pry"
7
+
8
+ group :test do
9
+ gem "codeclimate-test-reporter", "~> 1.0.0"
10
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,80 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ roger_style_guide (0.1.0)
5
+ mustache (~> 0.99, >= 0.99.8)
6
+ roger (~> 1.0, >= 1.7.0)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ ast (2.3.0)
12
+ astrolabe (1.3.1)
13
+ parser (~> 2.2)
14
+ codeclimate-test-reporter (1.0.3)
15
+ simplecov
16
+ coderay (1.1.1)
17
+ docile (1.1.5)
18
+ hpricot (0.8.4)
19
+ json (1.8.3)
20
+ metaclass (0.0.4)
21
+ method_source (0.8.2)
22
+ mime-types (2.99.3)
23
+ mocha (1.1.0)
24
+ metaclass (~> 0.0.1)
25
+ mustache (0.99.8)
26
+ parser (2.3.3.0)
27
+ ast (~> 2.2)
28
+ power_assert (0.4.1)
29
+ powerpack (0.1.1)
30
+ pry (0.10.4)
31
+ coderay (~> 1.1.0)
32
+ method_source (~> 0.8.1)
33
+ slop (~> 3.4)
34
+ rack (2.0.1)
35
+ rainbow (2.1.0)
36
+ rake (10.5.0)
37
+ redcarpet (3.3.4)
38
+ roger (1.7.0)
39
+ hpricot (= 0.8.4)
40
+ mime-types (~> 2.2)
41
+ rack (>= 1.0.0)
42
+ redcarpet (>= 3.1.1)
43
+ test_construct (~> 2.0)
44
+ thor (~> 0.19.0)
45
+ tilt (~> 2.0.1)
46
+ rubocop (0.31.0)
47
+ astrolabe (~> 1.3)
48
+ parser (>= 2.2.2.1, < 3.0)
49
+ powerpack (~> 0.1)
50
+ rainbow (>= 1.99.1, < 3.0)
51
+ ruby-progressbar (~> 1.4)
52
+ ruby-progressbar (1.8.1)
53
+ simplecov (0.10.0)
54
+ docile (~> 1.1.0)
55
+ json (~> 1.8)
56
+ simplecov-html (~> 0.10.0)
57
+ simplecov-html (0.10.0)
58
+ slop (3.6.0)
59
+ test-unit (3.1.9)
60
+ power_assert
61
+ test_construct (2.0.1)
62
+ thor (0.19.4)
63
+ tilt (2.0.5)
64
+
65
+ PLATFORMS
66
+ ruby
67
+
68
+ DEPENDENCIES
69
+ bundler (~> 1.7)
70
+ codeclimate-test-reporter (~> 1.0.0)
71
+ mocha (~> 1.1.0)
72
+ pry
73
+ rake (~> 10.0)
74
+ roger_style_guide!
75
+ rubocop (~> 0.31.0)
76
+ simplecov (~> 0.10.0)
77
+ test-unit (~> 3.1.2)
78
+
79
+ BUNDLED WITH
80
+ 1.12.5
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2015 Digitpaint, Flurin Egger
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,74 @@
1
+ # Roger Style Guide
2
+
3
+ Helpers to create styleguides.
4
+
5
+ ## What's in it?
6
+
7
+ ### Components
8
+
9
+ ### Generator
10
+ Quick & easy component generation:
11
+
12
+ `roger generate component NAME`
13
+
14
+ will generate this structure in your components path:
15
+ ```
16
+ NAME.html.erb
17
+ _NAME.html.erb
18
+ _NAME.scss
19
+ ```
20
+
21
+ Options for the command are:
22
+
23
+ * `--js` : Will generate a `NAME.js` file too
24
+ * `--extension=EXT` : Will generate a `_NAME.EXT` instead of `_NAME.html.erb`
25
+
26
+ #### Helper
27
+ The `component` function is simplification of the `partial` function. Taking this directory structure:
28
+
29
+ ```
30
+ html
31
+ |- components
32
+ |- my_component
33
+ | |- _my_component.html.erb
34
+ |- other_component
35
+ |- _other_component.html.erb
36
+ |- _other_component_variant.html.erb
37
+ ```
38
+
39
+ You can call `component('my_component', a: "b")` which will render the partial `components/my_component/_my_component.html.erb` with locals `{a: "b"}`. If you want to render another componentpartial you can also call `component('other_component/other_component_variant')`.
40
+
41
+ The base `components` path can be configured by setting `RogerStyleGuide.components_path` to a path within the HTML directory.
42
+
43
+ ### Toc
44
+ The `toc` function is used to display table of contents of your Roger mockup. It's pretty simple: `toc(PATH_TO BUILD TOC FROM)`. See `toc_helper.rb` file for more info on options and lower level function.
45
+
46
+ ## Mustache
47
+ Roger Styleguide adds support for Mustache templates including support for components as Mustache partials.
48
+
49
+ Rendering mustache templates is just as easy as doing `<%= component("bla") %>` which will render `components/bla/bla.mst` if it exists. If you also have
50
+ regular partials you can force using the mustache template by doing `<%= component("bla.mst") %>`.
51
+
52
+ ## Installation
53
+
54
+ Add this line to your application's Gemfile:
55
+
56
+ ```ruby
57
+ gem 'roger_styleguide'
58
+ ```
59
+
60
+ And then execute:
61
+
62
+ $ bundle
63
+
64
+ Or install it yourself as:
65
+
66
+ $ gem install roger_styleguide
67
+
68
+ ## Contributing
69
+
70
+ 1. Fork it ( https://github.com/digitpaint/roger_style_guide/fork )
71
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
72
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
73
+ 4. Push to the branch (`git push origin my-new-feature`)
74
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,16 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+ require "rubocop/rake_task"
4
+
5
+ task default: [:test, :rubocop]
6
+
7
+ desc "Run rubocop"
8
+ task :rubocop do
9
+ RuboCop::RakeTask.new
10
+ end
11
+
12
+ Rake::TestTask.new do |t|
13
+ t.libs << "test/unit"
14
+ t.test_files = FileList["test/unit/**/*_test.rb"]
15
+ t.verbose = false
16
+ end
@@ -0,0 +1,5 @@
1
+ ---
2
+ title: <%= component_name %>
3
+ ---
4
+
5
+ <%%= component("<%= component_name %>") %>
@@ -0,0 +1,56 @@
1
+ module RogerStyleGuide::Generators
2
+ # The component generator
3
+ class ComponentGenerator < Roger::Generators::Base
4
+ desc "Generate a new component"
5
+
6
+ argument :name, type: :string, required: true, desc: "The component name"
7
+
8
+ class_option(
9
+ :components_path,
10
+ type: :string,
11
+ desc: "Components path, default: roger.project.html_path/#{RogerStyleGuide.components_path}"
12
+ )
13
+
14
+ class_option(
15
+ :js,
16
+ type: :boolean,
17
+ desc: "Wether or not to generate a component js file",
18
+ default: false
19
+ )
20
+
21
+ class_option(
22
+ :extension,
23
+ type: :string,
24
+ desc: "The extension of the component partial",
25
+ default: "html.erb")
26
+
27
+ def self.source_root
28
+ File.dirname(__FILE__) + "/component/template"
29
+ end
30
+
31
+ def do
32
+ self.destination_root = components_path
33
+
34
+ dir_options = {}
35
+ dir_options[:exclude_pattern] = /.js\Z/ unless options[:js]
36
+
37
+ directory(".", component_name, dir_options)
38
+ end
39
+
40
+ def component_name
41
+ name
42
+ end
43
+
44
+ def partial_extension
45
+ options[:extension]
46
+ end
47
+
48
+ def components_path
49
+ options[:components_path] && Pathname.new(options[:components_path]) ||
50
+ Roger::Cli::Base.project &&
51
+ Roger::Cli::Base.project.html_path + RogerStyleGuide.components_path
52
+ end
53
+ end
54
+ end
55
+
56
+ Roger::Generators.register RogerStyleGuide::Generators::ComponentGenerator
@@ -0,0 +1,5 @@
1
+ # All Generators related namespace
2
+ module RogerStyleGuide::Generators
3
+ end
4
+
5
+ require File.dirname(__FILE__) + "/generators/component_generator"
@@ -0,0 +1,43 @@
1
+ # Compent helper and friends
2
+ module RogerStyleGuide::Helpers::ComponentHelper
3
+ # Ease use of components by wrapping the partial helper
4
+ #
5
+ # This allows us to call component("map") which will render
6
+ # RogerStyleGuide.components_path/map/_map.html.erb
7
+ #
8
+ # Calling component("map/map") will still work
9
+ #
10
+ # Also simplifies passing of locals. It's just the second parameter of
11
+ # the component helper.
12
+ def component(path, locals = {}, &block)
13
+ partial_path = component_template_paths(path).find do |template_path|
14
+ renderer.send(:find_partial, template_path)
15
+ end
16
+
17
+ renderer.send(:template_not_found!, :component, path) unless partial_path
18
+
19
+ # Render the partial
20
+ partial(partial_path, locals: locals, &block)
21
+ end
22
+
23
+ def component_template_paths(path)
24
+ name = File.basename(path)
25
+ local_name = name.sub(/\A_?/, "_")
26
+ extension = File.extname(name)[1..-1]
27
+ name_without_extension = extension ? name.sub(/\.#{Regexp.escape(extension)}\Z/, "") : name
28
+
29
+ dir = File.join(
30
+ RogerStyleGuide.components_path,
31
+ path.slice(0, path.size - name.size).to_s.strip
32
+ )
33
+
34
+ [
35
+ # component_path/name/_name.xyz
36
+ File.join(dir, name_without_extension, local_name),
37
+ # component_path/name
38
+ File.join(dir, name)
39
+ ]
40
+ end
41
+ end
42
+
43
+ Roger::Renderer.helper RogerStyleGuide::Helpers::ComponentHelper
@@ -0,0 +1,145 @@
1
+ # Methods for generating Table of Contents
2
+ module RogerStyleGuide::Helpers::TocHelper
3
+ # rubocop:disable Metrics/MethodLength,
4
+ # rubocop:disable Metrics/CyclomaticComplexity,
5
+ # rubocop:disable Metrics/PerceivedComplexity,
6
+ # rubocop:disable Metrics/AbcSize
7
+
8
+ DEFAULT_MATCH = /html.erb\Z/
9
+ DEFAULT_MAX_DEPTH = 1000
10
+ DEFAULT_LINKER = lambda do |url, name, level|
11
+ "<a href='#{url}' class='level-#{level}' target='fbody'>#{name}</a>"
12
+ end
13
+
14
+ # Generate a table of contents for a certain path getting all files
15
+ # that match the `match` regexp and go `max_depth` levels deep.
16
+ #
17
+ # Options are:
18
+ #
19
+ # - match [Regexp] (/html.erb\Z/) What files to match
20
+ # - max_depth [Integer] (1000) How many directory levels deep should we go
21
+ # - linker [lambda {|url, name| ... }] A lambda writing out the <a .. > tag.
22
+ #
23
+ # Will output html in this structure:
24
+ #
25
+ # ```
26
+ # <ul class="level-0">
27
+ # <li>
28
+ # <span class='title-0'>Name</span>
29
+ # <ul class="level-1">
30
+ # <li><a href='URL'>NAME</a>
31
+ # </ul>
32
+ # </li>
33
+ # </ul>
34
+ # ```
35
+ def toc(path = nil, options = {})
36
+ options = {
37
+ match: DEFAULT_MATCH,
38
+ max_depth: DEFAULT_MAX_DEPTH,
39
+ linker: DEFAULT_LINKER
40
+ }.update(options)
41
+
42
+ path ||= env["roger.project"].html_path
43
+
44
+ tree = traverse_tree(path, options[:max_depth], options[:match])
45
+ display_tree(tree, options)
46
+ end
47
+
48
+ # Path will be used to generate the real link
49
+ # Name_path can be used to use a different string as link name
50
+ def link_to_template(path, name = nil, level = nil, linker = DEFAULT_LINKER)
51
+ # Strip of html path
52
+ url = path.to_s.gsub(env["roger.project"].html_path.to_s, "").gsub(/html\.erb$/, "html")
53
+ name ||= humanize_path(path)
54
+
55
+ linker.call(url, name, level)
56
+ end
57
+
58
+ # Convert path into human readable name
59
+ def humanize_path(path)
60
+ File.basename(path).split(".", 2).first.capitalize
61
+ end
62
+
63
+ # Build a tree
64
+ #
65
+ # - Path: The path to get the entries from
66
+ # - Match: Files to match (use regexp). Will only match the File.basename
67
+ # - Max_depth: How deep should we traverse the tree?
68
+ # - Level: keep track of how deep we are in the recursino
69
+ #
70
+ # @return result = {name: "XX", path: "XX", children: [], type: :file}
71
+ def traverse_tree(path, max_depth = DFEAULT_MAX_DEPTH, match = DEFAULT_MATCH, level = 0)
72
+ result = { name: humanize_path(path), path: path, children: [], type: :dir }
73
+ path = Pathname.new(path)
74
+
75
+ # Don't go deeper if we reached max_depth
76
+ return if level >= max_depth
77
+
78
+ path.entries.each do |entry|
79
+ entry_path = path + entry
80
+
81
+ # Normalize paths, removing all "." and "_" files
82
+ next if entry.to_s.start_with?(".") || entry.to_s.start_with?("_")
83
+
84
+ # Check match
85
+ next if entry_path.file? && !entry.to_s.match(match)
86
+
87
+ if entry_path.directory?
88
+ subdir = traverse_tree(entry_path, max_depth, match, level + 1)
89
+
90
+ result[:children] << subdir if subdir
91
+ else
92
+ result[:children] << { name: humanize_path(entry), path: path + entry, type: :file }
93
+ end
94
+ end
95
+
96
+ # If we don't have children we're not going to be visible.
97
+ return if result[:children].empty?
98
+
99
+ result
100
+ end
101
+
102
+ # Display the tree
103
+ #
104
+ # @option :linker The linker to use
105
+ def display_tree(tree, options = {}, level = 0)
106
+ return "" unless tree
107
+
108
+ linker = options[:linker] || DEFAULT_LINKER
109
+
110
+ output = []
111
+ output << "<ul class='level-#{level}'>"
112
+
113
+ tree[:children].each do |entry|
114
+ output << "<li>"
115
+ if entry[:type] == :file
116
+ output << link_to_template(entry[:path], entry[:name], level, linker)
117
+ else
118
+ if entry[:children].length == 1 &&
119
+ entry[:children][0][:type] == :file &&
120
+ entry[:children][0][:name] == entry[:name]
121
+ output << link_to_template(entry[:children][0][:path], entry[:name], level, linker)
122
+ else
123
+ # Check if there is a file exactly named like the current entry.
124
+ # if there is we'll pluck the file out of the child list and link
125
+ # the directory entry directly.
126
+ modified_entry = { children: entry[:children].dup }
127
+ if child = entry[:children].find { |c| c[:type] == :file && c[:name] == entry[:name] }
128
+ modified_entry[:children].delete(child)
129
+ output << link_to_template(child[:path], entry[:name], level, linker)
130
+ else
131
+ output << "<span class='title-#{level}'>#{entry[:name]}</span>"
132
+ end
133
+ output << display_tree(modified_entry, options, level + 1)
134
+ end
135
+ end
136
+ output << "</li>"
137
+ end
138
+
139
+ output << "</ul>"
140
+
141
+ output.join("\n")
142
+ end
143
+ end
144
+
145
+ Roger::Renderer.helper RogerStyleGuide::Helpers::TocHelper
@@ -0,0 +1,6 @@
1
+ # All helpers related namespace
2
+ module RogerStyleGuide::Helpers
3
+ end
4
+
5
+ require File.dirname(__FILE__) + "/helpers/component_helper"
6
+ require File.dirname(__FILE__) + "/helpers/toc_helper"
@@ -0,0 +1,25 @@
1
+ require "mustache"
2
+
3
+ module RogerStyleGuide::Templates::Mustache
4
+ # Mustach template wrapper which handles partial
5
+ # resolving.
6
+ class MustacheTemplate < ::Mustache
7
+ def render(template, data, template_context = nil)
8
+ @template_context = template_context
9
+ super(template, data)
10
+ end
11
+
12
+ def partial(name)
13
+ path = @template_context.component_template_paths(name.to_s + ".mst").find do |template_path|
14
+ result = @template_context.renderer.send(:find_partial, template_path)
15
+ break result if result
16
+ end
17
+
18
+ if path
19
+ File.read(path)
20
+ else
21
+ fail "No such Mustache partial found: #{name}"
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,16 @@
1
+ require "tilt/template"
2
+
3
+ module RogerStyleGuide::Templates::Mustache
4
+ # Tile template wrapper for our Mustache template
5
+ class TiltTemplate < ::Tilt::Template
6
+ def prepare
7
+ @mustache = MustacheTemplate.new
8
+ end
9
+
10
+ def evaluate(scope, locals)
11
+ @mustache.render(data, locals, scope)
12
+ end
13
+ end
14
+ end
15
+
16
+ Tilt.register RogerStyleGuide::Templates::Mustache::TiltTemplate, "mst"
@@ -0,0 +1,9 @@
1
+ # All generators related namespace
2
+ module RogerStyleGuide::Templates::Mustache
3
+ end
4
+
5
+ require File.dirname(__FILE__) + "/mustache/mustache_template"
6
+ require File.dirname(__FILE__) + "/mustache/tilt_template"
7
+
8
+ # Tell Roger to treat .mst as generating html output
9
+ Roger::Resolver::EXTENSION_MAP["html"] << "mst"
@@ -0,0 +1,5 @@
1
+ # All template related namespace
2
+ module RogerStyleGuide::Templates
3
+ end
4
+
5
+ require File.dirname(__FILE__) + "/templates/mustache"
@@ -0,0 +1,4 @@
1
+ # RogerStyleGuide Version
2
+ module RogerStyleGuide
3
+ VERSION = "0.1.0"
4
+ end
@@ -0,0 +1,22 @@
1
+ require "pathname"
2
+
3
+ # Toplevel module for all things concerning RogerStyleGuide
4
+ module RogerStyleGuide
5
+ # The path within project.html_path where the components reside
6
+ def self.components_path=(path)
7
+ @components_path = Pathname.new(path)
8
+ end
9
+
10
+ def self.components_path
11
+ @components_path || "components"
12
+ end
13
+ end
14
+
15
+ # Helpers
16
+ require File.dirname(__FILE__) + "/roger_style_guide/helpers"
17
+
18
+ # Generators
19
+ require File.dirname(__FILE__) + "/roger_style_guide/generators"
20
+
21
+ # Templates
22
+ require File.dirname(__FILE__) + "/roger_style_guide/templates"
@@ -0,0 +1,29 @@
1
+ lib = File.expand_path("../lib", __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require "roger_style_guide/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "roger_style_guide"
7
+ spec.version = RogerStyleGuide::VERSION
8
+
9
+ spec.authors = ["Flurin Egger"]
10
+ spec.email = ["flurin@digitpaint.nl"]
11
+ spec.summary = "Styleguide plugin for Roger"
12
+ spec.homepage = "https://github.com/DigitPaint/roger_style_guide"
13
+ spec.license = "MIT"
14
+
15
+ spec.files = `git ls-files -z`.split("\x0")
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.add_dependency "roger", "~> 1.0", ">= 1.7.0"
21
+ spec.add_dependency "mustache", "~> 0.99", ">= 0.99.8"
22
+
23
+ spec.add_development_dependency "bundler", "~> 1.7"
24
+ spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "mocha", "~> 1.1.0"
26
+ spec.add_development_dependency "test-unit", "~> 3.1.2"
27
+ spec.add_development_dependency "simplecov", "~> 0.10.0"
28
+ spec.add_development_dependency "rubocop", "~> 0.31.0"
29
+ end
@@ -0,0 +1,10 @@
1
+ require "simplecov"
2
+ SimpleCov.start
3
+
4
+ require "test/unit"
5
+
6
+ module RogerStyleGuide
7
+ # Container for all tests
8
+ module Test
9
+ end
10
+ end
metadata ADDED
@@ -0,0 +1,193 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: roger_style_guide
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Flurin Egger
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-11-29 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: roger
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.7.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.0'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.7.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: mustache
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.99'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.99.8
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '0.99'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.99.8
53
+ - !ruby/object:Gem::Dependency
54
+ name: bundler
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '1.7'
60
+ type: :development
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '1.7'
67
+ - !ruby/object:Gem::Dependency
68
+ name: rake
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '10.0'
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '10.0'
81
+ - !ruby/object:Gem::Dependency
82
+ name: mocha
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: 1.1.0
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: 1.1.0
95
+ - !ruby/object:Gem::Dependency
96
+ name: test-unit
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: 3.1.2
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: 3.1.2
109
+ - !ruby/object:Gem::Dependency
110
+ name: simplecov
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: 0.10.0
116
+ type: :development
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: 0.10.0
123
+ - !ruby/object:Gem::Dependency
124
+ name: rubocop
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: 0.31.0
130
+ type: :development
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - "~>"
135
+ - !ruby/object:Gem::Version
136
+ version: 0.31.0
137
+ description:
138
+ email:
139
+ - flurin@digitpaint.nl
140
+ executables: []
141
+ extensions: []
142
+ extra_rdoc_files: []
143
+ files:
144
+ - ".gitignore"
145
+ - ".rubocop.yml"
146
+ - Gemfile
147
+ - Gemfile.lock
148
+ - LICENSE.txt
149
+ - README.md
150
+ - Rakefile
151
+ - lib/roger_style_guide.rb
152
+ - lib/roger_style_guide/generators.rb
153
+ - lib/roger_style_guide/generators/component/template/%component_name%.html.erb.tt
154
+ - lib/roger_style_guide/generators/component/template/%component_name%.js
155
+ - lib/roger_style_guide/generators/component/template/_%component_name%.%partial_extension%
156
+ - lib/roger_style_guide/generators/component/template/_%component_name%.scss
157
+ - lib/roger_style_guide/generators/component_generator.rb
158
+ - lib/roger_style_guide/helpers.rb
159
+ - lib/roger_style_guide/helpers/component_helper.rb
160
+ - lib/roger_style_guide/helpers/toc_helper.rb
161
+ - lib/roger_style_guide/templates.rb
162
+ - lib/roger_style_guide/templates/mustache.rb
163
+ - lib/roger_style_guide/templates/mustache/mustache_template.rb
164
+ - lib/roger_style_guide/templates/mustache/tilt_template.rb
165
+ - lib/roger_style_guide/version.rb
166
+ - roger_style_guide.gemspec
167
+ - test/unit/test_helper.rb
168
+ homepage: https://github.com/DigitPaint/roger_style_guide
169
+ licenses:
170
+ - MIT
171
+ metadata: {}
172
+ post_install_message:
173
+ rdoc_options: []
174
+ require_paths:
175
+ - lib
176
+ required_ruby_version: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ required_rubygems_version: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ requirements: []
187
+ rubyforge_project:
188
+ rubygems_version: 2.5.1
189
+ signing_key:
190
+ specification_version: 4
191
+ summary: Styleguide plugin for Roger
192
+ test_files:
193
+ - test/unit/test_helper.rb