massimo 0.8.5 → 0.9.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.
- data/lib/massimo/javascript.rb +8 -4
- data/lib/massimo/page.rb +12 -7
- data/lib/massimo/resource.rb +35 -28
- data/lib/massimo/stylesheet.rb +5 -1
- data/lib/massimo/version.rb +1 -1
- data/lib/massimo/view.rb +3 -3
- data/spec/massimo/javascript_spec.rb +26 -0
- data/spec/massimo/page_spec.rb +26 -0
- data/spec/massimo/resource_spec.rb +40 -0
- data/spec/massimo/stylesheet_spec.rb +26 -0
- metadata +123 -2
data/lib/massimo/javascript.rb
CHANGED
@@ -2,6 +2,14 @@ require 'sprockets'
|
|
2
2
|
|
3
3
|
module Massimo
|
4
4
|
class Javascript < Massimo::Resource
|
5
|
+
def extension
|
6
|
+
if Tilt.registered?(super[1..-1])
|
7
|
+
'.js'
|
8
|
+
else
|
9
|
+
super
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
5
13
|
def render
|
6
14
|
output = if source_path.extname == '.js'
|
7
15
|
options = Massimo.config.options_for(:sprockets).merge(
|
@@ -17,10 +25,6 @@ module Massimo
|
|
17
25
|
compress(output)
|
18
26
|
end
|
19
27
|
|
20
|
-
def extension
|
21
|
-
@extension ||= '.js'
|
22
|
-
end
|
23
|
-
|
24
28
|
protected
|
25
29
|
|
26
30
|
def compress(javascript)
|
data/lib/massimo/page.rb
CHANGED
@@ -7,12 +7,7 @@ require 'yaml'
|
|
7
7
|
module Massimo
|
8
8
|
class Page < Resource
|
9
9
|
def render
|
10
|
-
output =
|
11
|
-
meta_data = @meta_data.merge self.class.resource_name.singularize.to_sym => self
|
12
|
-
template.render Massimo.site.template_scope, meta_data
|
13
|
-
else
|
14
|
-
content
|
15
|
-
end
|
10
|
+
output = super
|
16
11
|
|
17
12
|
if found_layout = Massimo::View.find("layouts/#{layout}")
|
18
13
|
output = found_layout.render(:page => self) { output }
|
@@ -26,7 +21,13 @@ module Massimo
|
|
26
21
|
end
|
27
22
|
|
28
23
|
def extension
|
29
|
-
@meta_data[:extension]
|
24
|
+
if @meta_data[:extension]
|
25
|
+
@meta_data[:extension]
|
26
|
+
elsif Tilt.registered?(super[1..-1])
|
27
|
+
'.html'
|
28
|
+
else
|
29
|
+
super
|
30
|
+
end
|
30
31
|
end
|
31
32
|
|
32
33
|
def url
|
@@ -48,6 +49,10 @@ module Massimo
|
|
48
49
|
|
49
50
|
protected
|
50
51
|
|
52
|
+
def template_locals
|
53
|
+
@meta_data.merge self.class.resource_name.singularize.to_sym => self
|
54
|
+
end
|
55
|
+
|
51
56
|
def read_source
|
52
57
|
case source_path.extname
|
53
58
|
when '.yml', '.yaml'
|
data/lib/massimo/resource.rb
CHANGED
@@ -1,11 +1,14 @@
|
|
1
1
|
require 'active_support/core_ext/string/starts_ends_with'
|
2
2
|
require 'active_support/inflector'
|
3
|
+
require 'active_support/memoizable'
|
3
4
|
require 'fileutils'
|
4
5
|
require 'pathname'
|
5
6
|
require 'tilt'
|
6
7
|
|
7
8
|
module Massimo
|
8
9
|
class Resource
|
10
|
+
extend ActiveSupport::Memoizable
|
11
|
+
|
9
12
|
class << self
|
10
13
|
# The underscored, pluralized name of the resource.
|
11
14
|
def resource_name
|
@@ -42,10 +45,10 @@ module Massimo
|
|
42
45
|
|
43
46
|
protected
|
44
47
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
48
|
+
def unprocessable
|
49
|
+
def self.processable?; false; end
|
50
|
+
define_method(:process) { false }
|
51
|
+
end
|
49
52
|
end
|
50
53
|
|
51
54
|
attr_reader :source_path, :content
|
@@ -53,43 +56,50 @@ module Massimo
|
|
53
56
|
# Creates a new resource for the given source file.
|
54
57
|
# The contents of the file will automatically be read.
|
55
58
|
def initialize(source)
|
56
|
-
@source_path =
|
59
|
+
@source_path = Pathname.new(source).expand_path
|
57
60
|
read_source
|
58
61
|
end
|
59
62
|
|
60
63
|
# The basename of the source file.
|
61
64
|
def filename
|
62
|
-
|
65
|
+
source_path.basename.to_s
|
63
66
|
end
|
64
67
|
|
65
68
|
# The extension to output with.
|
66
69
|
def extension
|
67
|
-
|
70
|
+
extensions.first
|
71
|
+
end
|
72
|
+
|
73
|
+
# A list of all the extensions appended to the filename.
|
74
|
+
def extensions
|
75
|
+
filename.scan /\.[^.]+/
|
68
76
|
end
|
69
77
|
|
70
78
|
# The url to the resource. This is created by swiching the base path
|
71
79
|
# of the source file with the base url.
|
72
80
|
def url
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
url
|
79
|
-
end
|
81
|
+
url = source_path.to_s.sub(/^#{Regexp.escape(self.class.path)}/, '')
|
82
|
+
url = url.sub(/\..+$/, extension)
|
83
|
+
url = File.join(self.class.url, url) unless url.starts_with? self.class.url
|
84
|
+
url = url.dasherize
|
85
|
+
url
|
80
86
|
end
|
81
87
|
|
82
88
|
# The path to the output file.
|
83
89
|
def output_path
|
84
|
-
|
90
|
+
Pathname.new File.join(Massimo.config.output_path, url.sub(/^#{Regexp.escape(Massimo.config.base_url)}/, ''))
|
85
91
|
end
|
86
92
|
|
87
93
|
# Runs the content through any necessary filters, templates, etc.
|
88
94
|
def render
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
95
|
+
extensions.reverse.inject(content) do |output, ext|
|
96
|
+
if template_type = Tilt[ext]
|
97
|
+
template_options = Massimo.config.options_for(ext[1..-1])
|
98
|
+
template = template_type.new(source_path.to_s, @line, template_options) { output }
|
99
|
+
template.render(template_scope, template_locals)
|
100
|
+
else
|
101
|
+
output
|
102
|
+
end
|
93
103
|
end
|
94
104
|
end
|
95
105
|
|
@@ -107,17 +117,14 @@ module Massimo
|
|
107
117
|
@content = source_path.read
|
108
118
|
end
|
109
119
|
|
110
|
-
def
|
111
|
-
|
112
|
-
if template_type = Tilt[filename]
|
113
|
-
options = Massimo.config.options_for(source_path.extname[1..-1])
|
114
|
-
template_type.new(source_path.to_s, @line, options) { content }
|
115
|
-
end
|
116
|
-
end
|
120
|
+
def template_scope
|
121
|
+
Massimo.site.template_scope
|
117
122
|
end
|
118
123
|
|
119
|
-
def
|
120
|
-
|
124
|
+
def template_locals
|
125
|
+
{}
|
121
126
|
end
|
127
|
+
|
128
|
+
memoize :filename, :extension, :extensions, :url, :output_path
|
122
129
|
end
|
123
130
|
end
|
data/lib/massimo/stylesheet.rb
CHANGED
data/lib/massimo/version.rb
CHANGED
data/lib/massimo/view.rb
CHANGED
@@ -5,9 +5,9 @@ module Massimo
|
|
5
5
|
unprocessable
|
6
6
|
|
7
7
|
def render(locals = {}, &block)
|
8
|
-
|
9
|
-
template
|
10
|
-
template.render(
|
8
|
+
template_options = Massimo.config.options_for(extension[1..-1])
|
9
|
+
template = Tilt.new(source_path.to_s, 1, template_options) { content }
|
10
|
+
template.render(template_scope, locals, &block)
|
11
11
|
end
|
12
12
|
end
|
13
13
|
end
|
@@ -1,6 +1,32 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Massimo::Javascript do
|
4
|
+
describe '#extension' do
|
5
|
+
context 'with multiple extensions' do
|
6
|
+
it 'should return the first extension' do
|
7
|
+
with_file 'file.js.coffee' do
|
8
|
+
Massimo::Javascript.new('file.js.coffee').extension.should == '.js'
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
context 'with a single Tilt registered extension' do
|
14
|
+
it 'should default to .js' do
|
15
|
+
with_file 'file.coffee' do
|
16
|
+
Massimo::Javascript.new('file.coffee').extension.should == '.js'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'with a single unregistered extension' do
|
22
|
+
it 'should be that extension' do
|
23
|
+
with_file 'file.json' do
|
24
|
+
Massimo::Javascript.new('file.json').extension.should == '.json'
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
4
30
|
context 'with normal .js files' do
|
5
31
|
let(:javascript) { Massimo::Javascript.new 'javascripts/main.js' }
|
6
32
|
|
data/spec/massimo/page_spec.rb
CHANGED
@@ -84,6 +84,32 @@ describe Massimo::Page do
|
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
+
describe '#extension' do
|
88
|
+
context 'with multiple extensions' do
|
89
|
+
it 'should return the first extension' do
|
90
|
+
with_file 'file.rss.erb' do
|
91
|
+
Massimo::Page.new('file.rss.erb').extension.should == '.rss'
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
context 'with a single Tilt registered extension' do
|
97
|
+
it 'should default to .html' do
|
98
|
+
with_file 'file.md' do
|
99
|
+
Massimo::Page.new('file.md').extension.should == '.html'
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
context 'with a single unregistered extension' do
|
105
|
+
it 'should be that extension' do
|
106
|
+
with_file 'file.json' do
|
107
|
+
Massimo::Page.new('file.json').extension.should == '.json'
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
87
113
|
describe '#render' do
|
88
114
|
let(:page) { Massimo::Page.new 'page.erb' }
|
89
115
|
|
@@ -48,6 +48,26 @@ describe Massimo::Resource do
|
|
48
48
|
Massimo::Resource.new('url.erb').extension.should == '.erb'
|
49
49
|
end
|
50
50
|
end
|
51
|
+
|
52
|
+
it 'should be the first extension of the file' do
|
53
|
+
with_file 'url.html.md.erb' do
|
54
|
+
Massimo::Resource.new('url.html.md.erb').extension.should == '.html'
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
describe '#extensions' do
|
60
|
+
it 'should be the extension of the file' do
|
61
|
+
with_file 'url.erb' do
|
62
|
+
Massimo::Resource.new('url.erb').extensions.should == %w(.erb)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'should be all of the extensions of the file' do
|
67
|
+
with_file 'url.html.md.erb' do
|
68
|
+
Massimo::Resource.new('url.html.md.erb').extensions.should == %w(.html .md .erb)
|
69
|
+
end
|
70
|
+
end
|
51
71
|
end
|
52
72
|
|
53
73
|
describe '#filename' do
|
@@ -79,6 +99,14 @@ describe Massimo::Resource do
|
|
79
99
|
end
|
80
100
|
end
|
81
101
|
end
|
102
|
+
|
103
|
+
context 'with multiple template extensions' do
|
104
|
+
it 'should only use the first extension' do
|
105
|
+
with_file 'file.html.md.erb' do
|
106
|
+
Massimo::Resource.new('file.html.md.erb').output_path.to_s.should == File.expand_path('public/file.html')
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
82
110
|
end
|
83
111
|
|
84
112
|
describe '#content' do
|
@@ -95,6 +123,18 @@ describe Massimo::Resource do
|
|
95
123
|
resource.render.should == 'content'
|
96
124
|
end
|
97
125
|
end
|
126
|
+
|
127
|
+
it 'should render the content using Tilt' do
|
128
|
+
with_file 'file.erb', '<%= "hello" %>' do
|
129
|
+
Massimo::Resource.new('file.erb').render.should == 'hello'
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
it 'should render the content using multiple Tilt templates' do
|
134
|
+
with_file 'file.css.scss.erb', '$color: <%= "#999" %>; body { color: $color; }' do
|
135
|
+
Massimo::Resource.new('file.css.scss.erb').render.gsub(/\s/, '').should == 'body{color:#999999;}'
|
136
|
+
end
|
137
|
+
end
|
98
138
|
end
|
99
139
|
|
100
140
|
describe '#process' do
|
@@ -1,6 +1,32 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Massimo::Stylesheet do
|
4
|
+
describe '#extension' do
|
5
|
+
context 'with multiple extensions' do
|
6
|
+
it 'should return the first extension' do
|
7
|
+
with_file 'file.css.scss' do
|
8
|
+
Massimo::Stylesheet.new('file.css.scss').extension.should == '.css'
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
context 'with a single Tilt registered extension' do
|
14
|
+
it 'should default to .css' do
|
15
|
+
with_file 'file.scss' do
|
16
|
+
Massimo::Stylesheet.new('file.scss').extension.should == '.css'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'with a single unregistered extension' do
|
22
|
+
it 'should be that extension' do
|
23
|
+
with_file 'file.jpg' do
|
24
|
+
Massimo::Stylesheet.new('file.jpg').extension.should == '.jpg'
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
4
30
|
context 'with normal .css files' do
|
5
31
|
let(:stylesheet) { Massimo::Stylesheet.new('stylesheets/main.css') }
|
6
32
|
|
metadata
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: massimo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 59
|
4
5
|
prerelease:
|
5
|
-
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 9
|
9
|
+
- 0
|
10
|
+
version: 0.9.0
|
6
11
|
platform: ruby
|
7
12
|
authors:
|
8
13
|
- Pete Browne
|
@@ -10,7 +15,7 @@ autorequire:
|
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
17
|
|
13
|
-
date: 2011-05-
|
18
|
+
date: 2011-05-24 00:00:00 Z
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: activesupport
|
@@ -20,6 +25,11 @@ dependencies:
|
|
20
25
|
requirements:
|
21
26
|
- - ~>
|
22
27
|
- !ruby/object:Gem::Version
|
28
|
+
hash: 7
|
29
|
+
segments:
|
30
|
+
- 3
|
31
|
+
- 0
|
32
|
+
- 0
|
23
33
|
version: 3.0.0
|
24
34
|
type: :runtime
|
25
35
|
version_requirements: *id001
|
@@ -31,6 +41,11 @@ dependencies:
|
|
31
41
|
requirements:
|
32
42
|
- - ~>
|
33
43
|
- !ruby/object:Gem::Version
|
44
|
+
hash: 15
|
45
|
+
segments:
|
46
|
+
- 0
|
47
|
+
- 4
|
48
|
+
- 0
|
34
49
|
version: 0.4.0
|
35
50
|
type: :runtime
|
36
51
|
version_requirements: *id002
|
@@ -42,6 +57,11 @@ dependencies:
|
|
42
57
|
requirements:
|
43
58
|
- - ~>
|
44
59
|
- !ruby/object:Gem::Version
|
60
|
+
hash: 31
|
61
|
+
segments:
|
62
|
+
- 1
|
63
|
+
- 2
|
64
|
+
- 0
|
45
65
|
version: 1.2.0
|
46
66
|
type: :runtime
|
47
67
|
version_requirements: *id003
|
@@ -53,6 +73,11 @@ dependencies:
|
|
53
73
|
requirements:
|
54
74
|
- - ~>
|
55
75
|
- !ruby/object:Gem::Version
|
76
|
+
hash: 59
|
77
|
+
segments:
|
78
|
+
- 0
|
79
|
+
- 9
|
80
|
+
- 0
|
56
81
|
version: 0.9.0
|
57
82
|
type: :runtime
|
58
83
|
version_requirements: *id004
|
@@ -64,6 +89,11 @@ dependencies:
|
|
64
89
|
requirements:
|
65
90
|
- - ~>
|
66
91
|
- !ruby/object:Gem::Version
|
92
|
+
hash: 39
|
93
|
+
segments:
|
94
|
+
- 0
|
95
|
+
- 14
|
96
|
+
- 0
|
67
97
|
version: 0.14.0
|
68
98
|
type: :runtime
|
69
99
|
version_requirements: *id005
|
@@ -75,6 +105,11 @@ dependencies:
|
|
75
105
|
requirements:
|
76
106
|
- - ~>
|
77
107
|
- !ruby/object:Gem::Version
|
108
|
+
hash: 25
|
109
|
+
segments:
|
110
|
+
- 1
|
111
|
+
- 3
|
112
|
+
- 1
|
78
113
|
version: 1.3.1
|
79
114
|
type: :runtime
|
80
115
|
version_requirements: *id006
|
@@ -86,6 +121,11 @@ dependencies:
|
|
86
121
|
requirements:
|
87
122
|
- - ~>
|
88
123
|
- !ruby/object:Gem::Version
|
124
|
+
hash: 19
|
125
|
+
segments:
|
126
|
+
- 0
|
127
|
+
- 3
|
128
|
+
- 0
|
89
129
|
version: 0.3.0
|
90
130
|
type: :runtime
|
91
131
|
version_requirements: *id007
|
@@ -97,6 +137,11 @@ dependencies:
|
|
97
137
|
requirements:
|
98
138
|
- - ~>
|
99
139
|
- !ruby/object:Gem::Version
|
140
|
+
hash: 23
|
141
|
+
segments:
|
142
|
+
- 1
|
143
|
+
- 0
|
144
|
+
- 0
|
100
145
|
version: 1.0.0
|
101
146
|
type: :runtime
|
102
147
|
version_requirements: *id008
|
@@ -108,6 +153,11 @@ dependencies:
|
|
108
153
|
requirements:
|
109
154
|
- - ~>
|
110
155
|
- !ruby/object:Gem::Version
|
156
|
+
hash: 27
|
157
|
+
segments:
|
158
|
+
- 2
|
159
|
+
- 5
|
160
|
+
- 0
|
111
161
|
version: 2.5.0
|
112
162
|
type: :development
|
113
163
|
version_requirements: *id009
|
@@ -119,6 +169,11 @@ dependencies:
|
|
119
169
|
requirements:
|
120
170
|
- - ~>
|
121
171
|
- !ruby/object:Gem::Version
|
172
|
+
hash: 23
|
173
|
+
segments:
|
174
|
+
- 1
|
175
|
+
- 0
|
176
|
+
- 0
|
122
177
|
version: 1.0.0
|
123
178
|
type: :development
|
124
179
|
version_requirements: *id010
|
@@ -130,6 +185,11 @@ dependencies:
|
|
130
185
|
requirements:
|
131
186
|
- - ~>
|
132
187
|
- !ruby/object:Gem::Version
|
188
|
+
hash: 31
|
189
|
+
segments:
|
190
|
+
- 1
|
191
|
+
- 2
|
192
|
+
- 0
|
133
193
|
version: 1.2.0
|
134
194
|
type: :development
|
135
195
|
version_requirements: *id011
|
@@ -141,6 +201,11 @@ dependencies:
|
|
141
201
|
requirements:
|
142
202
|
- - ~>
|
143
203
|
- !ruby/object:Gem::Version
|
204
|
+
hash: 11
|
205
|
+
segments:
|
206
|
+
- 0
|
207
|
+
- 5
|
208
|
+
- 0
|
144
209
|
version: 0.5.0
|
145
210
|
type: :development
|
146
211
|
version_requirements: *id012
|
@@ -152,6 +217,11 @@ dependencies:
|
|
152
217
|
requirements:
|
153
218
|
- - ~>
|
154
219
|
- !ruby/object:Gem::Version
|
220
|
+
hash: 59
|
221
|
+
segments:
|
222
|
+
- 0
|
223
|
+
- 9
|
224
|
+
- 0
|
155
225
|
version: 0.9.0
|
156
226
|
type: :development
|
157
227
|
version_requirements: *id013
|
@@ -163,6 +233,11 @@ dependencies:
|
|
163
233
|
requirements:
|
164
234
|
- - ~>
|
165
235
|
- !ruby/object:Gem::Version
|
236
|
+
hash: 3
|
237
|
+
segments:
|
238
|
+
- 3
|
239
|
+
- 1
|
240
|
+
- 0
|
166
241
|
version: 3.1.0
|
167
242
|
type: :development
|
168
243
|
version_requirements: *id014
|
@@ -174,6 +249,11 @@ dependencies:
|
|
174
249
|
requirements:
|
175
250
|
- - ~>
|
176
251
|
- !ruby/object:Gem::Version
|
252
|
+
hash: 3
|
253
|
+
segments:
|
254
|
+
- 3
|
255
|
+
- 1
|
256
|
+
- 0
|
177
257
|
version: 3.1.0
|
178
258
|
type: :development
|
179
259
|
version_requirements: *id015
|
@@ -185,6 +265,11 @@ dependencies:
|
|
185
265
|
requirements:
|
186
266
|
- - ~>
|
187
267
|
- !ruby/object:Gem::Version
|
268
|
+
hash: 31
|
269
|
+
segments:
|
270
|
+
- 1
|
271
|
+
- 2
|
272
|
+
- 0
|
188
273
|
version: 1.2.0
|
189
274
|
type: :development
|
190
275
|
version_requirements: *id016
|
@@ -196,6 +281,11 @@ dependencies:
|
|
196
281
|
requirements:
|
197
282
|
- - ~>
|
198
283
|
- !ruby/object:Gem::Version
|
284
|
+
hash: 7
|
285
|
+
segments:
|
286
|
+
- 2
|
287
|
+
- 2
|
288
|
+
- 0
|
199
289
|
version: 2.2.0
|
200
290
|
type: :development
|
201
291
|
version_requirements: *id017
|
@@ -207,6 +297,11 @@ dependencies:
|
|
207
297
|
requirements:
|
208
298
|
- - ~>
|
209
299
|
- !ruby/object:Gem::Version
|
300
|
+
hash: 23
|
301
|
+
segments:
|
302
|
+
- 1
|
303
|
+
- 0
|
304
|
+
- 0
|
210
305
|
version: 1.0.0
|
211
306
|
type: :development
|
212
307
|
version_requirements: *id018
|
@@ -218,6 +313,11 @@ dependencies:
|
|
218
313
|
requirements:
|
219
314
|
- - ~>
|
220
315
|
- !ruby/object:Gem::Version
|
316
|
+
hash: 3
|
317
|
+
segments:
|
318
|
+
- 3
|
319
|
+
- 1
|
320
|
+
- 0
|
221
321
|
version: 3.1.0
|
222
322
|
type: :development
|
223
323
|
version_requirements: *id019
|
@@ -229,6 +329,11 @@ dependencies:
|
|
229
329
|
requirements:
|
230
330
|
- - ~>
|
231
331
|
- !ruby/object:Gem::Version
|
332
|
+
hash: 59
|
333
|
+
segments:
|
334
|
+
- 0
|
335
|
+
- 9
|
336
|
+
- 0
|
232
337
|
version: 0.9.0
|
233
338
|
type: :development
|
234
339
|
version_requirements: *id020
|
@@ -240,6 +345,11 @@ dependencies:
|
|
240
345
|
requirements:
|
241
346
|
- - ~>
|
242
347
|
- !ruby/object:Gem::Version
|
348
|
+
hash: 19
|
349
|
+
segments:
|
350
|
+
- 0
|
351
|
+
- 3
|
352
|
+
- 0
|
243
353
|
version: 0.3.0
|
244
354
|
type: :development
|
245
355
|
version_requirements: *id021
|
@@ -251,6 +361,11 @@ dependencies:
|
|
251
361
|
requirements:
|
252
362
|
- - ~>
|
253
363
|
- !ruby/object:Gem::Version
|
364
|
+
hash: 23
|
365
|
+
segments:
|
366
|
+
- 1
|
367
|
+
- 0
|
368
|
+
- 0
|
254
369
|
version: 1.0.0
|
255
370
|
type: :development
|
256
371
|
version_requirements: *id022
|
@@ -323,12 +438,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
323
438
|
requirements:
|
324
439
|
- - ">="
|
325
440
|
- !ruby/object:Gem::Version
|
441
|
+
hash: 3
|
442
|
+
segments:
|
443
|
+
- 0
|
326
444
|
version: "0"
|
327
445
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
328
446
|
none: false
|
329
447
|
requirements:
|
330
448
|
- - ">="
|
331
449
|
- !ruby/object:Gem::Version
|
450
|
+
hash: 3
|
451
|
+
segments:
|
452
|
+
- 0
|
332
453
|
version: "0"
|
333
454
|
requirements: []
|
334
455
|
|