sculptor 0.0.4 → 0.0.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f3b5bb332b14e11ff38c18e9a9ee530360edc3eb
4
- data.tar.gz: da50068e1234a39d1d885ef1347d1e8a35afc7e9
3
+ metadata.gz: dffb8ea04c521d95c5b4a3aa8468f635c67a6cd5
4
+ data.tar.gz: 13cf6b9f167eaeaa75f8762d24a5406a7251cf81
5
5
  SHA512:
6
- metadata.gz: b77001619758502baff4d35b4bb52468df23a57a70f36054d411becbc58c577f3278570a25ea6a31727db5581b2040275e69dfe584d8eb8f0066178b13e03779
7
- data.tar.gz: ac245d0271ccf2d7bf639f55c7fc0e682bd3b0bdf0f21e8d1b2aab043844b4a32aa7810176c2468a10f1c450f64cd73f43b5c152bcfeac4b1bbee35f784b9ff8
6
+ metadata.gz: 574b32b613f17077cd46ab3ab365fdd708ede391f6d9a604fa90a52f0d7980773ff91357f42b42ab7160ee349b19c766a05adc413db42f41c1de0c7461a92edb
7
+ data.tar.gz: aaf0138fde4d976a4adf07582cb877d6671df585d720edacc2011f25f3010eb889811526511d71ef2f2c617b117d8cf39da02dbb16c5f3e4eebdbeb095fbf8f6
data/README.md CHANGED
@@ -4,8 +4,11 @@ Tool to create style guides and prototype web apps.
4
4
 
5
5
  ## Installation
6
6
 
7
+ node is required to run Bower.
8
+
7
9
  ```
8
10
  $ gem install sculptor
11
+ $ npm install -g bower
9
12
  ```
10
13
 
11
14
  ## Usage
@@ -22,7 +25,8 @@ sculptor init project-name
22
25
 
23
26
  Aliases: `i`, `new`, `n`.
24
27
 
25
- When finished run `bower install` (`npm install -g bower` if bower is not installed) in project directory to install client-side dependencies.
28
+ This command will create scaffold for new project and install client dependencies via Bower.
29
+ Make sure Bower is installed globally (`npm install -g bower`).
26
30
 
27
31
  ### Create new model
28
32
 
@@ -83,6 +87,7 @@ Sculptor is using Slim templates internally but should work with other templates
83
87
  ### Model helpers
84
88
 
85
89
  * `model`
90
+ - `url` (String) - first optional parameter is URL to the page with the component
86
91
  - `title`
87
92
  - `description`
88
93
  - `pretty` {boolean}
@@ -101,7 +106,11 @@ Sculptor is using Slim templates internally but should work with other templates
101
106
  * `relative_dir`
102
107
  * `resource_file`
103
108
  * `resource_dir`
104
- * `subpages_for`
109
+ * `resources_for`
110
+ - `dir` - target directory for resources list (required)
111
+ - `ext` - filter resources with matching extension (default: 'html')
112
+ - `exlude_indexes` - whether to exclude directory index files (default: false)
113
+ - `sort_by` - sort resources by (defaults to `resource.url`)
105
114
  * `append_class`
106
115
 
107
116
  ### Data helpers
@@ -17,7 +17,9 @@ class Middleman::Extensions::Model < ::Middleman::Extension
17
17
  # be requested by providing 0-based index of the list of matches.
18
18
  # e.g. `img #0`
19
19
  # * `&block` (optional)
20
- def model(location=nil, options={}, &block)
20
+ def model(*options, &block)
21
+ location = options.first.is_a?(String) && options.shift || nil
22
+ options = options.first || {}
21
23
  if block_given?
22
24
  html = capture_html(&block)
23
25
  metadata = options
@@ -35,9 +37,9 @@ class Middleman::Extensions::Model < ::Middleman::Extension
35
37
 
36
38
  # Hack: inject local data that can be provided as parameter
37
39
  # Provided under `data.page` in partials (.component)
38
- resource.add_metadata({ page: options[:data] })
40
+ resource.add_metadata({ page: options[:data] || {} })
39
41
 
40
- html = resource.render
42
+ html = resource.render(layout: false)
41
43
  end
42
44
  else
43
45
  raise "Model `#{options[:title]}`: `url` or HTML block is missing"
@@ -1,30 +1,16 @@
1
1
  class Middleman::Extensions::ResourceHelpers < ::Middleman::Extension
2
- helpers do
3
- def include_stylesheets(stylesheets)
4
- return unless stylesheets && stylesheets.is_a?(Array) && stylesheets.length > 0
5
- stylesheets.map { |s|
6
- include_stylesheet(s)
7
- }.join("\n")
8
- end
9
-
10
- def include_stylesheet(stylesheet)
11
- return if stylesheet.empty?
12
- path = stylesheet.start_with?('http') ? '' : current_page.path
13
- stylesheet_link_tag(relative_dir(path, stylesheet)) + "\n"
14
- end
2
+ def initialize(app, options_hash={})
3
+ super
4
+ require 'rest_client'
5
+ end
15
6
 
7
+ helpers do
16
8
  def include_javascripts(javascripts)
17
- return unless javascripts && javascripts.is_a?(Array) && javascripts.length > 0
18
- javascripts.map { |j|
19
- path = j.start_with?('http') ? j : relative_dir(current_page.path, j)
20
- javascript_include_tag(path) + "\n"
21
- }.join("\n")
9
+ include_assets(:javascript_include_tag, javascripts)
22
10
  end
23
11
 
24
- # Constructs path relative to base path (first argument)
25
- def relative_dir(path, *args)
26
- relative_path = args ? args.join('/') : ''
27
- Pathname(path).dirname.join(relative_path)
12
+ def include_stylesheets(stylesheets)
13
+ include_assets(:stylesheet_link_tag, stylesheets)
28
14
  end
29
15
 
30
16
  def resource_file(resource)
@@ -35,21 +21,35 @@ class Middleman::Extensions::ResourceHelpers < ::Middleman::Extension
35
21
  resource.url.split('/').last
36
22
  end
37
23
 
38
- def subpages_for(dir, ext = 'html', exclude_indexes: false)
24
+ def resources_for(dir, ext: 'html', exclude_indexes: false, sort_by: nil)
39
25
  resources = sitemap.resources
40
- .select {|r| r.ext == ".#{ext}"} # Select files only HTML files
41
- .reject {|r| r.data.hidden} # reject hidden (Front matter)
42
- .select {|r| r.url.start_with?(dir)} # Select files in the given dir
43
- .sort_by(&:url) # Sort by URL (ensures indexes first)
44
- .reject {|r| r.url == dir} # Exclude main directory index
45
-
46
- if exclude_indexes
47
- resources = resources.reject {|r| r.directory_index? } # Exclude all directory indexes
48
- end
26
+ .select {|r| r.ext == ".#{ext}"} # Select files only HTML files
27
+ .reject {|r| r.data.hidden} # reject hidden (Front matter)
28
+ .select {|r| r.url.start_with?(dir)} # Select files in the given dir
29
+ .sort_by {|r| r.url } # Sort by url (default)
30
+ .sort_by {|r| r.data[sort_by] || -1} # Sort by `sort_by` param
31
+ .reject {|r| r.url == dir} # Exclude main directory index
32
+ .reject {|r| # Exclude all directory indexes
33
+ exclude_indexes ? r.directory_index? : false
34
+ }
49
35
 
50
36
  resources.reject {|r| r.path.end_with? ("-standalone#{r.ext}")} # Ignore proxied '-standalone' mode pages
51
37
  end
52
38
 
39
+ def local_data(path)
40
+ result = sitemap.find_resource_by_path(relative_dir(current_page.path, path).to_s)
41
+ raise "#{path} not found" unless result
42
+
43
+ case result.ext
44
+ when '.yaml', '.yml'
45
+ result = YAML.load(result.render)
46
+ when '.json'
47
+ result = Oj.load(result.render)
48
+ end
49
+
50
+ result
51
+ end
52
+
53
53
  # Use in layouts, in templates either Frontmatter or this method can be used
54
54
  def append_class(block_name, appended_classes='')
55
55
  current_page_classes = current_page.data[block_name] || ''
@@ -58,5 +58,43 @@ class Middleman::Extensions::ResourceHelpers < ::Middleman::Extension
58
58
  classes = existing_classes_a.concat(appended_classes_a).reverse.join(' ')
59
59
  content_for(block_name, classes)
60
60
  end
