mango 0.5.3 → 0.5.4

Sign up to get free protection for your applications and to get access to all the features.
data/.yardopts CHANGED
@@ -1,5 +1,6 @@
1
1
  --output-dir ./yardoc
2
2
  --markup markdown
3
+ --plugin yard-sinatra
3
4
  -
4
5
  LICENSE
5
6
  CHANGES.mdown
@@ -1,27 +1,62 @@
1
- Mango release 0.5.3 (April 15, 2011)
2
- ====================================
1
+ # CHANGES
2
+
3
+ ## v0.5.4 / 2011-04-24
4
+
5
+ [Full changes](https://github.com/ryansobol/mango/compare/v0.5.3...v0.5.4)
6
+
7
+ ## Bugs
8
+
9
+ * Prevent gem building when unclean working directory [GH#9](https://github.com/ryansobol/mango/issues/9)
10
+
11
+ ### Dependencies
12
+
13
+ * Update gem dependencies [GH#10](https://github.com/ryansobol/mango/issues/10)
14
+ * Add [Bundler](http://gembundler.com/) ~> 1.0.7 to Gemfile
15
+ * Update [Rack](http://rack.rubyforge.org/) to ~> 1.2.2
16
+ * Update [Sinatra](http://www.sinatrarb.com/) to ~> 1.1.4
17
+ * Update [Haml](http://haml-lang.com/) (and [Sass](http://sass-lang.com/)) to ~> 3.0.25
18
+ * Update [BlueCloth](http://deveiate.org/projects/BlueCloth) to ~> 2.1.0
19
+ * Update [Thor](https://github.com/wycats/thor) to ~> 0.14.6
20
+ * Update [RSpec](http://rspec.info/) to ~> 2.5.0
21
+ * Update [Rack::Test](https://github.com/brynary/rack-test) to ~> 0.5.7
22
+ * Update [YARD](http://yardoc.org/) to ~> 0.6.8
23
+ * Use gemspec for Gemfile [GH#8](https://github.com/ryansobol/mango/issues/8)
24
+ * Modernize `Mango::Dependencies` [GH#17](https://github.com/ryansobol/mango/issues/17)
25
+
26
+ ### Documentation
27
+
28
+ * Update [RubyGems](https://rubygems.org/) to >= 1.3.7 in README.mdown [GH#12](https://github.com/ryansobol/mango/issues/12)
29
+ * Update all GitHub URLS to https [GH#15](https://github.com/ryansobol/mango/issues/15)
30
+ * Update CHANGES.mdown format [GH#13](https://github.com/ryansobol/mango/issues/13)
31
+
32
+ ## v0.5.3 / 2011-04-15
33
+
34
+ [Full changes](https://github.com/ryansobol/mango/compare/v0.5.2...v0.5.3)
3
35
 
4
36
  ### Bugs
5
37
 
6
38
  * Fixed "no such file to load -- lib/mango/rack/static_assets_cache" bug
7
39
 
8
- Mango release 0.5.2 (April 15, 2011)
9
- ====================================
40
+ ## v0.5.2 / 2011-04-15
41
+
42
+ [Full changes](https://github.com/ryansobol/mango/compare/v0.5.1...v0.5.2)
10
43
 
11
44
  ### Dependencies
12
45
 
13
46
  * Updated [RubyGems](https://rubygems.org/) dependency to >= 1.3.7
14
47
 
15
- Mango release 0.5.1 (November 1, 2010)
16
- ======================================
48
+ ## v0.5.1 / 2010-11-01
49
+
50
+ [Full changes](https://github.com/ryansobol/mango/compare/v0.5.0...v0.5.1)
17
51
 
18
52
  ### Dependencies
19
53
 
20
54
  * Updated [Bundler](http://gembundler.com/) dependency to ~> 1.0.0 to improve Heroku compatibility
21
55
  * Updated README.mdown to better present the Semantic Versioning of dependencies (documentation change only)
22
56
 
23
- Mango release 0.5.0 (October 31, 2010)
24
- ======================================
57
+ ## v0.5.0 / 2010-10-31
58
+
59
+ [Full changes](https://github.com/ryansobol/mango/compare/v0.4.0...v0.5.0)
25
60
 
26
61
  ### Features
27
62
 
@@ -42,18 +77,19 @@ Mango release 0.5.0 (October 31, 2010)
42
77
  * Updated [Haml](http://haml-lang.com/) to 3.0.22
43
78
  * Updated [Sass](http://sass-lang.com/) to 3.0.22 (bundled with Haml)
44
79
  * Updated [BlueCloth](http://deveiate.org/projects/BlueCloth) to 2.0.9
45
- * Updated [Rack::Test](http://github.com/brynary/rack-test) to 0.5.6
80
+ * Updated [Rack::Test](https://github.com/brynary/rack-test) to 0.5.6
46
81
  * Updated [RSpec](http://rspec.info/) to 2.0.1
47
82
  * Updated [YARD](http://yardoc.org/) to 0.6.1
48
- * Updated [YARD::Sinatra](http://github.com/rkh/yard-sinatra) to 0.5.1
83
+ * Updated [YARD::Sinatra](https://github.com/rkh/yard-sinatra) to 0.5.1
49
84
 
50
85
  ### Bugs
51
86
 
52
87
  * The NOT_FOUND handler no longer renders the 404 template within a layout template.
53
88
  * Improved install-time and run-time error messages for Ruby 1.8 environments
54
89
 
55
- Mango release 0.4.0 (August 30, 2010)
56
- =====================================
90
+ ## v0.4.0 / 2010-08-30
91
+
92
+ [Full changes](https://github.com/ryansobol/mango/compare/v0.3.0...v0.4.0)
57
93
 
58
94
  ### Features
59
95
 
@@ -66,56 +102,60 @@ Mango release 0.4.0 (August 30, 2010)
66
102
  ### Dependencies
67
103
 
68
104
  * Updated [Haml](http://haml-lang.com/) to 3.0.18
69
- * Updated [YARD::Sinatra](http://github.com/rkh/yard-sinatra) to 0.5.0
105
+ * Updated [YARD::Sinatra](https://github.com/rkh/yard-sinatra) to 0.5.0
70
106
  * Added [BlueCloth](http://deveiate.org/projects/BlueCloth) 2.0.7 as a required dependency
71
107
 
72
- Mango release 0.3.0 (June 25, 2010)
73
- ===================================
108
+ ## v0.3.0 / 2010-06-25
109
+
110
+ [Full changes](https://github.com/ryansobol/mango/compare/v0.2.1...v0.3.0)
74
111
 
75
112
  ### Features
76
113
 
77
114
  * Added a route handler that renders [Sass](http://sass-lang.com/) templates to CSS!
78
115
  * Refactored tests for better spec coverage of route handling
79
- * Massive rewrite of internal documentation thanks to the [YARD::Sinatra (modified)](http://github.com/ryansobol/yard-sinatra)
116
+ * Massive rewrite of internal documentation thanks to the [YARD::Sinatra (modified)](https://github.com/ryansobol/yard-sinatra)
80
117
  * Uploaded developer documentation to [http://yardoc.org/docs/ryansobol-mango](http://yardoc.org/docs/ryansobol-mango)
81
118
 
82
119
  ### Dependencies
83
120
 
84
121
  * Updated [Haml](http://haml-lang.com/) to 3.0.13
85
- * Added [YARD::Sinatra](http://github.com/rkh/yard-sinatra) 0.4.0.1 [(modified)](http://github.com/ryansobol/yard-sinatra)
122
+ * Added [YARD::Sinatra](https://github.com/rkh/yard-sinatra) 0.4.0.1 [(modified)](https://github.com/ryansobol/yard-sinatra)
86
123
 
87
124
  ### Bugs
88
125
 
89
126
  * Fixed Regex when parsing LoadError messages on missing development dependencies
90
127
  * Fixed rspec gem name detection when requiring spec/rake/spectask in the Rakefile
91
128
 
92
- Mango release 0.2.1 (June 23, 2010)
93
- ===================================
129
+ ## v0.2.1 / 2010-06-23
130
+
131
+ [Full changes](https://github.com/ryansobol/mango/compare/v0.2.0...v0.2.1)
94
132
 
95
133
  * Refactored the application to reduce its code size and increase its maintainability
96
134
  * Improved the application's documentation and tests with additional HTTP routing examples
97
135
 
98
- Mango release 0.2.0 (June 19, 2010)
99
- ===================================
136
+ ## v0.2.0 / 2010-06-19
137
+
138
+ [Full changes](https://github.com/ryansobol/mango/compare/v0.1.1...v0.2.0)
100
139
 
101
140
  * Mango tries to route HTTP requests to static files first
102
141
  * Then it tries to route HTTP requests to Haml content pages
103
142
  * Finally, it routes unknown HTTP requests to a customizable 404 page
104
143
 
105
- Mango release 0.1.1 (June 15, 2010)
106
- ===================================
144
+ ## v0.1.1 / 2010-06-15
145
+
146
+ [Full changes](https://github.com/ryansobol/mango/compare/v0.1.0...v0.1.1)
107
147
 
108
148
  * Reserved the 'mango' namespace on RubyGems.org!
109
149
 
110
- Mango release 0.1.0 (June 15, 2010)
111
- ===================================
150
+ ## v0.1.0 / 2010-06-15
151
+
152
+ [Full changes](https://github.com/ryansobol/mango/commits/v0.1.0)
112
153
 
113
154
  * Mango tries to route HTTP requests to Haml content pages first
114
155
  * Then it routes unknown HTTP requests to a customizable 404 page
115
156
  * Wraps content pages within a customizable Haml template and layout
116
157
  * Supports any Rack-based application server (e.g. Phusion Passenger, thin, mongrel, webrick, etc.)
117
158
 
118
- Mango unrelease 0.0.1 (June 12, 2010)
119
- =====================================
159
+ ## v0.0.1 / 2010-06-12
120
160
 
121
161
  * First commit of the project
data/Gemfile CHANGED
@@ -1,15 +1,4 @@
1
1
  # encoding: UTF-8
2
2
  source "http://rubygems.org"
3
3
 
4
- gem "rack", "~> 1.2.1"
5
- gem "sinatra", "~> 1.1.0"
6
- gem "haml", "~> 3.0.22"
7
- gem "bluecloth", "~> 2.0.9"
8
- gem "thor", "~> 0.14.3"
9
-
10
- gem "rspec", "~> 2.0.1"
11
- gem "rack-test", "~> 0.5.6"
12
- gem "yard", "~> 0.6.1"
13
- gem "bluecloth", "~> 2.0.9"
14
- gem "yard-sinatra", "~> 0.5.1"
15
-
4
+ gemspec
@@ -1,28 +1,37 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ mango (0.5.4)
5
+ bluecloth (~> 2.1.0)
6
+ bundler (~> 1.0.7)
7
+ haml (~> 3.0.25)
8
+ rack (~> 1.2.2)
9
+ sinatra (~> 1.1.4)
10
+ thor (~> 0.14.6)
11
+
1
12
  GEM
2
13
  remote: http://rubygems.org/
3
14
  specs:
4
- bluecloth (2.0.9)
15
+ bluecloth (2.1.0)
5
16
  diff-lcs (1.1.2)
6
- haml (3.0.22)
7
- rack (1.2.1)
8
- rack-test (0.5.6)
17
+ haml (3.0.25)
18
+ rack (1.2.2)
19
+ rack-test (0.5.7)
9
20
  rack (>= 1.0)
10
- rspec (2.0.1)
11
- rspec-core (~> 2.0.1)
12
- rspec-expectations (~> 2.0.1)
13
- rspec-mocks (~> 2.0.1)
14
- rspec-core (2.0.1)
15
- rspec-expectations (2.0.1)
16
- diff-lcs (>= 1.1.2)
17
- rspec-mocks (2.0.1)
18
- rspec-core (~> 2.0.1)
19
- rspec-expectations (~> 2.0.1)
20
- sinatra (1.1.0)
21
+ rspec (2.5.0)
22
+ rspec-core (~> 2.5.0)
23
+ rspec-expectations (~> 2.5.0)
24
+ rspec-mocks (~> 2.5.0)
25
+ rspec-core (2.5.1)
26
+ rspec-expectations (2.5.0)
27
+ diff-lcs (~> 1.1.2)
28
+ rspec-mocks (2.5.0)
29
+ sinatra (1.1.4)
21
30
  rack (~> 1.1)
22
- tilt (~> 1.1)
23
- thor (0.14.3)
24
- tilt (1.1)
25
- yard (0.6.1)
31
+ tilt (>= 1.2.2, < 2.0)
32
+ thor (0.14.6)
33
+ tilt (1.2.2)
34
+ yard (0.6.8)
26
35
  yard-sinatra (0.5.1)
27
36
  yard (~> 0.6.0)
28
37
 
@@ -30,12 +39,14 @@ PLATFORMS
30
39
  ruby
31
40
 
32
41
  DEPENDENCIES
33
- bluecloth (~> 2.0.9)
34
- haml (~> 3.0.22)
35
- rack (~> 1.2.1)
36
- rack-test (~> 0.5.6)
37
- rspec (~> 2.0.1)
38
- sinatra (~> 1.1.0)
39
- thor (~> 0.14.3)
40
- yard (~> 0.6.1)
42
+ bluecloth (~> 2.1.0)
43
+ bundler (~> 1.0.7)
44
+ haml (~> 3.0.25)
45
+ mango!
46
+ rack (~> 1.2.2)
47
+ rack-test (~> 0.5.7)
48
+ rspec (~> 2.5.0)
49
+ sinatra (~> 1.1.4)
50
+ thor (~> 0.14.6)
51
+ yard (~> 0.6.8)
41
52
  yard-sinatra (~> 0.5.1)
@@ -1,12 +1,12 @@
1
- Mango release 0.5.3 (April 15, 2011)
1
+ Mango release 0.5.4 (April 24, 2011)
2
2
  ====================================
3
3
 
4
4
  Copyright (c) 2010 Ryan Sobol. Licensed under the MIT license. Please see the {file:LICENSE} for more information.
5
5
 
6
6
  * **Demo Application** : [http://mango-fireworks.heroku.com/](http://mango-fireworks.heroku.com/)
7
- * **Source Code**: [http://github.com/ryansobol/mango](http://github.com/ryansobol/mango)
7
+ * **Source Code**: [https://github.com/ryansobol/mango](https://github.com/ryansobol/mango)
8
8
  * **Documentation**: [http://rubydoc.info/github/ryansobol/mango/master/frames](http://rubydoc.info/github/ryansobol/mango/master/frames)
9
- * **Issue Tracker**: [http://github.com/ryansobol/mango/issues](http://github.com/ryansobol/mango/issues)
9
+ * **Issue Tracker**: [https://github.com/ryansobol/mango/issues](https://github.com/ryansobol/mango/issues)
10
10
  * **Wiki**: [http://wiki.github.com/ryansobol/mango](http://wiki.github.com/ryansobol/mango)
11
11
 
12
12
  SYNOPSIS
@@ -37,14 +37,14 @@ Mango separates a website's theme from it's content. This makes it *easy to cha
37
37
  * CSS
38
38
  * JavaScript
39
39
 
40
- with [more](http://github.com/sinatra/sinatra/blob/1.1.0/CHANGES#L12) on the way.
40
+ with [more](https://github.com/sinatra/sinatra/blob/1.1.0/CHANGES#L12) on the way.
41
41
 
42
42
  ### Easy to publish
43
43
 
44
44
  Mango applications are dead-simple to publish. Mango was designed to support a wide variety of publishing tools like:
45
45
 
46
46
  * Single target, drag-and-drop secure FTP uploading
47
- * Multiple target, automated deploying with [Capistrano](http://github.com/capistrano/capistrano)
47
+ * Multiple target, automated deploying with [Capistrano](https://github.com/capistrano/capistrano)
48
48
  * Cutting-edge cloud deploying with [Git](http://git-scm.com/) and [Heroku](http://heroku.com/)
49
49
 
50
50
  ### Easy to collaborate
@@ -71,22 +71,23 @@ REQUIREMENTS
71
71
  ### Required dependencies
72
72
 
73
73
  * [Ruby](http://www.ruby-lang.org/) ~> 1.9.2 ([RVM](http://rvm.beginrescueend.com/) recommended)
74
- * [RubyGems](https://rubygems.org/) ~> 1.3.7 (bundled with Ruby)
75
- * [Bundler](http://gembundler.com/) ~> 1.0.0
76
- * [Rack](http://rack.rubyforge.org/) ~> 1.2.1
77
- * [Sinatra](http://www.sinatrarb.com/) ~> 1.1.0
78
- * [Haml](http://haml-lang.com/) ~> 3.0.22
79
- * [Sass](http://sass-lang.com/) ~> 3.0.22 (bundled with Haml)
80
- * [BlueCloth](http://deveiate.org/projects/BlueCloth) ~> 2.0.9
74
+ * [RubyGems](https://rubygems.org/) >= 1.3.7 (bundled with Ruby)
75
+ * [Bundler](http://gembundler.com/) ~> 1.0.7
76
+ * [Rack](http://rack.rubyforge.org/) ~> 1.2.2
77
+ * [Sinatra](http://www.sinatrarb.com/) ~> 1.1.4
78
+ * [Haml](http://haml-lang.com/) ~> 3.0.25
79
+ * [Sass](http://sass-lang.com/) ~> 3.0.25 (bundled with Haml)
80
+ * [BlueCloth](http://deveiate.org/projects/BlueCloth) ~> 2.1.0
81
+ * [Thor](https://github.com/wycats/thor) ~> 0.14.6
81
82
 
82
83
  ### Optional development dependencies
83
84
 
84
85
  * [Rake](http://rake.rubyforge.org/) ~> 0.8.7 (bundled with Ruby)
85
- * [Rack::Test](http://github.com/brynary/rack-test) ~> 0.5.6
86
- * [RSpec](http://rspec.info/) ~> 2.0.1
87
- * [YARD](http://yardoc.org/) ~> 0.6.1
88
- * [YARD::Sinatra](http://github.com/rkh/yard-sinatra) ~> 0.5.1
89
- * [BlueCloth](http://deveiate.org/projects/BlueCloth) ~> 2.0.9
86
+ * [Rack::Test](https://github.com/brynary/rack-test) ~> 0.5.7
87
+ * [RSpec](http://rspec.info/) ~> 2.5.0
88
+ * [YARD](http://yardoc.org/) ~> 0.6.8
89
+ * [YARD::Sinatra](https://github.com/rkh/yard-sinatra) ~> 0.5.1
90
+ * [BlueCloth](http://deveiate.org/projects/BlueCloth) ~> 2.1.0
90
91
 
91
92
  INSTALLING
92
93
  ----------
@@ -116,7 +117,7 @@ Simply edit the gem version in your application's `Gemfile` and re-install with
116
117
  $ cat Gemfile
117
118
  # encoding: UTF-8
118
119
  source "http://rubygems.org"
119
- gem "mango", "~> 0.5.3"
120
+ gem "mango", "~> 0.5.4"
120
121
  $ bundle install
121
122
 
122
123
  **TIP:** If you're working in the insolation of an [RVM gemset](http://rvm.beginrescueend.com/gemsets/basics/), type `gem clean` to uninstall outdated gems.
@@ -201,23 +202,23 @@ Now that the newly generated Mango application is running, here's how the applic
201
202
  WRITING
202
203
  -------
203
204
 
204
- Coming soon. [Patches are welcomed](http://github.com/ryansobol/mango/issues#issue/2).
205
+ Coming soon. [Patches are welcomed](https://github.com/ryansobol/mango/issues#issue/2).
205
206
 
206
207
  THEMING
207
208
  -------
208
209
 
209
- Coming soon. [Patches are welcomed](http://github.com/ryansobol/mango/issues#issue/3).
210
+ Coming soon. [Patches are welcomed](https://github.com/ryansobol/mango/issues#issue/3).
210
211
 
211
212
  PUBLISHING
212
213
  ----------
213
214
 
214
215
  ### Deploying to a single target with secure FTP uploads
215
216
 
216
- Coming soon. [Patches are welcomed](http://github.com/ryansobol/mango/issues#issue/4).
217
+ Coming soon. [Patches are welcomed](https://github.com/ryansobol/mango/issues#issue/4).
217
218
 
218
219
  ### Deploying to multiple targets with Capistrano
219
220
 
220
- Coming soon. [Patches are welcomed](http://github.com/ryansobol/mango/issues#issue/5).
221
+ Coming soon. [Patches are welcomed](https://github.com/ryansobol/mango/issues#issue/5).
221
222
 
222
223
  ### Deploying to the cloud with Heroku
223
224
 
@@ -267,13 +268,13 @@ CONTRIBUTING
267
268
 
268
269
  ### Reporting Issues
269
270
 
270
- Is Mango not behaving like you expect it should? Please forgive me. Submit a report over at the [Issue Tracker](http://github.com/ryansobol/mango/issues) and I'll get that sorted out.
271
+ Is Mango not behaving like you expect it should? Please forgive me. Submit a report over at the [Issue Tracker](https://github.com/ryansobol/mango/issues) and I'll get that sorted out.
271
272
 
272
273
  **TIP:** You can read through existing issues and vote for the ones you'd like to see resolved first.
273
274
 
274
275
  ### Submitting Patches
275
276
 
276
- Is Mango not behaving like you need? Patches are always welcomed and appreciated. [Report your issue](http://github.com/ryansobol/mango/issues) to make sure we're not duplicating any work and go to town. Alternatively, you can lend a hand on [existing issues](http://github.com/ryansobol/mango/issues).
277
+ Is Mango not behaving like you need? Patches are always welcomed and appreciated. [Report your issue](https://github.com/ryansobol/mango/issues) to make sure we're not duplicating any work and go to town. Alternatively, you can lend a hand on [existing issues](https://github.com/ryansobol/mango/issues).
277
278
 
278
279
  Once you've been assigned an issue, the process for contributing your work back to the source is straight-forward.
279
280
 
data/Rakefile CHANGED
@@ -31,16 +31,27 @@ end
31
31
  namespace :gem do
32
32
  desc "Builds a gem from the current project's Gem::Specification"
33
33
  task :build do
34
+ puts "==> Building RubyGem"
35
+
36
+ if `git status` !~ /working directory clean/
37
+ abort " Cannot build RubyGem because the working directory is not clean."
38
+ end
39
+
34
40
  system "gem build mango.gemspec"
35
41
  end
36
42
 
37
43
  desc "Removes the gem file for the current project"
38
44
  task :clean do
39
- jeweler { |gem_file| rm gem_file }
45
+ puts "==> Cleaning up RubyGem build"
46
+ jeweler do |gem_file|
47
+ rm gem_file, :verbose => false
48
+ puts " Removed #{gem_file}"
49
+ end
40
50
  end
41
51
 
42
52
  desc "Pushes the current gem to RubyGems.org"
43
53
  task :push do
54
+ puts "==> Pushing RubyGem"
44
55
  jeweler { |gem_file| system "gem push #{gem_file}"}
45
56
  end
46
57
 
@@ -56,7 +67,7 @@ namespace :gem do
56
67
  if File.exists?(file)
57
68
  yield file
58
69
  else
59
- puts "No gem file found - #{file}"
70
+ puts " RubyGem #{file.inspect} does not exist"
60
71
  end
61
72
  end
62
73
  end
@@ -1,31 +1,22 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  module Mango
4
- # `Mango::Dependencies` is a class-methods-only **singleton** class that performs both strict
5
- # parse-time dependency checking and simple, elegant run-time dependency warning.
4
+ # `Mango::Dependencies` is a module that performs two types of depedency checking:
6
5
  #
7
- # My preferred mental model is to consider software library dependencies as a snapshot in time.
8
- # I also make the assumption, sometimes incorrectly, that a newer version of a software library
9
- # is not always a better version.
6
+ # * Strict parse-time version checking of Ruby
7
+ # * Lenient run-time handling of missing development RubyGems
10
8
  #
11
9
  # `Mango::Dependencies` automatically enforces a strict parse-time check for the
12
- # `SUPPORTED_RUBY_VERSIONS` on both application and development processes for the `Mango`
13
- # library. (i.e. `bin/mango`, `rake`, `spec`, `rackup`, etc) Because of this, I've ensured this
14
- # file is syntactically compatible with Ruby 1.8.7 or higher.
10
+ # `SUPPORTED_RUBY_VERSIONS` on both application and development processes for the Mango
11
+ # library. (i.e. `bin/mango`, `rake`, `spec`, `rackup`, etc) Because of this,
12
+ # `Mango::Dependencies` is syntactically compatible with Ruby 1.8.7 or higher.
15
13
  #
16
- # Currently, `Mango` does **not** enforce strict parse-time version checking on `DEVELOPMENT_GEMS`.
17
- # In the future, I would like to experiment with using RubyGems and the `Kernel#gem` method to
18
- # this end. For now, each developer is responsible for ensuring the correct versions of their
19
- # necessary development gems are located in the `$LOAD_PATH` on their system.
20
- #
21
- # When a gem is required, but a `LoadError` is raised, and rescued, `Mango::Dependencies` can be
22
- # incorporated into the process to warn a developer of missing development features. Even with a
23
- # few methods -- `.create_warning_for` and `.warn_at_exit` -- users are automatically warned, in
24
- # this case at the moment of termination, about gems that could not found be in the `$LOAD_PATH`.
25
- # Using `Mango::Dependencies` is **not** a mandatory inclusion for all gem requirements, merely a
26
- # guide to help developers quickly see obstacles in their path.
14
+ # `Mango::Dependencies` is also a lenient, run-time handler used in the `Rakefile` to build
15
+ # developer-friendly warnings from rescued `LoadError` exceptions raised by missing
16
+ # development RubyGem dependencies.
27
17
  #
28
18
  # @example Simple usage with the YARD gem
19
+ # Mango::Dependencies.warn_at_exit
29
20
  # begin
30
21
  # require "yard"
31
22
  # YARD::Rake::YardocTask.new(:yard)
@@ -35,66 +26,65 @@ module Mango
35
26
  #
36
27
  # @see Mango::Dependencies.create_warning_for
37
28
  # @see Mango::Dependencies.warn_at_exit
38
- class Dependencies
29
+ module Dependencies
39
30
  SUPPORTED_RUBY_VERSIONS = ["1.9.2"]
40
31
 
41
- # bluecloth is a hidden yard dependency for markdown support
42
- DEVELOPMENT_GEMS = {
43
- :"rack-test" => "0.5.6",
44
- :rspec => "2.0.1",
45
- :yard => "0.6.1",
46
- :"yard-sinatra" => "0.5.1",
47
- :bluecloth => "2.0.9"
48
- }
49
-
50
32
  FILE_NAME_TO_GEM_NAME = {
51
33
  :"rack/test" => :"rack-test",
52
- :"rspec/core/rake_task" => :rspec,
34
+ :"rspec/core/rake_task" => :"rspec-core",
53
35
  :"yard/sinatra" => :"yard-sinatra"
54
36
  }
55
37
 
38
+ # Checks that the version of the current Ruby process matches the one of the
39
+ # `SUPPORTED_RUBY_VERSIONS`. This method is automatically invoked at the first time this class
40
+ # is required, ensuring the correct Ruby version at parse-time.
41
+ #
42
+ # @param [String] ruby_version Useful for automated specifications. Defaults to `RUBY_VERSION`.
43
+ # @raise [SystemExit] Raised, with a message, when the process is using an incorrect version of Ruby.
44
+ def self.check_ruby_version(ruby_version = RUBY_VERSION)
45
+ unless SUPPORTED_RUBY_VERSIONS.include?(ruby_version)
46
+ abort <<-ERROR
47
+ This library supports Ruby #{SUPPORTED_RUBY_VERSIONS.join(" or ")}, but you're using #{ruby_version}.
48
+ I recommend using Ruby Version Manager to install, manage and work with multiple Ruby environments.
49
+ http://rvm.beginrescueend.com/
50
+ ERROR
51
+ end
52
+ end
53
+ check_ruby_version
54
+
56
55
  # Empties the warnings cache. This method is called when the class is required.
57
56
  def self.destroy_warnings
58
57
  @@warnings_cache = []
59
58
  end
60
59
  destroy_warnings
61
60
 
62
- # Creates and caches a warning from a `LoadError` exception. Warnings are only created for
63
- # known development gem dependencies.
61
+ # Creates and caches a warning from a `LoadError` exception.
64
62
  #
65
63
  # @param [LoadError] error A rescued exception
66
- # @raise [RuntimeError] Raised when the `LoadError` argument is an unknown development gem.
67
64
  def self.create_warning_for(error)
68
65
  pattern = %r{no such file to load -- ([\w\-\\/]*)}
69
66
  error.message.match(pattern) do |match_data|
70
67
  file_name = match_data[1].to_sym
71
- gem_name = if DEVELOPMENT_GEMS.has_key?(file_name)
72
- file_name
73
- elsif FILE_NAME_TO_GEM_NAME.has_key?(file_name)
68
+ gem_name = if FILE_NAME_TO_GEM_NAME.has_key?(file_name)
74
69
  FILE_NAME_TO_GEM_NAME[file_name]
75
70
  else
76
- raise "Cannot create a dependency warning for unknown development gem -- #{file_name}"
71
+ file_name
77
72
  end
78
73
 
79
- @@warnings_cache << "#{gem_name} --version '#{DEVELOPMENT_GEMS[gem_name]}'"
74
+ @@warnings_cache << gem_name
80
75
  end
81
76
  end
82
77
 
83
78
  # Displays a warning message to the user on the standard output channel if there are warnings
84
79
  # to render.
85
- #
86
- # @example Sample warning message
87
- # The following development gem dependencies could not be found. Without them, some available development features are missing:
88
- # jeweler --version "1.4.0"
89
- # rspec --version "2.0.1"
90
- # yard --version "0.5.3"
91
- # bluecloth --version "2.0.9"
92
80
  def self.render_warnings
93
81
  unless @@warnings_cache.empty?
94
- message = []
95
- message << "The following development gem dependencies could not be found. Without them, some available development features are missing:"
96
- message += @@warnings_cache
97
- puts "\n" + message.join("\n")
82
+ puts <<-EOS
83
+
84
+ Could not require the following RubyGems: #{@@warnings_cache.join(", ")}
85
+ Please run "bundle install" to access all development features.
86
+
87
+ EOS
98
88
  end
99
89
  end
100
90
 
@@ -102,23 +92,5 @@ module Mango
102
92
  def self.warn_at_exit
103
93
  at_exit { render_warnings }
104
94
  end
105
-
106
- private
107
-
108
- # Checks that the version of the current Ruby process matches the one of the
109
- # `SUPPORTED_RUBY_VERSIONS`. This method is automatically invoked at the first time this class
110
- # is required, ensuring the correct Ruby version at parse-time.
111
- #
112
- # @param [String] ruby_version Useful for automated specifications. Defaults to `RUBY_VERSION`.
113
- # @raise [SystemExit] Raised, with a message, when the process is using an incorrect version of Ruby.
114
- def self.check_ruby_version(ruby_version = RUBY_VERSION)
115
- unless SUPPORTED_RUBY_VERSIONS.include?(ruby_version)
116
- abort <<-ERROR
117
- This library supports Ruby #{SUPPORTED_RUBY_VERSIONS.join(" or ")}, but you're using #{ruby_version}.
118
- Please visit http://www.ruby-lang.org/ or http://rvm.beginrescueend.com/ for installation instructions.
119
- ERROR
120
- end
121
- end
122
- check_ruby_version
123
95
  end
124
96
  end
@@ -1,3 +1,3 @@
1
1
  # encoding: UTF-8
2
2
  source "http://rubygems.org"
3
- gem "mango", "~> 0.5.3"
3
+ gem "mango", "~> 0.5.4"
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Mango
4
4
  # Current stable released version
5
- VERSION = "0.5.3"
5
+ VERSION = "0.5.4"
6
6
  end
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.author = "Ryan Sobol"
9
9
  s.email = "contact@ryansobol.com"
10
- s.homepage = "http://github.com/ryansobol/mango"
10
+ s.homepage = "https://github.com/ryansobol/mango"
11
11
  s.summary = "Mango is a dynamic, database-free, and open source website framework."
12
12
  s.description = "Mango is a dynamic, database-free, and open source website framework that is designed to make life easier for small teams of designers, developers, and content writers."
13
13
 
@@ -15,17 +15,17 @@ Gem::Specification.new do |s|
15
15
  s.required_rubygems_version = ">= 1.3.7"
16
16
  s.rubyforge_project = "mango"
17
17
 
18
- s.add_runtime_dependency "bundler", "~> 1.0.0"
19
- s.add_runtime_dependency "rack", "~> 1.2.1"
20
- s.add_runtime_dependency "sinatra", "~> 1.1.0"
21
- s.add_runtime_dependency "haml", "~> 3.0.22"
22
- s.add_runtime_dependency "bluecloth", "~> 2.0.9"
23
- s.add_runtime_dependency "thor", "~> 0.14.3"
18
+ s.add_runtime_dependency "bundler", "~> 1.0.7"
19
+ s.add_runtime_dependency "rack", "~> 1.2.2"
20
+ s.add_runtime_dependency "sinatra", "~> 1.1.4"
21
+ s.add_runtime_dependency "haml", "~> 3.0.25"
22
+ s.add_runtime_dependency "bluecloth", "~> 2.1.0"
23
+ s.add_runtime_dependency "thor", "~> 0.14.6"
24
24
 
25
- s.add_development_dependency "rspec", "~> 2.0.1"
26
- s.add_development_dependency "rack-test", "~> 0.5.6"
27
- s.add_development_dependency "yard", "~> 0.6.1"
28
- s.add_development_dependency "bluecloth", "~> 2.0.9"
25
+ s.add_development_dependency "rspec", "~> 2.5.0"
26
+ s.add_development_dependency "rack-test", "~> 0.5.7"
27
+ s.add_development_dependency "yard", "~> 0.6.8"
28
+ s.add_development_dependency "bluecloth", "~> 2.1.0"
29
29
  s.add_development_dependency "yard-sinatra", "~> 0.5.1"
30
30
 
31
31
  s.files = `git ls-files`.split("\n")
@@ -115,7 +115,7 @@ Disallow: /cgi-bin/
115
115
  end
116
116
 
117
117
  it "sends the correct Content-Type header" do
118
- last_response["Content-Type"].should == "image/jpeg;charset=utf-8"
118
+ last_response["Content-Type"].should == "image/jpeg"
119
119
  end
120
120
 
121
121
  it "sends the correct body content" do
@@ -26,7 +26,6 @@ describe Mango::Application do
26
26
 
27
27
  it "sends the correct body content" do
28
28
  last_response.body.should == <<-EXPECTED
29
- @charset "UTF-8";
30
29
  .content-navigation {
31
30
  border-color: #3bbfce;
32
31
  color: #2ca2af; }
@@ -56,7 +55,6 @@ describe Mango::Application do
56
55
 
57
56
  it "sends the correct body content" do
58
57
  last_response.body.should == <<-EXPECTED
59
- @charset "UTF-8";
60
58
  table.hl {
61
59
  margin: 2em 0; }
62
60
  table.hl td.ln {
@@ -275,7 +275,7 @@ EOS
275
275
  it "seasons the rendered markup with Mango::FlavoredMarkdown" do
276
276
  data = <<-EOS
277
277
  Mango is like a drug.
278
- You must have more_and_more and more of the Mango
278
+ You must have more and more and more of the Mango
279
279
  until there is no Mango left.
280
280
  Not even for Mango!
281
281
  EOS
@@ -284,7 +284,7 @@ Not even for Mango!
284
284
 
285
285
  expected = <<-EOS
286
286
  <p>Mango is like a drug.<br/>
287
- You must have more_and_more and more of the Mango<br/>
287
+ You must have more and more and more of the Mango<br/>
288
288
  until there is no Mango left.<br/>
289
289
  Not even for Mango!</p>
290
290
  EOS
@@ -10,22 +10,10 @@ describe Mango::Dependencies do
10
10
  Mango::Dependencies::SUPPORTED_RUBY_VERSIONS.should == ["1.9.2"]
11
11
  end
12
12
 
13
- it "development gem names and versions should be correct" do
14
- expected = {
15
- :"rack-test" => "0.5.6",
16
- :rspec => "2.0.1",
17
- :yard => "0.6.1",
18
- :"yard-sinatra" => "0.5.1",
19
- :bluecloth => "2.0.9"
20
- }
21
-
22
- Mango::Dependencies::DEVELOPMENT_GEMS.should == expected
23
- end
24
-
25
13
  it "file name to gem name look-up table should be correct" do
26
14
  expected = {
27
15
  :"rack/test" => :"rack-test",
28
- :"rspec/core/rake_task" => :rspec,
16
+ :"rspec/core/rake_task" => :"rspec-core",
29
17
  :"yard/sinatra" => :"yard-sinatra"
30
18
  }
31
19
  Mango::Dependencies::FILE_NAME_TO_GEM_NAME.should == expected
@@ -38,7 +26,7 @@ describe Mango::Dependencies do
38
26
 
39
27
  #################################################################################################
40
28
 
41
- describe ".check_ruby_version (private)" do
29
+ describe ".check_ruby_version" do
42
30
  before(:each) do
43
31
  $stderr = StringIO.new
44
32
  end
@@ -50,129 +38,104 @@ describe Mango::Dependencies do
50
38
  def expected_message(version)
51
39
  @expected_message = <<-ERROR
52
40
  This library supports Ruby 1.9.2, but you're using #{version}.
53
- Please visit http://www.ruby-lang.org/ or http://rvm.beginrescueend.com/ for installation instructions.
41
+ I recommend using Ruby Version Manager to install, manage and work with multiple Ruby environments.
42
+ http://rvm.beginrescueend.com/
54
43
  ERROR
55
44
  end
56
45
 
57
46
  it "aborts for ruby 1.8.6" do
58
47
  version = "1.8.6"
59
48
  lambda {
60
- Mango::Dependencies.send(:check_ruby_version, version)
49
+ Mango::Dependencies.check_ruby_version(version)
61
50
  }.should raise_exception(SystemExit, expected_message(version))
62
51
  end
63
52
 
64
53
  it "aborts for ruby 1.8.7" do
65
54
  version = "1.8.7"
66
55
  lambda {
67
- Mango::Dependencies.send(:check_ruby_version, version)
56
+ Mango::Dependencies.check_ruby_version(version)
68
57
  }.should raise_exception(SystemExit, expected_message(version))
69
58
  end
70
59
 
71
60
  it "aborts for ruby 1.9.0" do
72
61
  version = "1.9.0"
73
62
  lambda {
74
- Mango::Dependencies.send(:check_ruby_version, version)
63
+ Mango::Dependencies.check_ruby_version(version)
75
64
  }.should raise_exception(SystemExit, expected_message(version))
76
65
  end
77
66
 
78
67
  it "aborts for ruby 1.9.1" do
79
68
  version = "1.9.1"
80
69
  lambda {
81
- Mango::Dependencies.send(:check_ruby_version, version)
70
+ Mango::Dependencies.check_ruby_version(version)
82
71
  }.should raise_exception(SystemExit, expected_message(version))
83
72
  end
84
73
 
85
74
  it "doesn't abort for ruby 1.9.2" do
86
75
  version = "1.9.2"
87
76
  lambda {
88
- Mango::Dependencies.send(:check_ruby_version, version)
77
+ Mango::Dependencies.check_ruby_version(version)
89
78
  }.should_not raise_exception(SystemExit, expected_message(version))
90
79
  end
91
80
  end
92
81
 
93
82
  #################################################################################################
94
83
 
95
- describe ".destroy_warnings" do
96
- it "empties the warnings cache" do
97
- Mango::Dependencies.class_variable_get(:@@warnings_cache).should be_empty
98
-
99
- Mango::Dependencies.create_warning_for(LoadError.new("no such file to load -- yard"))
100
- Mango::Dependencies.class_variable_get(:@@warnings_cache).should_not be_empty
101
-
102
- Mango::Dependencies.destroy_warnings
103
- Mango::Dependencies.class_variable_get(:@@warnings_cache).should be_empty
84
+ context "given three load errors" do
85
+ before(:each) do
86
+ ["rspec/core/rake_task", "yard", "bluecloth"].each do |file|
87
+ load_error = LoadError.new("no such file to load -- #{file}")
88
+ Mango::Dependencies.create_warning_for(load_error)
89
+ end
104
90
  end
105
- end
106
-
107
- #################################################################################################
108
91
 
109
- describe ".create_warning_for" do
110
92
  after(:each) do
111
93
  Mango::Dependencies.destroy_warnings
112
94
  end
113
95
 
114
- it "creates and caches and cache one warning from a known development gem dependency" do
115
- Mango::Dependencies.create_warning_for(LoadError.new("no such file to load -- yard"))
116
- Mango::Dependencies.class_variable_get(:@@warnings_cache).should == ["yard --version '0.6.1'"]
96
+ describe ".destroy_warnings" do
97
+ it "empties the warnings cache" do
98
+ Mango::Dependencies.class_variable_get(:@@warnings_cache).should_not be_empty
99
+ Mango::Dependencies.destroy_warnings
100
+ Mango::Dependencies.class_variable_get(:@@warnings_cache).should be_empty
101
+ end
117
102
  end
118
103
 
119
- it "creates and caches and cache warnings from all known development gem dependencies" do
120
- Mango::Dependencies::DEVELOPMENT_GEMS.each_key do |file_name|
121
- gem_name = if Mango::Dependencies::FILE_NAME_TO_GEM_NAME.has_key?(file_name)
122
- Mango::Dependencies::FILE_NAME_TO_GEM_NAME[file_name]
123
- else
124
- file_name
125
- end
126
- load_error = LoadError.new("no such file to load -- #{gem_name}")
127
- Mango::Dependencies.create_warning_for(load_error)
128
- end
104
+ ###############################################################################################
129
105
 
130
- expected = [
131
- "rack-test --version '0.5.6'",
132
- "rspec --version '2.0.1'",
133
- "yard --version '0.6.1'",
134
- "yard-sinatra --version '0.5.1'",
135
- "bluecloth --version '2.0.9'"
136
- ]
137
- Mango::Dependencies.class_variable_get(:@@warnings_cache).should == expected
106
+ describe ".create_warning_for" do
107
+ it "creates and caches three warnings" do
108
+ expected = [:"rspec-core", :yard, :bluecloth]
109
+ Mango::Dependencies.class_variable_get(:@@warnings_cache).should == expected
110
+ end
138
111
  end
139
112
 
140
- it "raises a RuntimeError when creating a warning from an unknown development gem dependency" do
141
- lambda {
142
- Mango::Dependencies.create_warning_for(LoadError.new("no such file to load -- _fakegem"))
143
- }.should raise_exception(RuntimeError, "Cannot create a dependency warning for unknown development gem -- _fakegem")
144
- end
145
- end
113
+ ###############################################################################################
146
114
 
147
- #################################################################################################
115
+ describe ".render_warnings" do
116
+ before(:each) do
117
+ $stdout = StringIO.new
118
+ end
148
119
 
149
- describe ".render_warnings" do
150
- before(:each) do
151
- $stdout = StringIO.new
152
- end
120
+ after(:each) do
121
+ $stdout = STDOUT
122
+ end
153
123
 
154
- after(:each) do
155
- $stdout = STDOUT
156
- end
124
+ it "displays a warning message to the user on the standard output channel" do
125
+ Mango::Dependencies.render_warnings
126
+ $stdout.string.should == <<-MESSAGE
157
127
 
158
- it "displays a warning message to the user on the standard output channel" do
159
- Mango::Dependencies.create_warning_for(LoadError.new("no such file to load -- rspec/core/rake_task"))
160
- Mango::Dependencies.create_warning_for(LoadError.new("no such file to load -- yard"))
161
- Mango::Dependencies.create_warning_for(LoadError.new("no such file to load -- bluecloth"))
162
- Mango::Dependencies.render_warnings
163
- $stdout.string.should == <<-MESSAGE
128
+ Could not require the following RubyGems: rspec-core, yard, bluecloth
129
+ Please run "bundle install" to access all development features.
164
130
 
165
- The following development gem dependencies could not be found. Without them, some available development features are missing:
166
- rspec --version '2.0.1'
167
- yard --version '0.6.1'
168
- bluecloth --version '2.0.9'
169
- MESSAGE
170
- end
131
+ MESSAGE
132
+ end
171
133
 
172
- it "doesn't display a warning message to the user if there are no warnings in the cache" do
173
- Mango::Dependencies.destroy_warnings
174
- Mango::Dependencies.render_warnings
175
- $stdout.string.should be_empty
134
+ it "doesn't display a warning message to the user if there are no warnings in the cache" do
135
+ Mango::Dependencies.destroy_warnings
136
+ Mango::Dependencies.render_warnings
137
+ $stdout.string.should be_empty
138
+ end
176
139
  end
177
140
  end
178
141
 
@@ -81,7 +81,7 @@ run Mango::Application
81
81
  File.read(expected).should == <<-EOS
82
82
  # encoding: UTF-8
83
83
  source "http://rubygems.org"
84
- gem "mango", "~> 0.5.3"
84
+ gem "mango", "~> 0.5.4"
85
85
  EOS
86
86
  end
87
87
 
@@ -4,7 +4,7 @@ require "spec_helper"
4
4
  describe Mango do
5
5
  describe "version synchronizing" do
6
6
  before(:each) do
7
- @expected = "0.5.3"
7
+ @expected = "0.5.4"
8
8
  end
9
9
 
10
10
  it "is correct for Mango::VERSION" do
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 5
8
- - 3
9
- version: 0.5.3
8
+ - 4
9
+ version: 0.5.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - Ryan Sobol
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-04-15 00:00:00 -07:00
17
+ date: 2011-04-24 00:00:00 -07:00
18
18
  default_executable: mango
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -28,8 +28,8 @@ dependencies:
28
28
  segments:
29
29
  - 1
30
30
  - 0
31
- - 0
32
- version: 1.0.0
31
+ - 7
32
+ version: 1.0.7
33
33
  type: :runtime
34
34
  version_requirements: *id001
35
35
  - !ruby/object:Gem::Dependency
@@ -43,8 +43,8 @@ dependencies:
43
43
  segments:
44
44
  - 1
45
45
  - 2
46
- - 1
47
- version: 1.2.1
46
+ - 2
47
+ version: 1.2.2
48
48
  type: :runtime
49
49
  version_requirements: *id002
50
50
  - !ruby/object:Gem::Dependency
@@ -58,8 +58,8 @@ dependencies:
58
58
  segments:
59
59
  - 1
60
60
  - 1
61
- - 0
62
- version: 1.1.0
61
+ - 4
62
+ version: 1.1.4
63
63
  type: :runtime
64
64
  version_requirements: *id003
65
65
  - !ruby/object:Gem::Dependency
@@ -73,8 +73,8 @@ dependencies:
73
73
  segments:
74
74
  - 3
75
75
  - 0
76
- - 22
77
- version: 3.0.22
76
+ - 25
77
+ version: 3.0.25
78
78
  type: :runtime
79
79
  version_requirements: *id004
80
80
  - !ruby/object:Gem::Dependency
@@ -87,9 +87,9 @@ dependencies:
87
87
  - !ruby/object:Gem::Version
88
88
  segments:
89
89
  - 2
90
+ - 1
90
91
  - 0
91
- - 9
92
- version: 2.0.9
92
+ version: 2.1.0
93
93
  type: :runtime
94
94
  version_requirements: *id005
95
95
  - !ruby/object:Gem::Dependency
@@ -103,8 +103,8 @@ dependencies:
103
103
  segments:
104
104
  - 0
105
105
  - 14
106
- - 3
107
- version: 0.14.3
106
+ - 6
107
+ version: 0.14.6
108
108
  type: :runtime
109
109
  version_requirements: *id006
110
110
  - !ruby/object:Gem::Dependency
@@ -117,9 +117,9 @@ dependencies:
117
117
  - !ruby/object:Gem::Version
118
118
  segments:
119
119
  - 2
120
+ - 5
120
121
  - 0
121
- - 1
122
- version: 2.0.1
122
+ version: 2.5.0
123
123
  type: :development
124
124
  version_requirements: *id007
125
125
  - !ruby/object:Gem::Dependency
@@ -133,8 +133,8 @@ dependencies:
133
133
  segments:
134
134
  - 0
135
135
  - 5
136
- - 6
137
- version: 0.5.6
136
+ - 7
137
+ version: 0.5.7
138
138
  type: :development
139
139
  version_requirements: *id008
140
140
  - !ruby/object:Gem::Dependency
@@ -148,8 +148,8 @@ dependencies:
148
148
  segments:
149
149
  - 0
150
150
  - 6
151
- - 1
152
- version: 0.6.1
151
+ - 8
152
+ version: 0.6.8
153
153
  type: :development
154
154
  version_requirements: *id009
155
155
  - !ruby/object:Gem::Dependency
@@ -162,9 +162,9 @@ dependencies:
162
162
  - !ruby/object:Gem::Version
163
163
  segments:
164
164
  - 2
165
+ - 1
165
166
  - 0
166
- - 9
167
- version: 2.0.9
167
+ version: 2.1.0
168
168
  type: :development
169
169
  version_requirements: *id010
170
170
  - !ruby/object:Gem::Dependency
@@ -269,7 +269,7 @@ files:
269
269
  - spec/spec_helper.rb
270
270
  - spec/support/matchers/malformed_whitespace_matchers.rb
271
271
  has_rdoc: true
272
- homepage: http://github.com/ryansobol/mango
272
+ homepage: https://github.com/ryansobol/mango
273
273
  licenses: []
274
274
 
275
275
  post_install_message: