groove 0.0.6 → 0.1.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.
Files changed (7) hide show
  1. data/README.md +11 -5
  2. data/Rakefile +4 -3
  3. data/VERSION +1 -1
  4. data/bin/groove +44 -52
  5. data/groove.gemspec +10 -6
  6. data/install.rb +1 -0
  7. metadata +19 -8
data/README.md CHANGED
@@ -1,22 +1,29 @@
1
1
  Groove
2
2
  ======
3
3
 
4
- A web application stack composed of Sinatra, MongoDB, Effigy, and Hoptoad.
4
+ Generator to create a Sinatra, MongoDB, Effigy, and Hoptoad web app.
5
5
 
6
6
  Usage
7
7
  -----
8
8
 
9
- thor groove weekapaug
9
+ groove weekapaug
10
+
11
+ create weekapaug/config.ru
12
+ create weekapaug/app.rb
13
+ create weekapaug/templates/index.html
14
+ create weekapaug/views/index.rb
15
+
16
+ cd weekapaug
10
17
 
11
18
  vim templates/index.html
12
19
 
13
20
  <!DOCTYPE html>
14
21
  <html>
15
22
  <head>
16
- <title>weekapaug groove</title>
23
+ <title>weekapaug</title>
17
24
  </head>
18
25
  <body>
19
- <h1>sharing in the weekapaug groove</h1>
26
+ <h1>weekapaug</h1>
20
27
  </body>
21
28
  </html>
22
29
 
@@ -38,4 +45,3 @@ heroku config
38
45
  DATABASE_USER => user
39
46
  DATABASE_PASSWORD => password
40
47
  HOPTOAD => apikey123
41
-
data/Rakefile CHANGED
@@ -2,19 +2,20 @@ require 'jeweler'
2
2
 
3
3
  Jeweler::Tasks.new do |gem|
4
4
  gem.name = "groove"
5
- gem.summary = "A web application stack composed of Sinatra, MongoDB, Effigy, and Hoptoad."
6
- gem.description = "A web application stack composed of Sinatra, MongoDB, Effigy, and Hoptoad."
5
+ gem.summary = "Generator to create a Sinatra, MongoDB, Effigy, and Hoptoad web app."
6
+ gem.description = "Generator to create a Sinatra, MongoDB, Effigy, and Hoptoad web app."
7
7
  gem.email = "dcroak@thoughtbot.com"
8
8
  gem.homepage = "http://github.com/dancroak/groove"
9
9
  gem.authors = ["Dan Croak"]
10
10
  gem.bindir = "bin"
11
11
  gem.executables = ["groove"]
12
12
 
13
- gem.add_dependency('x')
14
13
  gem.add_dependency('sinatra')
15
14
  gem.add_dependency('mongo')
16
15
  gem.add_dependency('effigy')
17
16
  gem.add_dependency('rack_hoptoad')
17
+ gem.add_dependency('x')
18
+ gem.add_dependency('thor')
18
19
  end
19
20
 
20
21
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.6
1
+ 0.1.0
data/bin/groove CHANGED
@@ -1,71 +1,63 @@
1
1
  #!/usr/bin/env ruby
2
- # -*- mode: ruby -*-
3
2
 
3
+ require 'rubygems'
4
4
  require 'thor'
5
5
 
6
+ module Grooove
7
+ Rackup = <<-RUBY
8
+ Groove.config = { :db => ENV['DATABASE'] || '#{name}',
9
+ :db_url => ENV['DATABASE_URL'] || 'localhost',
10
+ :db_user => ENV['DATABASE_USER'],
11
+ :db_password => ENV['DATABASE_PASSWORD'],
12
+ :hoptoad => ENV['HOPTOAD'] }
13
+ RUBY
14
+
15
+ App = <<-RUBY
16
+ get '/' do
17
+ effigy :index
18
+ end
19
+ RUBY
20
+
21
+ Template = <<-HTML
22
+ <!DOCTYPE html>
23
+ <html>
24
+ <head>
25
+ <title>#{name}</title>
26
+ </head>
27
+ <body>
28
+ <h1>#{name}</h1>
29
+ </body>
30
+ </html>
31
+ HTML
32
+
33
+ View = <<-RUBY
34
+ class IndexView < Effigy::View
35
+ def transform
36
+ end
37
+ end
38
+ RUBY
39
+ end
40
+
6
41
  class Groove < Thor::Group