61
+
62
+ def get(url, options = {})
63
+ begin
64
+ result = RestClient.get(url, options)
65
+ rescue => e
66
+ raise "GET - #{e.message}: '#{url}'"
67
+ end
68
+
69
+ Oj.load(result)
70
+ end
71
+
72
+ def post(url, params = {}, headers = {})
73
+ begin
74
+ result = RestClient.post(url, params, headers)
75
+ rescue => e
76
+ raise "POST - #{e.message}: '#{url}'"
77
+ end
78
+
79
+ Oj.load(result)
80
+ end
81
+
82
+ private
83
+
84
+ def include_assets(asset_tag, assets)
85
+ return unless assets
86
+ assets = assets.split(/,\s*/) if assets.is_a? String
87
+ resource_path = current_page.metadata && current_page.metadata.page[:local_url] || current_page.path
88
+ Array(assets).map { |a|
89
+ path = a.start_with?('http') ? a : relative_dir(resource_path, a)
90
+ "\n" + method(asset_tag).call(path)
91
+ }.join
92
+ end
93
+
94
+ # Constructs path relative to base path (first argument)
95
+ def relative_dir(path, *args)
96
+ relative_path = args ? args.join('/') : ''
97
+ Pathname(path).dirname.join(relative_path)
98
+ end
61
99
  end
62
100
  end
@@ -1 +1,2 @@
1
1
  bower_components
2
+ build/
@@ -3,13 +3,16 @@ source 'https://rubygems.org'
3
3
  gem 'sculptor'
4
4
  gem 'middleman'
5
5
  gem 'nokogiri'
6
+ gem 'rest_client'
6
7
  gem 'middleman-pry'
7
8
  gem 'sass', '~>3.3'
8
9
  gem 'compass', github: 'chriseppstein/compass'
9
10
  gem 'sass-css-importer'
10
11
  gem 'slim'
11
12
  gem 'bourbon'
12
- gem 'neat'
13
+ gem 'susy'
14
+ gem 'breakpoint'
15
+ gem 'oj'
13
16
 
14
17
  gem 'middleman-syntax', github: 'middleman/middleman-syntax'
15
18
 
@@ -20,7 +20,7 @@ page '*.js', :layout => false
20
20
  # end
21
21
 
22
22
  ready do
23
- subpages_for('/', exclude_indexes: true).each do |r|
23
+ resources_for('/', exclude_indexes: true).each do |r|
24
24
  proxy "#{r.path.sub(r.ext, '')}-standalone.html", r.path
25
25
  end
26
26
  end
@@ -82,11 +82,13 @@ activate :data_loaders
82
82
  activate :resource_helpers
83
83
  activate :syntax, css_class: 'codehilite'
84
84
 
85
+ Slim::Engine.disable_option_validator!
85
86
  Slim::Engine.set_default_options :pretty => true
87
+ Slim::Engine.set_default_options :attr_list_delims => { '(' => ')', '[' => ']' }
86
88
 
87
89
  # Development-secific configuration
88
90
  configure :development do
89
- activate :livereload
91
+ activate :livereload, animate: true
90
92
  end
91
93
 
92
94
  # Build-specific configuration
@@ -1,13 +1,3 @@
1
1
  //= require_tree ./glyptotheque
2
2
 
3
3
  angular.module('glyptotheque', ['directives', 'controllers']);
4
-
5
- function resizeIframe(obj) {
6
- var doc = obj.contentDocument
7
- var height = Math.max(
8
- doc.body.scrollHeight, doc.documentElement.scrollHeight,
9
- doc.body.offsetHeight, doc.documentElement.offsetHeight,
10
- doc.body.clientHeight, doc.documentElement.clientHeight
11
- )
12
- obj.style.height = height + 'px';
13
- }
@@ -91,6 +91,17 @@
91
91
  color: inherit;
92
92
  padding: 8px 10px;
93
93
  }
94
+
95
+ ._count {
96
+ float: right;
97
+ background: rgba(black, .03);
98
+ color: rgba(black, .4);
99
+ line-height: 16px;
100
+ padding: 0 7px;
101
+ margin: -1px 0;
102
+ line-height: 16px;
103
+ border-radius: 7px;
104
+ }
94
105
  }
95
106
 
