mango 0.5.0.beta3 → 0.5.0.beta4
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/CHANGES.mdown +4 -1
- data/README.mdown +44 -24
- data/Rakefile +1 -1
- data/bin/mango +3 -0
- data/lib/mango.rb +4 -1
- data/lib/mango/dependencies.rb +13 -14
- data/lib/mango/templates/Gemfile +1 -1
- data/lib/mango/version.rb +1 -1
- data/mango.gemspec +3 -2
- data/spec/mango/dependencies_spec.rb +10 -10
- data/spec/mango/version_spec.rb +1 -1
- metadata +14 -11
data/CHANGES.mdown
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Mango release 0.5.0.
|
1
|
+
Mango release 0.5.0.beta4 (October 24, 2010)
|
2
2
|
============================================
|
3
3
|
|
4
4
|
### Features
|
@@ -13,6 +13,8 @@ Mango release 0.5.0.beta3 (October 21, 2010)
|
|
13
13
|
|
14
14
|
### Dependencies
|
15
15
|
|
16
|
+
* Added [RubyGems](https://rubygems.org/) 1.3.7
|
17
|
+
* Updated [Ruby](http://www.ruby-lang.org/) to 1.9.1 or 1.9.2
|
16
18
|
* Updated [Bundler](http://gembundler.com/) to 1.0.3
|
17
19
|
* Updated [Haml](http://haml-lang.com/) to 3.0.22
|
18
20
|
* Updated [Sass](http://sass-lang.com/) to 3.0.22 (bundled with Haml)
|
@@ -25,6 +27,7 @@ Mango release 0.5.0.beta3 (October 21, 2010)
|
|
25
27
|
### Bugs
|
26
28
|
|
27
29
|
* The NOT_FOUND handler no longer renders the 404 template within a layout template.
|
30
|
+
* Improved install-time and run-time error messages for Ruby 1.8 environments
|
28
31
|
|
29
32
|
Mango release 0.4.0 (August 30, 2010)
|
30
33
|
=====================================
|
data/README.mdown
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Image courtesy of [B.C. Tree Fruits LTD.](http://www.bctree.com/products/sourced/mango.php)
|
4
4
|
|
5
|
-
Mango release 0.5.0.
|
5
|
+
Mango release 0.5.0.beta4 (October 24, 2010)
|
6
6
|
============================================
|
7
7
|
|
8
8
|
Copyright (c) 2010 Ryan Sobol. Licensed under the MIT license. Please see the {file:LICENSE} for more information.
|
@@ -29,6 +29,8 @@ WHAT'S NEW?
|
|
29
29
|
|
30
30
|
### Dependencies
|
31
31
|
|
32
|
+
* Added [RubyGems](https://rubygems.org/) 1.3.7
|
33
|
+
* Updated [Ruby](http://www.ruby-lang.org/) to 1.9.1 or 1.9.2
|
32
34
|
* Updated [Bundler](http://gembundler.com/) to 1.0.3
|
33
35
|
* Updated [Haml](http://haml-lang.com/) to 3.0.22
|
34
36
|
* Updated [Sass](http://sass-lang.com/) to 3.0.22 (bundled with Haml)
|
@@ -41,6 +43,7 @@ WHAT'S NEW?
|
|
41
43
|
### Bugs
|
42
44
|
|
43
45
|
* The NOT_FOUND handler no longer renders the 404 template within a layout template.
|
46
|
+
* Improved install-time and run-time error messages for Ruby 1.8 environments
|
44
47
|
|
45
48
|
Please see {file:CHANGES.mdown} for the historical overview of the project.
|
46
49
|
|
@@ -71,7 +74,8 @@ REQUIREMENTS
|
|
71
74
|
|
72
75
|
**Required dependencies**
|
73
76
|
|
74
|
-
* [Ruby](http://www.ruby-lang.org/) 1.9.1
|
77
|
+
* [Ruby](http://www.ruby-lang.org/) 1.9.1 or 1.9.2 ([RVM](http://rvm.beginrescueend.com/) recommended)
|
78
|
+
* [RubyGems](https://rubygems.org/) 1.3.7 (bundled with Ruby)
|
75
79
|
* [Bundler](http://gembundler.com/) 1.0.3
|
76
80
|
* [Rack](http://rack.rubyforge.org/) 1.2.1
|
77
81
|
* [Sinatra](http://www.sinatrarb.com/) 1.0
|
@@ -91,35 +95,51 @@ REQUIREMENTS
|
|
91
95
|
INSTALLING
|
92
96
|
----------
|
93
97
|
|
94
|
-
$ gem install mango
|
98
|
+
$ gem install mango -v 0.5.0.beta4
|
99
|
+
|
100
|
+
Note: Depending on how RubyGems is installed on your machine, you *may* need to prepend the command with `sudo`.
|
95
101
|
|
96
102
|
USAGE
|
97
103
|
-----
|
98
104
|
|
99
|
-
###
|
100
|
-
|
101
|
-
|
102
|
-
| |-- about
|
103
|
-
| | |-- index.haml
|
104
|
-
| | `-- us.haml
|
105
|
-
| `-- index.haml
|
106
|
-
`-- themes
|
107
|
-
`-- default
|
108
|
-
|-- public
|
109
|
-
| |-- images
|
110
|
-
| | `-- ripe-mango.jpg
|
111
|
-
| `-- robots.txt
|
112
|
-
|-- styles
|
113
|
-
| `-- screen.sass
|
114
|
-
`-- views
|
115
|
-
|-- 404.haml
|
116
|
-
|-- layout.haml
|
117
|
-
`-- page.haml
|
118
|
-
|
119
|
-
### Starting a development server
|
105
|
+
### Generating a Mango application
|
106
|
+
|
107
|
+
$ mango create /path/to/your/app
|
120
108
|
|
109
|
+
### Starting the application
|
110
|
+
|
111
|
+
$ cd /path/to/your/app
|
121
112
|
$ rackup
|
122
113
|
|
114
|
+
### Generated application structure
|
115
|
+
|
116
|
+
$ tree
|
117
|
+
.
|
118
|
+
├── Gemfile
|
119
|
+
├── README.md
|
120
|
+
├── config.ru
|
121
|
+
├── content
|
122
|
+
│ └── index.md
|
123
|
+
└── themes
|
124
|
+
└── default
|
125
|
+
├── public
|
126
|
+
│ ├── favicon.ico
|
127
|
+
│ ├── images
|
128
|
+
│ │ └── particles.gif
|
129
|
+
│ ├── javascripts
|
130
|
+
│ │ ├── fireworks.js
|
131
|
+
│ │ └── timer.js
|
132
|
+
│ ├── robots.txt
|
133
|
+
│ └── styles
|
134
|
+
│ ├── fireworks.css
|
135
|
+
│ └── reset.css
|
136
|
+
├── styles
|
137
|
+
│ └── screen.sass
|
138
|
+
└── views
|
139
|
+
├── 404.haml
|
140
|
+
├── layout.haml
|
141
|
+
└── page.haml
|
142
|
+
|
123
143
|
UNDER THE HOOD
|
124
144
|
--------------
|
125
145
|
|
data/Rakefile
CHANGED
data/bin/mango
CHANGED
data/lib/mango.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
|
2
|
+
|
3
|
+
# Ensure the environment uses the correct version of Ruby
|
4
|
+
require File.expand_path("mango/dependencies", File.dirname(__FILE__))
|
5
|
+
|
3
6
|
require_relative "mango/version"
|
4
7
|
require_relative "mango/rack/debugger"
|
5
8
|
require_relative "mango/application"
|
data/lib/mango/dependencies.rb
CHANGED
@@ -9,9 +9,9 @@ module Mango
|
|
9
9
|
# is not always a better version.
|
10
10
|
#
|
11
11
|
# `Mango::Dependencies` automatically enforces a strict parse-time check for the
|
12
|
-
# `
|
13
|
-
# (i.e. `bin/mango`, `rake`, `spec`, etc) Because of this, I've ensured this
|
14
|
-
# syntactically compatible with Ruby 1.8.
|
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.
|
15
15
|
#
|
16
16
|
# Currently, `Mango` does **not** enforce strict parse-time version checking on `DEVELOPMENT_GEMS`.
|
17
17
|
# In the future, I would like to experiment with using RubyGems and the `Kernel#gem` method to
|
@@ -36,8 +36,7 @@ module Mango
|
|
36
36
|
# @see Mango::Dependencies.create_warning_for
|
37
37
|
# @see Mango::Dependencies.warn_at_exit
|
38
38
|
class Dependencies
|
39
|
-
|
40
|
-
REQUIRED_RUBY_VERSION = "1.9.1"
|
39
|
+
SUPPORTED_RUBY_VERSIONS = ["1.9.1", "1.9.2"]
|
41
40
|
|
42
41
|
# bluecloth is a hidden yard dependency for markdown support
|
43
42
|
DEVELOPMENT_GEMS = {
|
@@ -49,9 +48,9 @@ module Mango
|
|
49
48
|
}
|
50
49
|
|
51
50
|
FILE_NAME_TO_GEM_NAME = {
|
52
|
-
:"rack/test"
|
53
|
-
:"
|
54
|
-
:"yard/sinatra"
|
51
|
+
:"rack/test" => :"rack-test",
|
52
|
+
:"rspec/core/rake_task" => :rspec,
|
53
|
+
:"yard/sinatra" => :"yard-sinatra"
|
55
54
|
}
|
56
55
|
|
57
56
|
# Empties the warnings cache. This method is called when the class is required.
|
@@ -106,17 +105,17 @@ module Mango
|
|
106
105
|
|
107
106
|
private
|
108
107
|
|
109
|
-
# Checks that the version of the current Ruby process matches the
|
110
|
-
# This method is automatically invoked at the first time this class
|
111
|
-
# correct Ruby version at parse-time.
|
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.
|
112
111
|
#
|
113
112
|
# @param [String] ruby_version Useful for automated specifications. Defaults to `RUBY_VERSION`.
|
114
113
|
# @raise [SystemExit] Raised, with a message, when the process is using an incorrect version of Ruby.
|
115
114
|
def self.check_ruby_version(ruby_version = RUBY_VERSION)
|
116
|
-
unless ruby_version
|
115
|
+
unless SUPPORTED_RUBY_VERSIONS.include?(ruby_version)
|
117
116
|
abort <<-ERROR
|
118
|
-
This library
|
119
|
-
Please visit http://www.ruby-lang.org/ for installation instructions.
|
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.
|
120
119
|
ERROR
|
121
120
|
end
|
122
121
|
end
|
data/lib/mango/templates/Gemfile
CHANGED
data/lib/mango/version.rb
CHANGED
data/mango.gemspec
CHANGED
@@ -11,12 +11,13 @@ Gem::Specification.new do |s|
|
|
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
|
|
14
|
-
s.
|
14
|
+
s.required_ruby_version = "~> 1.9.1"
|
15
|
+
s.required_rubygems_version = "~> 1.3.7"
|
15
16
|
s.rubyforge_project = "mango"
|
16
17
|
|
17
18
|
s.add_runtime_dependency "bundler", "~> 1.0.3"
|
18
19
|
s.add_runtime_dependency "rack", "~> 1.2.1"
|
19
|
-
s.add_runtime_dependency "sinatra", "~> 1.0"
|
20
|
+
s.add_runtime_dependency "sinatra", "~> 1.0.0"
|
20
21
|
s.add_runtime_dependency "haml", "~> 3.0.22"
|
21
22
|
s.add_runtime_dependency "bluecloth", "~> 2.0.9"
|
22
23
|
s.add_runtime_dependency "thor", "~> 0.14.3"
|
@@ -6,8 +6,8 @@ describe Mango::Dependencies do
|
|
6
6
|
#################################################################################################
|
7
7
|
|
8
8
|
describe "class constant and variable defaults" do
|
9
|
-
it "
|
10
|
-
Mango::Dependencies::
|
9
|
+
it "supports ruby 1.9.1 or 1.9.2" do
|
10
|
+
Mango::Dependencies::SUPPORTED_RUBY_VERSIONS.should == ["1.9.1", "1.9.2"]
|
11
11
|
end
|
12
12
|
|
13
13
|
it "development gem names and versions should be correct" do
|
@@ -24,9 +24,9 @@ describe Mango::Dependencies do
|
|
24
24
|
|
25
25
|
it "file name to gem name look-up table should be correct" do
|
26
26
|
expected = {
|
27
|
-
:"rack/test"
|
28
|
-
:"
|
29
|
-
:"yard/sinatra"
|
27
|
+
:"rack/test" => :"rack-test",
|
28
|
+
:"rspec/core/rake_task" => :rspec,
|
29
|
+
:"yard/sinatra" => :"yard-sinatra"
|
30
30
|
}
|
31
31
|
Mango::Dependencies::FILE_NAME_TO_GEM_NAME.should == expected
|
32
32
|
end
|
@@ -49,8 +49,8 @@ describe Mango::Dependencies do
|
|
49
49
|
|
50
50
|
def expected_message(version)
|
51
51
|
@expected_message = <<-ERROR
|
52
|
-
This library
|
53
|
-
Please visit http://www.ruby-lang.org/ for installation instructions.
|
52
|
+
This library supports Ruby 1.9.1 or 1.9.2, but you're using #{version}.
|
53
|
+
Please visit http://www.ruby-lang.org/ or http://rvm.beginrescueend.com/ for installation instructions.
|
54
54
|
ERROR
|
55
55
|
end
|
56
56
|
|
@@ -82,11 +82,11 @@ Please visit http://www.ruby-lang.org/ for installation instructions.
|
|
82
82
|
}.should_not raise_exception(SystemExit, expected_message(version))
|
83
83
|
end
|
84
84
|
|
85
|
-
it "
|
85
|
+
it "doesn't abort for ruby 1.9.2" do
|
86
86
|
version = "1.9.2"
|
87
87
|
lambda {
|
88
88
|
Mango::Dependencies.send(:check_ruby_version, version)
|
89
|
-
}.
|
89
|
+
}.should_not raise_exception(SystemExit, expected_message(version))
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
@@ -156,7 +156,7 @@ Please visit http://www.ruby-lang.org/ for installation instructions.
|
|
156
156
|
end
|
157
157
|
|
158
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 --
|
159
|
+
Mango::Dependencies.create_warning_for(LoadError.new("no such file to load -- rspec/core/rake_task"))
|
160
160
|
Mango::Dependencies.create_warning_for(LoadError.new("no such file to load -- yard"))
|
161
161
|
Mango::Dependencies.create_warning_for(LoadError.new("no such file to load -- bluecloth"))
|
162
162
|
Mango::Dependencies.render_warnings
|
data/spec/mango/version_spec.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mango
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 561593429
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 5
|
9
9
|
- 0
|
10
|
-
-
|
11
|
-
version: 0.5.0.
|
10
|
+
- beta4
|
11
|
+
version: 0.5.0.beta4
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Ryan Sobol
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-10-
|
19
|
+
date: 2010-10-24 00:00:00 -07:00
|
20
20
|
default_executable: mango
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -59,11 +59,12 @@ dependencies:
|
|
59
59
|
requirements:
|
60
60
|
- - ~>
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
hash:
|
62
|
+
hash: 23
|
63
63
|
segments:
|
64
64
|
- 1
|
65
65
|
- 0
|
66
|
-
|
66
|
+
- 0
|
67
|
+
version: 1.0.0
|
67
68
|
type: :runtime
|
68
69
|
version_requirements: *id003
|
69
70
|
- !ruby/object:Gem::Dependency
|
@@ -288,16 +289,18 @@ require_paths:
|
|
288
289
|
required_ruby_version: !ruby/object:Gem::Requirement
|
289
290
|
none: false
|
290
291
|
requirements:
|
291
|
-
- -
|
292
|
+
- - ~>
|
292
293
|
- !ruby/object:Gem::Version
|
293
|
-
hash:
|
294
|
+
hash: 49
|
294
295
|
segments:
|
295
|
-
-
|
296
|
-
|
296
|
+
- 1
|
297
|
+
- 9
|
298
|
+
- 1
|
299
|
+
version: 1.9.1
|
297
300
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
298
301
|
none: false
|
299
302
|
requirements:
|
300
|
-
- -
|
303
|
+
- - ~>
|
301
304
|
- !ruby/object:Gem::Version
|
302
305
|
hash: 21
|
303
306
|
segments:
|