contao 0.4.0 → 0.4.1
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/.travis.yml +13 -0
- data/README.md +139 -9
- data/contao.gemspec +19 -5
- data/lib/contao.rb +1 -1
- data/lib/contao/application.rb +4 -1
- data/lib/contao/commands/application.rb +14 -0
- data/lib/contao/commands/help.rb +11 -6
- data/lib/{core_ext → contao/core_ext}/object.rb +0 -0
- data/lib/contao/generators/config.rb +33 -0
- data/lib/contao/notifier.rb +14 -17
- data/lib/contao/tasks/contao.rake +4 -1
- data/lib/contao/version.rb +1 -1
- data/spec/lib/contao/generators/config_spec.rb +67 -0
- data/spec/lib/contao/notifier_spec.rb +42 -9
- data/spec/lib/contao_spec.rb +2 -4
- metadata +14 -9
data/.travis.yml
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
language: ruby
|
2
|
+
rvm:
|
3
|
+
- 1.9.2
|
4
|
+
- 1.9.3
|
5
|
+
- rbx-19mode
|
6
|
+
- jruby-19mode
|
7
|
+
matrix:
|
8
|
+
allow_failures:
|
9
|
+
- rvm: rbx-19mode # We have some failing specs we need to take care of
|
10
|
+
- rvm: jruby-19mode # This is more complicated as we need the oily_ong gem but it doesn't work for Jruby
|
11
|
+
notifications:
|
12
|
+
recipients:
|
13
|
+
- wael.nasreddine@gmail.com
|
data/README.md
CHANGED
@@ -1,24 +1,113 @@
|
|
1
1
|
# Contao
|
2
2
|
|
3
|
-
|
3
|
+
Welcome to Contao!
|
4
|
+
[](http://travis-ci.org/TechnoGate/contao)
|
6
|
+
[](https://gemnasium.com/TechnoGate/contao)
|
4
7
|
|
5
|
-
|
8
|
+
This gem will help you to quickly generate an application using [Contao
|
9
|
+
CMS](http://www.contao.org/en/) which has pre-built support for Sass,
|
10
|
+
Compass, CoffeeScript, Jasmine and Capistrano.
|
11
|
+
|
12
|
+
It also feature hashed assets served by the [Contao Assets
|
13
|
+
extension](https://github.com/TechnoGate/contao_assets), which allows you
|
14
|
+
to have an md5 appended to each of your assets URL on the production
|
15
|
+
site.
|
16
|
+
|
17
|
+
The integration with Capistrano allows you to quickly deploy, copy
|
18
|
+
assets, import database and even upload media such as images and PDFs
|
19
|
+
all from the command line using Capistrano.
|
20
|
+
|
21
|
+
## Pre-requisites
|
22
|
+
|
23
|
+
Before installing the gem, you need to make you are running on a Ruby
|
24
|
+
version 1.9.2 or greater as this Gem and most of it's dependencies do
|
25
|
+
not support Ruby 1.8, to check the version you are running, uee the
|
26
|
+
following command:
|
6
27
|
|
7
|
-
|
28
|
+
```bash
|
29
|
+
ruby --version
|
30
|
+
```
|
8
31
|
|
9
|
-
|
32
|
+
If you're running a ruby version below 1.9, please install a 1.9 version
|
33
|
+
by following the guide at the [Rbenv
|
34
|
+
Installer](https://github.com/fesplugas/rbenv-installer) project.
|
10
35
|
|
11
|
-
|
36
|
+
## Installation
|
12
37
|
|
13
|
-
|
38
|
+
Install contao with the following command
|
14
39
|
|
15
|
-
|
40
|
+
```ruby
|
41
|
+
gem install contao
|
42
|
+
```
|
16
43
|
|
17
|
-
|
44
|
+
Don't forget to run `rbenv rehash` if you are using
|
45
|
+
**[rbenv](https://github.com/sstephenson/rbenv)** as this gem provides
|
46
|
+
an executable.
|
18
47
|
|
19
48
|
## Usage
|
20
49
|
|
21
|
-
|
50
|
+
### Generating a config file
|
51
|
+
|
52
|
+
To start using contao, you need to generate a config file, issue the
|
53
|
+
command
|
54
|
+
|
55
|
+
```bash
|
56
|
+
contao generate config
|
57
|
+
```
|
58
|
+
|
59
|
+
and follow the on-screen instructions.
|
60
|
+
|
61
|
+
### Generate a new project
|
62
|
+
|
63
|
+
Generating a new project is very easy, just use the following command:
|
64
|
+
|
65
|
+
```bash
|
66
|
+
contao new /path/to/my_project
|
67
|
+
```
|
68
|
+
|
69
|
+
This command will generate an application called `my\_project` in the
|
70
|
+
folder `/path/to`, the application name is very important as it defaults
|
71
|
+
to the name of your database, check the [Database name](#database-name)
|
72
|
+
section below for more information.
|
73
|
+
|
74
|
+
### Initialising the project
|
75
|
+
|
76
|
+
Once the project generator has completed, cd into the newsly created
|
77
|
+
project and bootstrap contao by running
|
78
|
+
|
79
|
+
```bash
|
80
|
+
bundle exec rake contao:bootstrap
|
81
|
+
```
|
82
|
+
|
83
|
+
Now visit `/contao/install.php` or just visit the website and you should
|
84
|
+
be redirected to the Installation script, from here on it is the usual
|
85
|
+
Contao installation procedure, please check [Contao's user
|
86
|
+
guide](http://www.contao.org/en/installing-contao.html#install-tool) for
|
87
|
+
detailed information
|
88
|
+
|
89
|
+
### Work on the project
|
90
|
+
|
91
|
+
To be able to develop with this version of Contao, you first need to
|
92
|
+
understand how it actually works.
|
93
|
+
|
94
|
+
TODO: Continue this section
|
95
|
+
|
96
|
+
## Database name
|
97
|
+
|
98
|
+
Locally, the database name is the same as the application name, so if
|
99
|
+
you named your project is named **my_project**, the database name will be
|
100
|
+
named **my_project**.
|
101
|
+
|
102
|
+
On the server, Capistrano will append the environment on which the
|
103
|
+
deployment occured (check the deployment section below for more
|
104
|
+
information) to the application name, so if your project is named
|
105
|
+
**my_project** and you are deployment to the staging environment, the
|
106
|
+
database name would default to **my_project_staging**
|
107
|
+
|
108
|
+
## Deploying
|
109
|
+
|
110
|
+
TODO: Write this section
|
22
111
|
|
23
112
|
## Contributing
|
24
113
|
|
@@ -27,3 +116,44 @@ TODO: Write usage instructions here
|
|
27
116
|
3. Commit your changes (`git commit -am 'Added some feature'`)
|
28
117
|
4. Push to the branch (`git push origin my-new-feature`)
|
29
118
|
5. Create new Pull Request
|
119
|
+
|
120
|
+
Or
|
121
|
+
|
122
|
+
[](http://www.pledgie.com/campaigns/16123)
|
123
|
+
|
124
|
+
## Contact
|
125
|
+
|
126
|
+
For bugs and feature request, please use __Github issues__, for other
|
127
|
+
requests, you may use:
|
128
|
+
|
129
|
+
- [Google Groups](http://groups.google.com/group/janus-vimius)
|
130
|
+
- [Github private message](https://github.com/inbox/new/eMxyzptlk)
|
131
|
+
- Email: [contact@technogate.fr](mailto:contact@technogate.fr)
|
132
|
+
|
133
|
+
Don't forget to follow me on [Github](https://github.com/eMxyzptlk) and
|
134
|
+
[Twitter](https://twitter.com/eMxyzptlk) for news and updates.
|
135
|
+
|
136
|
+
## License
|
137
|
+
|
138
|
+
### This code is free to use under the terms of the MIT license.
|
139
|
+
|
140
|
+
Copyright (c) 2011 TechnoGate <support@technogate.fr>
|
141
|
+
|
142
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
143
|
+
a copy of this software and associated documentation files (the
|
144
|
+
"Software"), to deal in the Software without restriction, including
|
145
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
146
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
147
|
+
permit persons to whom the Software is furnished to do so, subject to
|
148
|
+
the following conditions:
|
149
|
+
|
150
|
+
The above copyright notice and this permission notice shall be included
|
151
|
+
in all copies or substantial portions of the Software.
|
152
|
+
|
153
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
154
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
155
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
156
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
157
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
158
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
159
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/contao.gemspec
CHANGED
@@ -2,19 +2,33 @@
|
|
2
2
|
require File.expand_path('../lib/contao/version', __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
|
-
gem.authors = [
|
6
|
-
gem.email = [
|
5
|
+
gem.authors = ['Wael Nasreddine']
|
6
|
+
gem.email = ['wael.nasreddine@gmail.com']
|
7
7
|
gem.description = %q{Contao Integration with Compass, Sass, Coffee-script, Rake, Guard with asset pre-compiler and asset-manifest generator}
|
8
|
-
gem.summary =
|
8
|
+
gem.summary = <<-EOS
|
9
|
+
This gem will help you to quickly generate an application using Contao
|
10
|
+
CMS which has pre-built support for Sass, Compass, CoffeeScript, Jasmine
|
11
|
+
and Capistrano.
|
12
|
+
|
13
|
+
It also feature hashed assets served by the Contao Assets extension,
|
14
|
+
which allows you to have an md5 appended to each of your assets URL on
|
15
|
+
the production site.
|
16
|
+
|
17
|
+
The integration with Capistrano allows you to quickly deploy, copy
|
18
|
+
assets, import database and even upload media such as images and PDFs
|
19
|
+
all from the command line using Capistrano.
|
20
|
+
EOS
|
9
21
|
gem.homepage = ""
|
22
|
+
gem.required_ruby_version = Gem::Requirement.new('>= 1.9.2')
|
10
23
|
|
11
24
|
gem.files = `git ls-files`.split($\)
|
12
25
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
26
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
-
gem.name =
|
15
|
-
gem.require_paths = [
|
27
|
+
gem.name = 'contao'
|
28
|
+
gem.require_paths = ['lib']
|
16
29
|
gem.version = Contao::VERSION
|
17
30
|
|
31
|
+
|
18
32
|
# Runtime dependencies
|
19
33
|
gem.add_dependency 'rake'
|
20
34
|
gem.add_dependency 'compass'
|
data/lib/contao.rb
CHANGED
data/lib/contao/application.rb
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
require 'yaml'
|
2
|
+
require 'ostruct'
|
3
|
+
require 'singleton'
|
4
|
+
require 'contao/core_ext/object'
|
2
5
|
|
3
6
|
module TechnoGate
|
4
7
|
module Contao
|
@@ -49,7 +52,7 @@ module TechnoGate
|
|
49
52
|
{
|
50
53
|
'install_password' => '',
|
51
54
|
'encryption_key' => '',
|
52
|
-
'admin_email' => '
|
55
|
+
'admin_email' => 'admin@example.com',
|
53
56
|
'time_zone' => 'Europe/Paris',
|
54
57
|
'mysql' => {
|
55
58
|
'host' => 'localhost',
|
@@ -9,6 +9,20 @@ case ARGV[0]
|
|
9
9
|
when 'new'
|
10
10
|
require 'contao/generators/application'
|
11
11
|
TechnoGate::Contao::Generators::Application.new(path: ARGV[1]).generate
|
12
|
+
when 'generate'
|
13
|
+
case ARGV[1]
|
14
|
+
when 'config'
|
15
|
+
require 'contao/generators/config'
|
16
|
+
begin
|
17
|
+
TechnoGate::Contao::Generators::Config.new.generate
|
18
|
+
rescue TechnoGate::Contao::Generators::Config::AlreadyExists
|
19
|
+
require 'contao/notifier'
|
20
|
+
TechnoGate::Contao::Notifier.error "The configuration file exists and cannot be overwritten", title: "Config Generator"
|
21
|
+
end
|
22
|
+
else
|
23
|
+
require 'contao/commands/help'
|
24
|
+
print_help
|
25
|
+
end
|
12
26
|
else
|
13
27
|
require 'contao/commands/help'
|
14
28
|
print_help
|
data/lib/contao/commands/help.rb
CHANGED
@@ -2,16 +2,21 @@ def print_help
|
|
2
2
|
puts <<-EOH.gsub(/ [ ]+/, ' ')
|
3
3
|
Welcome to Contao!
|
4
4
|
|
5
|
-
This gem will help you to quickly generate an application using
|
6
|
-
|
7
|
-
Capistrano.
|
5
|
+
This gem will help you to quickly generate an application using Contao
|
6
|
+
CMS which has pre-built support for Sass, Compass, CoffeeScript, Jasmine
|
7
|
+
and Capistrano.
|
8
8
|
|
9
|
-
It also feature hashed assets served by the Contao Assets extension,
|
10
|
-
allows you to have an md5 appended to each of your assets
|
9
|
+
It also feature hashed assets served by the Contao Assets extension,
|
10
|
+
which allows you to have an md5 appended to each of your assets URL on
|
11
|
+
the production site.
|
12
|
+
|
13
|
+
The integration with Capistrano allows you to quickly deploy, copy
|
14
|
+
assets, import database and even upload media such as images and PDFs
|
15
|
+
all from the command line using Capistrano.
|
11
16
|
|
12
17
|
To generate a new project, use the following command:
|
13
18
|
|
14
|
-
|
19
|
+
$ contao new /path/to/application
|
15
20
|
|
16
21
|
The generated application will be created at /path/to/application and the
|
17
22
|
application name would be set to the last component in the path, in this
|
File without changes
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'contao/generators/base'
|
2
|
+
require 'contao/application'
|
3
|
+
require 'contao/notifier'
|
4
|
+
require 'fileutils'
|
5
|
+
|
6
|
+
module TechnoGate
|
7
|
+
module Contao
|
8
|
+
module Generators
|
9
|
+
class Config < Base
|
10
|
+
class AlreadyExists < RuntimeError; end
|
11
|
+
|
12
|
+
def generate
|
13
|
+
raise AlreadyExists if File.exists?(global_config_path)
|
14
|
+
|
15
|
+
FileUtils.mkdir_p File.dirname(global_config_path)
|
16
|
+
File.open global_config_path, 'w' do |config|
|
17
|
+
config.write YAML.dump(Contao::Application.default_global_config)
|
18
|
+
end
|
19
|
+
|
20
|
+
message = <<-EOS.gsub(/ [ ]+/, '').gsub("\n", ' ').chop
|
21
|
+
The configuration file has been created at ~/.contao/config.yml,
|
22
|
+
you need to edit this file before working with contao
|
23
|
+
EOS
|
24
|
+
Notifier.notify message, title: 'Config Generator'
|
25
|
+
end
|
26
|
+
|
27
|
+
def global_config_path
|
28
|
+
Contao::Application.instance.global_config_path
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/contao/notifier.rb
CHANGED
@@ -1,38 +1,35 @@
|
|
1
|
-
require 'singleton'
|
2
1
|
require 'guard'
|
3
2
|
|
4
3
|
module TechnoGate
|
5
4
|
module Contao
|
6
|
-
|
7
|
-
|
5
|
+
module Notifier
|
6
|
+
extend self
|
8
7
|
|
9
8
|
def notify(message, options = {})
|
10
|
-
|
11
|
-
|
12
|
-
else
|
13
|
-
message = "Contao>> #{message}"
|
14
|
-
end
|
9
|
+
say(message, options.merge(color: 32))
|
10
|
+
end
|
15
11
|
|
16
|
-
|
12
|
+
def warn(message, options = {})
|
13
|
+
say(message, options.merge(color: 33))
|
17
14
|
end
|
18
15
|
|
19
|
-
def
|
20
|
-
|
16
|
+
def error(message, options = {})
|
17
|
+
say(message, options.merge(color: 31))
|
21
18
|
end
|
22
19
|
|
23
|
-
|
20
|
+
protected
|
21
|
+
|
22
|
+
def say(message, options = {})
|
23
|
+
color = options.delete(:color)
|
24
|
+
|
24
25
|
if ::Guard::UI.send(:color_enabled?)
|
25
|
-
message = "\e[0;34mContao>>\e[0m \e[0
|
26
|
+
message = "\e[0;34mContao>>\e[0m \e[0;#{color}m#{message}\e[0m"
|
26
27
|
else
|
27
28
|
message = "Contao>> #{message}"
|
28
29
|
end
|
29
30
|
|
30
31
|
::Guard::UI.info(message, options)
|
31
32
|
end
|
32
|
-
|
33
|
-
def self.warn(*args, &block)
|
34
|
-
instance.warn(*args, &block)
|
35
|
-
end
|
36
33
|
end
|
37
34
|
end
|
38
35
|
end
|
@@ -27,11 +27,11 @@ namespace :contao do
|
|
27
27
|
FileUtils.mkdir_p public.join('system/logs')
|
28
28
|
File.open(public.join('sitemap.xml'), 'w') {|f| f.write ''}
|
29
29
|
|
30
|
-
Rake::Task['contao:fix_permissions'].invoke
|
31
30
|
Rake::Task['contao:generate_localconfig'].invoke
|
32
31
|
Rake::Task['contao:generate_htaccess'].invoke
|
33
32
|
Rake::Task['contao:apply_patches'].invoke
|
34
33
|
Rake::Task['assets:precompile'].invoke
|
34
|
+
Rake::Task['contao:fix_permissions'].invoke
|
35
35
|
|
36
36
|
TechnoGate::Contao::Notifier.notify("The contao folder has been bootstraped, Good Luck.", title: "Contao Bootstrap")
|
37
37
|
end
|
@@ -64,10 +64,13 @@ namespace :contao do
|
|
64
64
|
'system/scripts',
|
65
65
|
'system/tmp',
|
66
66
|
'system/cache',
|
67
|
+
'system/config',
|
67
68
|
].map {|p| public.join p}.reject {|p| !File.exists? p}
|
68
69
|
|
69
70
|
FileUtils.chmod 0777, paths
|
70
71
|
|
72
|
+
FileUtils.chmod 0666, Dir["#{public}/system/config/**/*.php"]
|
73
|
+
|
71
74
|
Dir["#{public}/system/modules/efg/**/*"].each do |f|
|
72
75
|
if File.directory?(f)
|
73
76
|
FileUtils.chmod 0777, f
|
data/lib/contao/version.rb
CHANGED
@@ -0,0 +1,67 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'contao/generators/config'
|
3
|
+
|
4
|
+
module TechnoGate
|
5
|
+
module Contao
|
6
|
+
module Generators
|
7
|
+
describe Config do
|
8
|
+
let(:klass) { Config }
|
9
|
+
subject {
|
10
|
+
Config.new path: @path
|
11
|
+
}
|
12
|
+
|
13
|
+
before :each do
|
14
|
+
@path = '/root/my_awesome_project'
|
15
|
+
@config_path = "#{ENV['HOME']}/.contao/config.yml"
|
16
|
+
Notifier.stub :notify
|
17
|
+
end
|
18
|
+
|
19
|
+
it_should_behave_like "Generator"
|
20
|
+
|
21
|
+
describe '#generate', :fakefs do
|
22
|
+
before :each do
|
23
|
+
stub_filesystem!
|
24
|
+
FileUtils.rm_rf File.dirname(@config_path)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should create ~/.contao" do
|
28
|
+
subject.generate
|
29
|
+
|
30
|
+
File.exists?(File.dirname(@config_path)).should be_true
|
31
|
+
end
|
32
|
+
|
33
|
+
it "the config file should exists" do
|
34
|
+
subject.generate
|
35
|
+
|
36
|
+
File.exists?(@config_path).should be_true
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should generate the config file" do
|
40
|
+
subject.generate
|
41
|
+
|
42
|
+
File.read("#{ENV['HOME']}/.contao/config.yml").should ==
|
43
|
+
YAML.dump(Contao::Application.default_global_config)
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should call the Notifier" do
|
47
|
+
message = <<-EOS.gsub(/ [ ]+/, '').gsub("\n", ' ').chop
|
48
|
+
The configuration file has been created at ~/.contao/config.yml,
|
49
|
+
you need to edit this file before working with contao
|
50
|
+
EOS
|
51
|
+
Notifier.should_receive(:notify).with(message, title: 'Config Generator').once
|
52
|
+
|
53
|
+
subject.generate
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should raise ConfigAlreadyExists if the config already exists" do
|
57
|
+
subject.generate
|
58
|
+
|
59
|
+
expect do
|
60
|
+
subject.generate
|
61
|
+
end.to raise_error(Config::AlreadyExists)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -3,11 +3,6 @@ require 'spec_helper'
|
|
3
3
|
module TechnoGate
|
4
4
|
module Contao
|
5
5
|
describe Notifier do
|
6
|
-
subject { Notifier.instance }
|
7
|
-
let(:klass) { Notifier }
|
8
|
-
|
9
|
-
it_should_behave_like "Singleton"
|
10
|
-
|
11
6
|
describe '#notify' do
|
12
7
|
before :each do
|
13
8
|
@message = "Hello"
|
@@ -40,9 +35,9 @@ module TechnoGate
|
|
40
35
|
end
|
41
36
|
|
42
37
|
it "should be accessible at class level" do
|
43
|
-
|
38
|
+
subject.should_receive(:notify).with(@message, @options)
|
44
39
|
|
45
|
-
|
40
|
+
subject.notify(@message, @options)
|
46
41
|
end
|
47
42
|
end
|
48
43
|
|
@@ -78,9 +73,47 @@ module TechnoGate
|
|
78
73
|
end
|
79
74
|
|
80
75
|
it "should be accessible at class level" do
|
81
|
-
|
76
|
+
subject.should_receive(:warn).with(@message, @options)
|
77
|
+
|
78
|
+
subject.warn(@message, @options)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
describe '#error' do
|
83
|
+
before :each do
|
84
|
+
@message = "Hello"
|
85
|
+
@output = "Contao>> #{@message}"
|
86
|
+
@colored_output = "\e[0;34mContao>>\e[0m \e[0;31m#{@message}\e[0m"
|
87
|
+
@options = {title: "Hello, World!"}
|
88
|
+
|
89
|
+
::Guard::UI.stub(:color_enabled?).and_return(false)
|
90
|
+
end
|
91
|
+
|
92
|
+
it {should respond_to :error}
|
93
|
+
|
94
|
+
it "should call guard ui" do
|
95
|
+
::Guard::UI.should_receive(:info).with(@output, {})
|
96
|
+
|
97
|
+
subject.error(@message)
|
98
|
+
end
|
99
|
+
|
100
|
+
it "should send whatever options passed to the info method" do
|
101
|
+
::Guard::UI.should_receive(:info).with(@output, @options)
|
102
|
+
|
103
|
+
subject.error(@message, @options)
|
104
|
+
end
|
105
|
+
|
106
|
+
it "should use colors if enabled" do
|
107
|
+
::Guard::UI.should_receive(:color_enabled?).once.and_return(true)
|
108
|
+
::Guard::UI.should_receive(:info).with(@colored_output, @options)
|
109
|
+
|
110
|
+
subject.error(@message, @options)
|
111
|
+
end
|
112
|
+
|
113
|
+
it "should be accessible at class level" do
|
114
|
+
subject.should_receive(:error).with(@message, @options)
|
82
115
|
|
83
|
-
|
116
|
+
subject.error(@message, @options)
|
84
117
|
end
|
85
118
|
end
|
86
119
|
end
|
data/spec/lib/contao_spec.rb
CHANGED
@@ -33,10 +33,8 @@ module TechnoGate
|
|
33
33
|
end
|
34
34
|
|
35
35
|
it "should set the @@root" do
|
36
|
-
|
37
|
-
|
38
|
-
subject.class_variable_get(:@@root).should == Pathname.new(root).expand_path
|
39
|
-
end
|
36
|
+
subject.root = '~/Desktop'
|
37
|
+
subject.class_variable_get(:@@root).should == Pathname.new('~/Desktop').expand_path
|
40
38
|
end
|
41
39
|
end
|
42
40
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: contao
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -214,6 +214,7 @@ extra_rdoc_files: []
|
|
214
214
|
files:
|
215
215
|
- .gitignore
|
216
216
|
- .rspec
|
217
|
+
- .travis.yml
|
217
218
|
- Gemfile
|
218
219
|
- LICENSE
|
219
220
|
- README.md
|
@@ -227,8 +228,10 @@ files:
|
|
227
228
|
- lib/contao/commands/application.rb
|
228
229
|
- lib/contao/commands/help.rb
|
229
230
|
- lib/contao/compiler.rb
|
231
|
+
- lib/contao/core_ext/object.rb
|
230
232
|
- lib/contao/generators/application.rb
|
231
233
|
- lib/contao/generators/base.rb
|
234
|
+
- lib/contao/generators/config.rb
|
232
235
|
- lib/contao/javascript_compiler.rb
|
233
236
|
- lib/contao/notifier.rb
|
234
237
|
- lib/contao/stylesheet_compiler.rb
|
@@ -239,7 +242,6 @@ files:
|
|
239
242
|
- lib/contao/tasks/whitespace.rake
|
240
243
|
- lib/contao/version.rb
|
241
244
|
- lib/contao_patches/development/development_htaccess.patch
|
242
|
-
- lib/core_ext/object.rb
|
243
245
|
- lib/guard/assets.rb
|
244
246
|
- lib/monkey_patches.rb
|
245
247
|
- lib/monkey_patches/compass/urls.rb
|
@@ -247,6 +249,7 @@ files:
|
|
247
249
|
- spec/lib/contao/coffeescript_compiler_spec.rb
|
248
250
|
- spec/lib/contao/generators/application_spec.rb
|
249
251
|
- spec/lib/contao/generators/base_spec.rb
|
252
|
+
- spec/lib/contao/generators/config_spec.rb
|
250
253
|
- spec/lib/contao/javascript_compiler_spec.rb
|
251
254
|
- spec/lib/contao/notifier_spec.rb
|
252
255
|
- spec/lib/contao/stylesheet_compiler_spec.rb
|
@@ -269,10 +272,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
269
272
|
requirements:
|
270
273
|
- - ! '>='
|
271
274
|
- !ruby/object:Gem::Version
|
272
|
-
version:
|
273
|
-
segments:
|
274
|
-
- 0
|
275
|
-
hash: 4578868734635956444
|
275
|
+
version: 1.9.2
|
276
276
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
277
277
|
none: false
|
278
278
|
requirements:
|
@@ -281,19 +281,24 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
281
281
|
version: '0'
|
282
282
|
segments:
|
283
283
|
- 0
|
284
|
-
hash:
|
284
|
+
hash: -2428308955429716338
|
285
285
|
requirements: []
|
286
286
|
rubyforge_project:
|
287
287
|
rubygems_version: 1.8.24
|
288
288
|
signing_key:
|
289
289
|
specification_version: 3
|
290
|
-
summary:
|
291
|
-
pre-
|
290
|
+
summary: This gem will help you to quickly generate an application using Contao CMS
|
291
|
+
which has pre-built support for Sass, Compass, CoffeeScript, Jasmine and Capistrano. It
|
292
|
+
also feature hashed assets served by the Contao Assets extension, which allows you
|
293
|
+
to have an md5 appended to each of your assets URL on the production site. The
|
294
|
+
integration with Capistrano allows you to quickly deploy, copy assets, import database
|
295
|
+
and even upload media such as images and PDFs all from the command line using Capistrano.
|
292
296
|
test_files:
|
293
297
|
- spec/lib/contao/application_spec.rb
|
294
298
|
- spec/lib/contao/coffeescript_compiler_spec.rb
|
295
299
|
- spec/lib/contao/generators/application_spec.rb
|
296
300
|
- spec/lib/contao/generators/base_spec.rb
|
301
|
+
- spec/lib/contao/generators/config_spec.rb
|
297
302
|
- spec/lib/contao/javascript_compiler_spec.rb
|
298
303
|
- spec/lib/contao/notifier_spec.rb
|
299
304
|
- spec/lib/contao/stylesheet_compiler_spec.rb
|