96
107
  li.s-selected a {
@@ -1,3 +1,3 @@
1
- - if subpages_for('/').empty?
1
+ - if resources_for('/').empty?
2
2
  h1 Go ahead, create some models
3
3
  p: code sculptor create hello
@@ -1,6 +1,6 @@
1
1
  - content_for :page_title, 'Glyptotheque'
2
2
  - content_for :ng_app, 'glyptotheque'
3
- - content_for :styles, stylesheet_link_tag('glyptotheque')
3
+ - content_for :stylesheets, stylesheet_link_tag('glyptotheque')
4
4
 
5
5
  = wrap_layout :layout do
6
6
  = partial 'partials/glyptotheque/nav'
@@ -6,15 +6,21 @@ html ng-app=(yield_content(:ng_app))
6
6
  meta name='viewport' content='width=device-width'
7
7
  = stylesheet_link_tag 'main'
8
8
  = stylesheet_link_tag '//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css'
9
- = yield_content :styles
10
- - unless current_page.metadata.page[:iframe]
11
- = include_stylesheets(current_page.data.stylesheets) if current_page.data.stylesheets
12
- = include_stylesheet(current_page.data.stylesheet) if current_page.data.stylesheet
9
+ = yield_content :stylesheets
10
+ javascript:
11
+ function resizeIframe(obj) {
12
+ var doc = obj.contentDocument;
13
+ var height = Math.max(
14
+ doc.body.scrollHeight, doc.documentElement.scrollHeight,
15
+ doc.body.offsetHeight, doc.documentElement.offsetHeight,
16
+ doc.body.clientHeight, doc.documentElement.clientHeight
17
+ );
18
+ obj.style.height = height + 'px';
19
+ }
13
20
 
14
21
  body class="#{yield_content(:body_class)}"
15
22
  = yield
16
23
 
17
24
  = yield_content :javascripts
18
- = include_javascripts current_page.data.javascripts if current_page.data.javascripts
19
25
  = javascript_include_tag 'app'
20
26
  = yield_content :post_body
@@ -4,19 +4,17 @@ html
4
4
  meta charset='utf-8'
5
5
  title = current_page.data.title || yield_content(:page_title) || resource_file(current_page)
6
6
  meta name='viewport' content='width=device-width'
7
- = yield_content :styles
8
- = include_stylesheets(current_page.data.stylesheets) if current_page.data.stylesheets
9
- = include_stylesheet(current_page.data.stylesheet) if current_page.data.stylesheet
7
+ = yield_content :stylesheets
8
+ = include_stylesheets(current_page.data.stylesheets || current_page.data.stylesheet)
10
9
  css:
11
10
  body {
12
11
  padding: 5px;
13
12
  margin: 0;
14
13
  }
15
14
 
16
-
17
15
  body class="#{yield_content(:body_class)}"
18
16
  = yield
19
17
 
20
18
  = yield_content :javascripts
21
- = include_javascripts current_page.data.javascripts if current_page.data.javascripts
19
+ = include_javascripts(current_page.data.javascripts || current_page.data.javascript)
22
20
  = yield_content :post_body
@@ -1,14 +1,12 @@
1
- - subpages_for(current_page.url, exclude_indexes: true).each do |r|
2
-
3
- - current_page.add_metadata({ page: { title: r.data.title, local_url: r.url, iframe: r.metadata.page[:iframe] } })
4
-
5
- - unless current_page.metadata.page[:iframe]
6
- - if r.data.stylesheet
7
- - content_for :styles, include_stylesheet(r.data.stylesheet)
8
- - elsif r.data.stylesheets
9
- - content_for :styles, include_stylesheets(r.data.stylesheets)
10
-
11
- - if r.data.javascripts
12
- - content_for :javascripts, include_javascripts(r.data.javascripts)
1
+ - resources_for(current_page.url, exclude_indexes: true, sort_by: :nav_order).each do |r|
2
+
3
+ - current_page.add_metadata({ page: { \
4
+ title: r.data.title,
5
+ description: r.data.description,
6
+ local_url: r.url,
7
+ stylesheets: r.data.stylesheet || r.data.stylesheets,
8
+ javascripts: r.data.javascript || r.data.javascripts,
9
+ iframe: r.metadata.page[:iframe] \
10
+ } })
13
11
 
14
12
  = partial r.url
@@ -1,18 +1,19 @@
1
1
  - local_url = current_page.metadata.page[:local_url]
2
- - title = current_page.metadata.page[:title] || locals[:title]
2
+ - title = current_page.metadata.page[:title] || locals[:title] # locals should be first but there's a bug
3
+ - description = locals[:description] || current_page.metadata.page[:description]
3
4
 
4
5
  - if resource_file(current_page).match(/-standalone$/)
5
6
  = html
6
7
  - else
7
8
  article.glypto-model
8
9
  header
9
- - if locals[:title]
10
+ - if title
10
11
  h3._title
11
12
  - if local_url
12
13
  = link_to title, local_url
13
14
  - else
14
15
  = title
15
- - if locals[:description]
16
+ - if description
16
17
  p._description = description
17
18
 
18
19
  - url = local_url || current_page.url
@@ -26,3 +27,11 @@
26
27
  figure = html
27
28
 
28
29
  = model_source(source_type) { source_code }
30
+
31
+ - unless locals[:iframe]
32
+ - stylesheets = current_page.metadata.page[:stylesheet] || current_page.metadata.page[:stylesheets] || current_page.data[:stylesheet] || current_page.data[:stylesheets]
33
+ - javascripts = current_page.metadata.page[:javascript] || current_page.metadata.page[:javascripts] || current_page.data[:javascript] || current_page.data[:javascripts]
34
+ - if stylesheets
35
+ - content_for :stylesheets, include_stylesheets(stylesheets)
36
+ - if javascripts
37
+ - content_for :javascripts, include_javascripts(javascripts)
@@ -1,5 +1,5 @@
1
1
  - section ||= '/'
2
- - subpages = subpages_for(section)
2
+ - subpages = resources_for(section, sort_by: :nav_order, ignore: /\.component\./)
3
3
 
4
4
  - unless subpages.empty?
5
5
  nav.glypto-nav ng-class="{'s-hidden' : hidden}"
@@ -9,6 +9,9 @@
9
9
  - subpages.each do |r|
10
10
  li(class="#{'s-selected' if r == current_page} #{'_index' if r.directory_index?}")
11
11
  - if r.directory_index?
12
- = link_to (r.data.title || resource_dir(r)), r.url
12
+ - subpages_count = resources_for(r.url, exclude_indexes: true).count
13
+ = link_to r.url
14
+ = (r.data.title || resource_dir(r))
15
+ span._count = subpages_count
13
16
  - else
14
17
  = link_to (r.data.title || resource_file(r)), r.url
@@ -28,6 +28,10 @@ class Middleman::Templates::Glyptotheque < Middleman::Templates::Base
28
28
  directory 'glyptotheque/source', File.join(location, 'source')
29
29
  directory 'glyptotheque/data', File.join(location, 'data')
30
30
  end
31
+
32
+ def generate_bower!
33
+ run("cd #{location}; bower install")
34
+ end
31
35
  end
32
36
 
33
37
  # Register the template
@@ -2,4 +2,4 @@
2
2
  title: <%= @dir %>
3
3
  ---
4
4
 
5
- = partial 'partials/glyptotheque/model-index', locals: { dir: '/<%= @dir %>' }
5
+ = partial 'partials/glyptotheque/model-index'
@@ -1,3 +1,3 @@
1
1
  module Sculptor
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
data/sculptor.gemspec CHANGED
@@ -32,4 +32,6 @@ Gem::Specification.new do |spec|
32
32
  spec.add_dependency "middleman-core", [">= 3.3", "< 4.0"]
33
33
  spec.add_dependency "thor", [">= 0.15.2", "< 2.0"]
34
34
  spec.add_dependency "nokogiri", [">= 1.6", "< 2.0"]
35
+ spec.add_dependency "rest_client", "~> 1.7.3"
36
+ spec.add_dependency "oj", "~> 2.10.2"
35
37
  end
metadata CHANGED
@@ -1,97 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sculptor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyom Semonov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-17 00:00:00.000000000 Z
11
+ date: 2014-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: guard
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: cucumber
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: aruba
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '2.14'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '2.14'
97
97
  - !ruby/object:Gem::Dependency
@@ -112,104 +112,132 @@ dependencies:
112
112
  name: guard-rspec
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: guard-cucumber
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: pry
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '>='
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '>='
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: middleman-core
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - '>='
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
159
  version: '3.3'
160
- - - <
160
+ - - "<"
161
161
  - !ruby/object:Gem::Version
162
162
  version: '4.0'
163
163
  type: :runtime
164
164
  prerelease: false
165
165
  version_requirements: !ruby/object:Gem::Requirement
166
166
  requirements:
167
- - - '>='
167
+ - - ">="
168
168
  - !ruby/object:Gem::Version
169
169
  version: '3.3'
170
- - - <
170
+ - - "<"
171
171
  - !ruby/object:Gem::Version
172
172
  version: '4.0'
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: thor
175
175
  requirement: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - '>='
177
+ - - ">="
178
178
  - !ruby/object:Gem::Version
179
179
  version: 0.15.2
180
- - - <
180
+ - - "<"
181
181
  - !ruby/object:Gem::Version
182
182
  version: '2.0'
183
183
  type: :runtime
184
184
  prerelease: false
185
185
  version_requirements: !ruby/object:Gem::Requirement
186
186
  requirements:
187
- - - '>='
187
+ - - ">="
188
188
  - !ruby/object:Gem::Version
189
189
  version: 0.15.2
190
- - - <
190
+ - - "<"
191
191
  - !ruby/object:Gem::Version
192
192
  version: '2.0'
193
193
  - !ruby/object:Gem::Dependency
194
194
  name: nokogiri
195
195
  requirement: !ruby/object:Gem::Requirement
196
196
  requirements:
197
- - - '>='
197
+ - - ">="
198
198
  - !ruby/object:Gem::Version
199
199
  version: '1.6'
200
- - - <
200
+ - - "<"
201
201
  - !ruby/object:Gem::Version
202
202
  version: '2.0'
203
203
  type: :runtime
204
204
  prerelease: false
205
205
  version_requirements: !ruby/object:Gem::Requirement
206
206
  requirements:
207
- - - '>='
207
+ - - ">="
208
208
  - !ruby/object:Gem::Version
209
209
  version: '1.6'
210
- - - <
210
+ - - "<"
211
211
  - !ruby/object:Gem::Version
212
212
  version: '2.0'
213
+ - !ruby/object:Gem::Dependency
214
+ name: rest_client
215
+ requirement: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - "~>"
218
+ - !ruby/object:Gem::Version
219
+ version: 1.7.3
220
+ type: :runtime
221
+ prerelease: false
222
+ version_requirements: !ruby/object:Gem::Requirement
223
+ requirements:
224
+ - - "~>"
225
+ - !ruby/object:Gem::Version
226
+ version: 1.7.3
227
+ - !ruby/object:Gem::Dependency
228
+ name: oj
229
+ requirement: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - "~>"
232
+ - !ruby/object:Gem::Version
233
+ version: 2.10.2
234
+ type: :runtime
235
+ prerelease: false
236
+ version_requirements: !ruby/object:Gem::Requirement
237
+ requirements:
238
+ - - "~>"
239
+ - !ruby/object:Gem::Version
240
+ version: 2.10.2
213
241
  description: Styleguide generator, prototype and test tool powered by Middleman
214
242
  email:
215
243
  - mail@tyom.net
@@ -218,8 +246,8 @@ executables:
218
246
  extensions: []
219
247
  extra_rdoc_files: []
220
248
  files:
221
- - .editorconfig
222
- - .gitignore
249
+ - ".editorconfig"
250
+ - ".gitignore"
223
251
  - Gemfile
224
252
  - Guardfile
225
253
  - LICENSE.txt
@@ -288,17 +316,17 @@ require_paths:
288
316
  - lib
289
317
  required_ruby_version: !ruby/object:Gem::Requirement
290
318
  requirements:
291
- - - '>='
319
+ - - ">="
292
320
  - !ruby/object:Gem::Version
293
321
  version: '0'
294
322
  required_rubygems_version: !ruby/object:Gem::Requirement
295
323
  requirements:
296
- - - '>='
324
+ - - ">="
297
325
  - !ruby/object:Gem::Version
298
326
  version: '0'
299
327
  requirements: []
300
328
  rubyforge_project:
301
- rubygems_version: 2.2.2
329
+ rubygems_version: 2.4.2
302
330
  signing_key:
303
331
  specification_version: 4
304
332
  summary: Tool to create style guides and prototype web apps