groove 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +8 -34
- data/Rakefile +2 -5
- data/VERSION +1 -1
- data/bin/groove +17 -7
- data/groove.gemspec +9 -19
- metadata +4 -35
- data/lib/groove.rb +0 -49
data/README.md
CHANGED
@@ -14,41 +14,15 @@ groove weekapaug
|
|
14
14
|
create weekapaug/templates/index.html
|
15
15
|
create weekapaug/views/index.rb
|
16
16
|
|
17
|
-
|
17
|
+
Example deploy
|
18
|
+
--------------
|
18
19
|
|
19
|
-
|
20
|
-
|
21
|
-
get '/' do
|
22
|
-
effigy :index
|
23
|
-
end
|
24
|
-
|
25
|
-
cat templates/index.html
|
26
|
-
|
27
|
-
<!DOCTYPE html>
|
28
|
-
<html>
|
29
|
-
<head>
|
30
|
-
<title>weekapaug</title>
|
31
|
-
</head>
|
32
|
-
<body>
|
33
|
-
<h1>weekapaug</h1>
|
34
|
-
</body>
|
35
|
-
</html>
|
36
|
-
|
37
|
-
vim views/index.rb
|
38
|
-
|
39
|
-
class IndexView < Effigy::View
|
40
|
-
def transform
|
41
|
-
text('h1', DB['grooves'].find(:name => 'weekapaug'))
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
Designed for Heroku and MongoHQ
|
46
|
-
-------------------------------
|
20
|
+
Using Heroku and MongoHQ.
|
47
21
|
|
48
22
|
heroku config
|
49
23
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
HOPTOAD
|
24
|
+
MONGO_DB => mongodatabasename
|
25
|
+
MONGO_HOST => db.mongohq.com
|
26
|
+
MONGO_USER => user
|
27
|
+
MONGO_PASSWORD => password
|
28
|
+
HOPTOAD => apikey123
|
data/Rakefile
CHANGED
@@ -10,12 +10,9 @@ Jeweler::Tasks.new do |gem|
|
|
10
10
|
gem.bindir = "bin"
|
11
11
|
gem.executables = ["groove"]
|
12
12
|
|
13
|
-
gem.add_dependency('sinatra')
|
14
|
-
gem.add_dependency('
|
15
|
-
gem.add_dependency('mongo_ext')
|
16
|
-
gem.add_dependency('effigy')
|
13
|
+
gem.add_dependency('sinatra-effigy')
|
14
|
+
gem.add_dependency('sinatra-mongoid')
|
17
15
|
gem.add_dependency('rack_hoptoad')
|
18
|
-
gem.add_dependency('x')
|
19
16
|
gem.add_dependency('thor')
|
20
17
|
end
|
21
18
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.4
|
data/bin/groove
CHANGED
@@ -11,7 +11,8 @@ class Groove < Thor::Group
|
|
11
11
|
def create_dotfile
|
12
12
|
create_file("#{name}/.gems") do
|
13
13
|
<<-RUBY
|
14
|
-
|
14
|
+
sinatra-effigy
|
15
|
+
sinatra-mongoid
|
15
16
|
RUBY
|
16
17
|
end
|
17
18
|
end
|
@@ -19,13 +20,11 @@ RUBY
|
|
19
20
|
def create_rackup
|
20
21
|
create_file("#{name}/config.ru") do
|
21
22
|
<<-RUBY
|
22
|
-
require 'groove'
|
23
|
-
Groove.config = { :db => ENV['DATABASE'] || '#{name}',
|
24
|
-
:db_url => ENV['DATABASE_URL'] || 'localhost',
|
25
|
-
:db_user => ENV['DATABASE_USER'],
|
26
|
-
:db_password => ENV['DATABASE_PASSWORD'],
|
27
|
-
:hoptoad => ENV['HOPTOAD'] }
|
28
23
|
require 'app'
|
24
|
+
require 'rack_hoptoad'
|
25
|
+
|
26
|
+
use Rack::HoptoadNotifier, ENV['HOPTOAD'] || '1234'
|
27
|
+
|
29
28
|
run Sinatra::Application
|
30
29
|
RUBY
|
31
30
|
end
|
@@ -34,6 +33,17 @@ RUBY
|
|
34
33
|
def create_app
|
35
34
|
create_file("#{name}/app.rb") do
|
36
35
|
<<-RUBY
|
36
|
+
require 'rubygems'
|
37
|
+
require 'sinatra'
|
38
|
+
require 'sinatra/effigy'
|
39
|
+
require 'sinatra/mongoid'
|
40
|
+
|
41
|
+
set :mongo_db, '#{name}'
|
42
|
+
|
43
|
+
configure :production do
|
44
|
+
enable :raise_errors
|
45
|
+
end
|
46
|
+
|
37
47
|
get '/' do
|
38
48
|
effigy :index
|
39
49
|
end
|
data/groove.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{groove}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Dan Croak"]
|
12
|
-
s.date = %q{2010-01-
|
12
|
+
s.date = %q{2010-01-14}
|
13
13
|
s.default_executable = %q{groove}
|
14
14
|
s.description = %q{Generator to create a Sinatra, MongoDB, Effigy, and Hoptoad web app.}
|
15
15
|
s.email = %q{dcroak@thoughtbot.com}
|
@@ -24,8 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
"VERSION",
|
25
25
|
"bin/groove",
|
26
26
|
"groove.gemspec",
|
27
|
-
"install.rb"
|
28
|
-
"lib/groove.rb"
|
27
|
+
"install.rb"
|
29
28
|
]
|
30
29
|
s.homepage = %q{http://github.com/dancroak/groove}
|
31
30
|
s.rdoc_options = ["--charset=UTF-8"]
|
@@ -38,29 +37,20 @@ Gem::Specification.new do |s|
|
|
38
37
|
s.specification_version = 3
|
39
38
|
|
40
39
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
41
|
-
s.add_runtime_dependency(%q<sinatra>, [">= 0"])
|
42
|
-
s.add_runtime_dependency(%q<
|
43
|
-
s.add_runtime_dependency(%q<mongo_ext>, [">= 0"])
|
44
|
-
s.add_runtime_dependency(%q<effigy>, [">= 0"])
|
40
|
+
s.add_runtime_dependency(%q<sinatra-effigy>, [">= 0"])
|
41
|
+
s.add_runtime_dependency(%q<sinatra-mongoid>, [">= 0"])
|
45
42
|
s.add_runtime_dependency(%q<rack_hoptoad>, [">= 0"])
|
46
|
-
s.add_runtime_dependency(%q<x>, [">= 0"])
|
47
43
|
s.add_runtime_dependency(%q<thor>, [">= 0"])
|
48
44
|
else
|
49
|
-
s.add_dependency(%q<sinatra>, [">= 0"])
|
50
|
-
s.add_dependency(%q<
|
51
|
-
s.add_dependency(%q<mongo_ext>, [">= 0"])
|
52
|
-
s.add_dependency(%q<effigy>, [">= 0"])
|
45
|
+
s.add_dependency(%q<sinatra-effigy>, [">= 0"])
|
46
|
+
s.add_dependency(%q<sinatra-mongoid>, [">= 0"])
|
53
47
|
s.add_dependency(%q<rack_hoptoad>, [">= 0"])
|
54
|
-
s.add_dependency(%q<x>, [">= 0"])
|
55
48
|
s.add_dependency(%q<thor>, [">= 0"])
|
56
49
|
end
|
57
50
|
else
|
58
|
-
s.add_dependency(%q<sinatra>, [">= 0"])
|
59
|
-
s.add_dependency(%q<
|
60
|
-
s.add_dependency(%q<mongo_ext>, [">= 0"])
|
61
|
-
s.add_dependency(%q<effigy>, [">= 0"])
|
51
|
+
s.add_dependency(%q<sinatra-effigy>, [">= 0"])
|
52
|
+
s.add_dependency(%q<sinatra-mongoid>, [">= 0"])
|
62
53
|
s.add_dependency(%q<rack_hoptoad>, [">= 0"])
|
63
|
-
s.add_dependency(%q<x>, [">= 0"])
|
64
54
|
s.add_dependency(%q<thor>, [">= 0"])
|
65
55
|
end
|
66
56
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: groove
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Croak
|
@@ -9,11 +9,11 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-14 00:00:00 -05:00
|
13
13
|
default_executable: groove
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name: sinatra
|
16
|
+
name: sinatra-effigy
|
17
17
|
type: :runtime
|
18
18
|
version_requirement:
|
19
19
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -23,27 +23,7 @@ dependencies:
|
|
23
23
|
version: "0"
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
|
-
name:
|
27
|
-
type: :runtime
|
28
|
-
version_requirement:
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: "0"
|
34
|
-
version:
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: mongo_ext
|
37
|
-
type: :runtime
|
38
|
-
version_requirement:
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
40
|
-
requirements:
|
41
|
-
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: "0"
|
44
|
-
version:
|
45
|
-
- !ruby/object:Gem::Dependency
|
46
|
-
name: effigy
|
26
|
+
name: sinatra-mongoid
|
47
27
|
type: :runtime
|
48
28
|
version_requirement:
|
49
29
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -62,16 +42,6 @@ dependencies:
|
|
62
42
|
- !ruby/object:Gem::Version
|
63
43
|
version: "0"
|
64
44
|
version:
|
65
|
-
- !ruby/object:Gem::Dependency
|
66
|
-
name: x
|
67
|
-
type: :runtime
|
68
|
-
version_requirement:
|
69
|
-
version_requirements: !ruby/object:Gem::Requirement
|
70
|
-
requirements:
|
71
|
-
- - ">="
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: "0"
|
74
|
-
version:
|
75
45
|
- !ruby/object:Gem::Dependency
|
76
46
|
name: thor
|
77
47
|
type: :runtime
|
@@ -98,7 +68,6 @@ files:
|
|
98
68
|
- bin/groove
|
99
69
|
- groove.gemspec
|
100
70
|
- install.rb
|
101
|
-
- lib/groove.rb
|
102
71
|
has_rdoc: true
|
103
72
|
homepage: http://github.com/dancroak/groove
|
104
73
|
licenses: []
|
data/lib/groove.rb
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'x'
|
3
|
-
require 'sinatra'
|
4
|
-
require 'mongo'
|
5
|
-
require 'effigy'
|
6
|
-
require 'rack_hoptoad'
|
7
|
-
|
8
|
-
configure :production do
|
9
|
-
enable :raise_errors
|
10
|
-
end
|
11
|
-
|
12
|
-
module Sinatra
|
13
|
-
module Templates
|
14
|
-
def effigy(name)
|
15
|
-
root = File.join File.dirname(__FILE__)
|
16
|
-
require File.join(root, "views", "#{name}.rb")
|
17
|
-
template = File.read File.join(root, "templates", "#{name}.html")
|
18
|
-
view = Object.const_get("#{name}_view".camel_case).new
|
19
|
-
view.render(template)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
include Mongo
|
25
|
-
|
26
|
-
class Groove
|
27
|
-
class << self
|
28
|
-
attr_accessor :config
|
29
|
-
|
30
|
-
def on(config)
|
31
|
-
self.config = { :db => 'app', :db_url => 'localhost', :hoptoad => '1234' }
|
32
|
-
self.config.merge(config)
|
33
|
-
|
34
|
-
mongo
|
35
|
-
hoptoad
|
36
|
-
end
|
37
|
-
|
38
|
-
def mongo
|
39
|
-
DB = Connection.new(config[:db_url]).db(config[:db])
|
40
|
-
if config[:db_user] && config[:db_password]
|
41
|
-
DB.authenticate(config[:db_user], config[:db_password])
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def hoptoad
|
46
|
-
use Rack::HoptoadNotifier, config[:hoptoad]
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|