couch 0.0.3 → 0.0.4

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/couch.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{couch}
8
- s.version = "0.0.3"
8
+ s.version = "0.0.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Johannes J. Schmidt"]
@@ -45,9 +45,15 @@ Gem::Specification.new do |s|
45
45
  "lib/couch/generators/application/templates/gitignore",
46
46
  "lib/couch/generators/application/templates/validate_doc_update.js",
47
47
  "lib/couch/generators/base.rb",
48
+ "lib/couch/generators/list/USAGE",
49
+ "lib/couch/generators/list/list_generator.rb",
50
+ "lib/couch/generators/list/templates/list.js",
48
51
  "lib/couch/generators/named_base.rb",
49
52
  "lib/couch/generators/scaffold/USAGE",
50
53
  "lib/couch/generators/scaffold/scaffold_generator.rb",
54
+ "lib/couch/generators/show/USAGE",
55
+ "lib/couch/generators/show/show_generator.rb",
56
+ "lib/couch/generators/show/templates/show.js",
51
57
  "lib/couch/generators/validation/USAGE",
52
58
  "lib/couch/generators/validation/validation_generator.rb",
53
59
  "lib/couch/generators/view/USAGE",
@@ -6,7 +6,7 @@ module Couch
6
6
  # Receives a name, arguments and the behavior to invoke the generator.
7
7
  # It's used as the default entry point for generate and destroy commands.
8
8
  def self.invoke(name, args = ARGV, config = {})
9
- if klass = lookup(name)
9
+ if klass = lookup(name.to_s)
10
10
  args << "--help" if args.empty? && klass.arguments.any? { |a| a.required? }
11
11
  klass.start(args, config)
12
12
  else
@@ -33,7 +33,7 @@ module Couch
33
33
  puts " -s, [--skip] # Skip files that already exist"
34
34
  puts " -q, [--quiet] # Supress status output"
35
35
  puts
36
- puts "Please choose a generator below."
36
+ puts "Please choose a generator below:"
37
37
  puts
38
38
  puts generators
39
39
  end
@@ -0,0 +1,8 @@
1
+ Description:
2
+ The 'show' generator creates a scaffold show function
3
+ for the name you specify
4
+
5
+ Example:
6
+ couch generate show post
7
+
8
+ This generates a skeletal post show function
@@ -0,0 +1,9 @@
1
+ require 'couch/generators/named_base'
2
+
3
+ module Couch::Generators
4
+ class ListGenerator < NamedBase
5
+ def create_list_function
6
+ template "list.js", "lists/#{pluralized_model_name}.js"
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,23 @@
1
+ function(head, req) {
2
+ provides("html", function() {
3
+ var header = '<html><head><link rel="stylesheet" href="../../stylesheets/application.css" type="text/css" media="screen" charset="utf-8"></head><body><h1>Listing <%= pluralized_model_name.humanize %></h1><table><tr>';
4
+ <% attributes.each do |attribute| %>
5
+ header += '<th><%= attribute.humanize %></th>';
6
+ <% end %>
7
+ header += '</tr>';
8
+ send(header);
9
+
10
+ var row;
11
+ while (row = getRow()) {
12
+ var body = '<tr>';
13
+ <% attributes.each do |attribute| %>
14
+ body += '<td>' + row.value['<%= attribute %>'] + '</td>';
15
+ <% end %>
16
+ body += '</tr>';
17
+ send(body);
18
+ }
19
+
20
+ var tail = '</table></body></html>';
21
+ return tail;
22
+ });
23
+ }
@@ -3,19 +3,19 @@ require 'couch/generators/named_base'
3
3
  module Couch::Generators
4
4
  class ScaffoldGenerator < NamedBase
5
5
  def create_view_function
6
- Couch::Generators.invoke "view", name, :behavior => behavior
6
+ Couch::Generators.invoke :view, name, :behavior => behavior
7
7
  end
8
8
 
9
9
  def inject_validations
10
- Couch::Generators.invoke "validation", [name] + attributes, :behavior => behavior
10
+ Couch::Generators.invoke :validation, [name] + attributes, :behavior => behavior
11
11
  end
12
12
 
13
13
  def create_list_function
14
- say "list function generation not implemented yet"
14
+ Couch::Generators.invoke :list, [name] + attributes, :behavior => behavior
15
15
  end
16
16
 
17
17
  def create_show_function
18
- say "show function generation not implemented yet"
18
+ Couch::Generators.invoke :show, [name] + attributes, :behavior => behavior
19
19
  end
20
20
  end
21
21
  end
@@ -0,0 +1,8 @@
1
+ Description:
2
+ The 'show' generator creates a scaffold show function
3
+ for the name you specify
4
+
5
+ Example:
6
+ couch generate show post
7
+
8
+ This generates a skeletal post show function
@@ -0,0 +1,9 @@
1
+ require 'couch/generators/named_base'
2
+
3
+ module Couch::Generators
4
+ class ShowGenerator < NamedBase
5
+ def create_show_function
6
+ template "show.js", "shows/#{model_name}.js"
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,19 @@
1
+ function(doc, req) {
2
+ var head = '<html><head><link rel="stylesheet" href="../../stylesheets/application.css" type="text/css" media="screen" charset="utf-8"></head><body>';
3
+ var body = '';
4
+ var tail = '</body></html>';
5
+ if(doc) {
6
+ <% attributes.each do |attribute| %>
7
+ if(doc['<%= attribute %>']) {
8
+ body += '<p><strong><%= attribute.humanize %></strong>: ' + doc['<%= attribute %>'] + '</p>'
9
+ }
10
+ <% end %>
11
+ return head + '<h1>Showing <%= model_name.humanize %></h1>' + body + tail;
12
+ } else {
13
+ <% attributes.each do |attribute| %>
14
+ body += '<p><label><%= attribute.humanize %></label>: <input type="text" name="<%= model_name %>[<%= attribute %>]" id="<%= model_name %>_<%= attribute %>" /></p>'
15
+ <% end %>
16
+ body += '<p><input type="submit" /></p>'
17
+ return head + '<h1>New <%= model_name.humanize %></h1>' + body + tail;
18
+ }
19
+ }
@@ -5,4 +5,4 @@ Description:
5
5
  Example:
6
6
  couch generate view post
7
7
 
8
- This generates a skeletal model post with a posts list view
8
+ This generates a skeletal posts list function
data/lib/couch/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Couch
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 3
9
- version: 0.0.3
8
+ - 4
9
+ version: 0.0.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - Johannes J. Schmidt
@@ -124,9 +124,15 @@ files:
124
124
  - lib/couch/generators/application/templates/gitignore
125
125
  - lib/couch/generators/application/templates/validate_doc_update.js
126
126
  - lib/couch/generators/base.rb
127
+ - lib/couch/generators/list/USAGE
128
+ - lib/couch/generators/list/list_generator.rb
129
+ - lib/couch/generators/list/templates/list.js
127
130
  - lib/couch/generators/named_base.rb
128
131
  - lib/couch/generators/scaffold/USAGE
129
132
  - lib/couch/generators/scaffold/scaffold_generator.rb
133
+ - lib/couch/generators/show/USAGE
134
+ - lib/couch/generators/show/show_generator.rb
135
+ - lib/couch/generators/show/templates/show.js
130
136
  - lib/couch/generators/validation/USAGE
131
137
  - lib/couch/generators/validation/validation_generator.rb
132
138
  - lib/couch/generators/view/USAGE