7
42
  include Thor::Actions
8
43
 
9
44
  argument :name
10
45
 
11
- def create_directory
12
- directory(name)
13
- end
14
-
15
46
  def create_rackup
16
- create_file("#{name}/config.ru") do
17
- <<-RUBY
18
- Groove.config = { :db => ENV['DATABASE'] || '#{name}',
19
- :db_url => ENV['DATABASE_URL'] || 'localhost',
20
- :db_user => ENV['DATABASE_USER'],
21
- :db_password => ENV['DATABASE_PASSWORD'],
22
- :hoptoad => ENV['HOPTOAD'] }
23
- RUBY
24
- end
47
+ create_file("#{name}/config.ru") { Grooove::Rackup }
25
48
  end
26
49
 
27
50
  def create_app
28
- create_file("#{name}/app.rb") do
29
- <<-RUBY
30
- get '/' do
31
- effigy :index
32
- end
33
- RUBY
34
- end
35
- end
36
-
37
- def create_templates_directory
38
- directory("#{name}/templates")
51
+ create_file("#{name}/app.rb") { Grooove::App }
39
52
  end
40
53
 
41
- def create_index_template
42
- create_file("#{name}/templates/index.html") do
43
- <<-HTML
44
- <!DOCTYPE html>
45
- <html>
46
- <head>
47
- <title>#{name}</title>
48
- </head>
49
- <body>
50
- <h1>#{name}</h1>
51
- </body>
52
- </html>
53
- HTML
54
- end
54
+ def create_template
55
+ create_file("#{name}/templates/index.html") { Grooove::Template }
55
56
  end
56
57
 
57
- def create_views_directory
58
- directory("#{name}/views")
59
- end
60
-
61
- def create_index_template
62
- create_file("#{name}/views/index.rb") do
63
- <<-RUBY
64
- class IndexView < Effigy::View
65
- def transform
66
- end
67
- end
68
- RUBY
69
- end
58
+ def create_view
59
+ create_file("#{name}/views/index.rb") { Grooove::View }
70
60
  end
71
61
  end
62
+
63
+ Groove.start
data/groove.gemspec CHANGED
@@ -5,13 +5,13 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{groove}
8
- s.version = "0.0.6"
8
+ s.version = "0.1.0"
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
12
  s.date = %q{2009-12-31}
13
13
  s.default_executable = %q{groove}
14
- s.description = %q{A web application stack composed of Sinatra, MongoDB, Effigy, and Hoptoad.}
14
+ s.description = %q{Generator to create a Sinatra, MongoDB, Effigy, and Hoptoad web app.}
15
15
  s.email = %q{dcroak@thoughtbot.com}
16
16
  s.executables = ["groove"]
17
17
  s.extra_rdoc_files = [
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
24
24
  "VERSION",
25
25
  "bin/groove",
26
26
  "groove.gemspec",
27
+ "install.rb",
27
28
  "lib/groove.rb",
28
29
  "lib/groove/effigy.rb",
29
30
  "lib/groove/hoptoad.rb",
@@ -34,31 +35,34 @@ Gem::Specification.new do |s|
34
35
  s.rdoc_options = ["--charset=UTF-8"]
35
36
  s.require_paths = ["lib"]
36
37
  s.rubygems_version = %q{1.3.5}
37
- s.summary = %q{A web application stack composed of Sinatra, MongoDB, Effigy, and Hoptoad.}
38
+ s.summary = %q{Generator to create a Sinatra, MongoDB, Effigy, and Hoptoad web app.}
38
39
 
39
40
  if s.respond_to? :specification_version then
40
41
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
41
42
  s.specification_version = 3
42
43
 
43
44
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
44
- s.add_runtime_dependency(%q<x>, [">= 0"])
45
45
  s.add_runtime_dependency(%q<sinatra>, [">= 0"])
46
46
  s.add_runtime_dependency(%q<mongo>, [">= 0"])
47
47
  s.add_runtime_dependency(%q<effigy>, [">= 0"])
48
48
  s.add_runtime_dependency(%q<rack_hoptoad>, [">= 0"])
49
+ s.add_runtime_dependency(%q<x>, [">= 0"])
50
+ s.add_runtime_dependency(%q<thor>, [">= 0"])
49
51
  else
50
- s.add_dependency(%q<x>, [">= 0"])
51
52
  s.add_dependency(%q<sinatra>, [">= 0"])
52
53
  s.add_dependency(%q<mongo>, [">= 0"])
53
54
  s.add_dependency(%q<effigy>, [">= 0"])
54
55
  s.add_dependency(%q<rack_hoptoad>, [">= 0"])
56
+ s.add_dependency(%q<x>, [">= 0"])
57
+ s.add_dependency(%q<thor>, [">= 0"])
55
58
  end
56
59
  else
57
- s.add_dependency(%q<x>, [">= 0"])
58
60
  s.add_dependency(%q<sinatra>, [">= 0"])
59
61
  s.add_dependency(%q<mongo>, [">= 0"])
60
62
  s.add_dependency(%q<effigy>, [">= 0"])
61
63
  s.add_dependency(%q<rack_hoptoad>, [">= 0"])
64
+ s.add_dependency(%q<x>, [">= 0"])
65
+ s.add_dependency(%q<thor>, [">= 0"])
62
66
  end
63
67
  end
64
68
 
data/install.rb ADDED
@@ -0,0 +1 @@
1
+ thor install "http://github.com/cypher/thor-git/tree/master/git.thor?raw=true"
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.0.6
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Croak
@@ -13,7 +13,7 @@ date: 2009-12-31 00:00:00 -05:00
13
13
  default_executable: groove
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: x
16
+ name: sinatra
17
17
  type: :runtime
18
18
  version_requirement:
19
19
  version_requirements: !ruby/object:Gem::Requirement
@@ -23,7 +23,7 @@ dependencies:
23
23
  version: "0"
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
- name: sinatra
26
+ name: mongo
27
27
  type: :runtime
28
28
  version_requirement:
29
29
  version_requirements: !ruby/object:Gem::Requirement
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: "0"
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
- name: mongo
36
+ name: effigy
37
37
  type: :runtime
38
38
  version_requirement:
39
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: "0"
44
44
  version:
45
45
  - !ruby/object:Gem::Dependency
46
- name: effigy
46
+ name: rack_hoptoad
47
47
  type: :runtime
48
48
  version_requirement:
49
49
  version_requirements: !ruby/object:Gem::Requirement
@@ -53,7 +53,17 @@ dependencies:
53
53
  version: "0"
54
54
  version:
55
55
  - !ruby/object:Gem::Dependency
56
- name: rack_hoptoad
56
+ name: x
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: thor
57
67
  type: :runtime
58
68
  version_requirement:
59
69
  version_requirements: !ruby/object:Gem::Requirement
@@ -62,7 +72,7 @@ dependencies:
62
72
  - !ruby/object:Gem::Version
63
73
  version: "0"
64
74
  version:
65
- description: A web application stack composed of Sinatra, MongoDB, Effigy, and Hoptoad.
75
+ description: Generator to create a Sinatra, MongoDB, Effigy, and Hoptoad web app.
66
76
  email: dcroak@thoughtbot.com
67
77
  executables:
68
78
  - groove
@@ -77,6 +87,7 @@ files:
77
87
  - VERSION
78
88
  - bin/groove
79
89
  - groove.gemspec
90
+ - install.rb
80
91
  - lib/groove.rb
81
92
  - lib/groove/effigy.rb
82
93
  - lib/groove/hoptoad.rb
@@ -109,6 +120,6 @@ rubyforge_project:
109
120
  rubygems_version: 1.3.5
110
121
  signing_key:
111
122
  specification_version: 3
112
- summary: A web application stack composed of Sinatra, MongoDB, Effigy, and Hoptoad.
123
+ summary: Generator to create a Sinatra, MongoDB, Effigy, and Hoptoad web app.
113
124
  test_files: []
114
125