jrhicks-static-generators 0.1.8 → 0.2.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.
data/Manifest CHANGED
@@ -8,9 +8,9 @@ rails_generators/static_app/templates/layout_helper.rb
8
8
  rails_generators/static_app/templates/sorttable.js
9
9
  rails_generators/static_app/templates/static_style.css
10
10
  rails_generators/static_app/USAGE
11
- rails_generators/static_authentication/static_authentication_generator.rb
12
- rails_generators/static_authentication/templates/migration.rb
13
- rails_generators/static_authentication/USAGE
11
+ rails_generators/static_authorization/static_authorization_generator.rb
12
+ rails_generators/static_authorization/templates/migration.rb
13
+ rails_generators/static_authorization/USAGE
14
14
  rails_generators/static_gen_specs/static_gen_specs_generator.rb
15
15
  rails_generators/static_gen_specs/templates/generator_specs.rb
16
16
  rails_generators/static_gen_specs/templates/model_gen_specs.rb
@@ -29,6 +29,7 @@ rails_generators/static_scaffold/templates/view_show.html.erb
29
29
  rails_generators/static_scaffold/USAGE
30
30
  Rakefile
31
31
  README.md
32
+ static-generators.gemspec
32
33
  tasks/deployment.rake
33
34
  TODO
34
35
  USAGE
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
4
 
5
- Echoe.new('static-generators', '0.1.7') do |p|
5
+ Echoe.new('static-generators', '0.2.0') do |p|
6
6
  p.project = "staticgenerators"
7
7
  p.description = "Generate attractive interfaces that are easy to edit."
8
8
  p.url = "http://github.com/jrhicks/static-scaffolds"
@@ -5,7 +5,7 @@ class <%=class_name%>GenSpecs < GeneratorSpecs
5
5
  :plural_label, :singular_label, :plural_title, :singular_title,
6
6
  :authentication_method, :authorization_method,
7
7
  :order_preference_columns, :order_preference,
8
- :public_root_path, :private_root_path, :will_paginate
8
+ :paperclip_public_root_path, :paperclip_private_root_path, :paperclip_custom_root_path_code, :will_paginate
9
9
 
10
10
  def initialize()
11
11
  @model_name = <%=model_name.inspect%>
@@ -20,15 +20,16 @@ class <%=class_name%>GenSpecs < GeneratorSpecs
20
20
 
21
21
  # Security
22
22
  @authentication_method = :AuthLogic # :none
23
- @authorization_method = :static_authorization # :ACL9, :none
23
+ @authorization_method = :static_authorization # :none
24
24
 
25
25
  # Order
26
26
  @order_preference_columns = <%=guess_ordered_columns.inspect%>
27
27
  @order_preference = "ASC"
28
28
 
29
- # File Columns
30
- @public_root_path = 'File.join(<%=RAILS_ROOT.inspect%>,"public")'
31
- @private_root_path = 'File.join("filestore","private_files","<%=File.basename(RAILS_ROOT)%>")'
29
+ # Paperclip configuration
30
+ @paperclip_public_root_path = ':rails_root/public/system/'
31
+ @paperclip_private_root_path = ':rails_root/private/'
32
+ @paperclip_custom_root_path_code = nil # "self.project.project_number" or "self.album_id"
32
33
 
33
34
  # Pagination
34
35
  @will_paginate = true # false
@@ -76,6 +77,7 @@ class <%=class_name%>GenSpecs < GeneratorSpecs
76
77
  end
77
78
 
78
79
  def belongs_to
80
+ # {:name=>"foo", :model=>"Foo", :key=>"foo_id"}
79
81
  [
80
82
  <%justifier = CodeJustifier.new(belongs_to_columns) -%>
81
83
  <%justifier.add_parameter {|o| ":name=>#{o.name.slice(0,o.name.length-3).inspect}, "} -%>
@@ -88,6 +90,7 @@ class <%=class_name%>GenSpecs < GeneratorSpecs
88
90
  end
89
91
 
90
92
  def ascendant
93
+ # {:name=>"foo", :model=>"Foo", :key=>"foo_id"}
91
94
  <%justifier = CodeJustifier.new(belongs_to_columns) -%>
92
95
  <%justifier.add_parameter {|o| ":name=>#{o.name.slice(0,o.name.length-3).inspect}, "} -%>
93
96
  <%justifier.add_parameter {|o| ":model=>#{o.name.slice(0,o.name.length-3).camelize.inspect}, "} -%>
@@ -98,6 +101,7 @@ class <%=class_name%>GenSpecs < GeneratorSpecs
98
101
  end
99
102
 
100
103
  def has_many
104
+ # {:name=>"foo", :model=>"Foo", :key=>"foo_id"}
101
105
  [
102
106
  <%justifier = CodeJustifier.new(has_many_columns) -%>
103
107
  <%justifier.add_parameter {|o| ":name=>#{o[:table].pluralize.inspect}, "} -%>
@@ -110,6 +114,7 @@ class <%=class_name%>GenSpecs < GeneratorSpecs
110
114
  end
111
115
 
112
116
  def desendants
117
+ # {:name=>"foo", :model=>"Foo", :key=>"foo_id"}
113
118
  [
114
119
  <%justifier = CodeJustifier.new(has_many_columns) -%>
115
120
  <%justifier.add_parameter {|o| ":name=>#{o[:table].pluralize.inspect}, "} -%>
@@ -61,6 +61,11 @@ class StaticScaffoldGenerator < Rails::Generator::NamedBase
61
61
  m.directory(File.join('test/unit', class_path))
62
62
  m.directory(File.join('test/unit/helpers', class_path))
63
63
  m.directory(File.join('public/stylesheets', class_path))
64
+
65
+ # Paperclip tokens initializer
66
+ # http://blog.eizesus.com/2009/4/paperclip-custom-storage-path
67
+ m.template("paperclip_tokens.rb",
68
+ File.join("config","initializers","paperclip_tokens.rb"))
64
69
 
65
70
  # Model
66
71
  m.template(
@@ -1,11 +1,22 @@
1
1
  class <%= class_name %> < ActiveRecord::Base
2
2
 
3
- PUBLIC_ROOT_PATH = <%=gen_spec.public_root_path%>
4
- PRIVATE_ROOT_PATH = <%=gen_spec.private_root_path%>
5
-
6
3
  <%if gen_spec.file_columns.length>0 -%>
7
4
  <%for column,options in gen_spec.file_columns -%>
8
- file_column <%=column.inspect%>, :store_dir=><%="#{column}_store_dir".inspect%>, :root_path=><%if options["access"]%>PUBLIC_ROOT_PATH><%else%>PRIVATE_ROOT_PATH<%end%>
5
+ <%if options[:access]==:private -%>
6
+ has_attached_file <%=column.inspect%>,
7
+ :url => "/<%=gen_spec.plural_name%>/attachment/:attachment/:id/:style/:basename.:extension",
8
+ :path => "<%=gen_spec.paperclip_private_root_path%><%=":custom_root_path/" if gen_spec.paperclip_custom_root_path_code%>:attachment/:id/:style/:basename.:extension"
9
+ <%else -%>
10
+ has_attached_file <%=column.inspect%>,
11
+ :url => "/system/:attachment/:id/:style/:basename.:extension",
12
+ :path => "<%=gen_spec.paperclip_public_root_path%><%=":custom_root_path/" if gen_spec.paperclip_custom_root_path_code%>:attachment/:id/:style/:basename.:extension"
13
+ <%end -%>
14
+
15
+ <%end -%>
16
+ <%if gen_spec.paperclip_custom_root_path_code -%>
17
+ def paperclip_custom_root_path
18
+ <%=gen_spec.paperclip_custom_root_path_code%>
19
+ end
9
20
  <%end -%>
10
21
 
11
22
  <%end -%>
@@ -47,43 +58,8 @@ class <%= class_name %> < ActiveRecord::Base
47
58
  <%=gen_spec.ascendant[:name]%>
48
59
  end
49
60
 
50
- <%end -%>
51
- <%if gen_spec.file_columns -%>
52
- # File Columns Directory
53
-
54
- def refactored_store_dir
55
- <%=gen_spec.singular_name.pluralize.inspect%>
56
- end
57
- <%for column,options in gen_spec.file_columns -%>
58
- def <%=column%>_store_dir
59
- File.join(refactored_store_dir, <%=column.to_s.pluralize.inspect%>)
60
- end
61
-
62
- def <%=column%>_icon
63
- <%if options["type"]==:photo%>
64
- return "photo.gif"
65
- <%else -%>
66
- return "attachment.gif"
67
- <%end -%>
68
- end
69
-
70
- def <%=column%>_basename
71
- File.basename(@<%=column%>)
72
- end
73
-
74
- def <%=column%>_shortname
75
- b=<%=column%>_basename
76
- if b and b.length>13
77
- "#{b.slice(0,8)}~#{b.slice(-4,4)}"
78
- else
79
- b
80
- end
81
- end
82
-
83
-
84
61
  <%end -%>
85
62
 
86
- <%end -%>
87
63
  # Security / Authorization
88
64
 
89
65
  <%if gen_spec.authorization_method.to_s == 'static_authorization' -%>
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{static-generators}
5
- s.version = "0.1.8"
5
+ s.version = "0.2.0"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Jeffrey Hicks"]
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.description = %q{Generate attractive interfaces that are easy to edit.}
11
11
  s.email = %q{jrhicks (at) gmail (dot) com}
12
12
  s.extra_rdoc_files = ["CHANGELOG", "lib/static_generators.rb", "LICENSE", "README.md", "tasks/deployment.rake", "TODO"]
13
- s.files = ["CHANGELOG", "lib/static_generators.rb", "LICENSE", "rails_generators/static_app/static_app_generator.rb", "rails_generators/static_app/templates/application_helper.rb", "rails_generators/static_app/templates/layout.html.erb", "rails_generators/static_app/templates/layout_helper.rb", "rails_generators/static_app/templates/sorttable.js", "rails_generators/static_app/templates/static_style.css", "rails_generators/static_app/USAGE", "rails_generators/static_authorization/static_authorization_generator.rb", "rails_generators/static_authorization/templates/migration.rb", "rails_generators/static_authorization/USAGE", "rails_generators/static_gen_specs/static_gen_specs_generator.rb", "rails_generators/static_gen_specs/templates/generator_specs.rb", "rails_generators/static_gen_specs/templates/model_gen_specs.rb", "rails_generators/static_gen_specs/USAGE", "rails_generators/static_scaffold/static_scaffold_generator.rb", "rails_generators/static_scaffold/templates/controller.rb", "rails_generators/static_scaffold/templates/functional_test.rb", "rails_generators/static_scaffold/templates/helper.rb", "rails_generators/static_scaffold/templates/helper_test.rb", "rails_generators/static_scaffold/templates/layout.html.erb", "rails_generators/static_scaffold/templates/model.rb", "rails_generators/static_scaffold/templates/view_edit.html.erb", "rails_generators/static_scaffold/templates/view_index.html.erb", "rails_generators/static_scaffold/templates/view_new.html.erb", "rails_generators/static_scaffold/templates/view_show.html.erb", "rails_generators/static_scaffold/USAGE", "Rakefile", "README.md", "tasks/deployment.rake", "TODO", "USAGE", "Manifest", "static-generators.gemspec"]
13
+ s.files = ["CHANGELOG", "lib/static_generators.rb", "LICENSE", "rails_generators/static_app/static_app_generator.rb", "rails_generators/static_app/templates/application_helper.rb", "rails_generators/static_app/templates/layout.html.erb", "rails_generators/static_app/templates/layout_helper.rb", "rails_generators/static_app/templates/sorttable.js", "rails_generators/static_app/templates/static_style.css", "rails_generators/static_app/USAGE", "rails_generators/static_authorization/static_authorization_generator.rb", "rails_generators/static_authorization/templates/migration.rb", "rails_generators/static_authorization/USAGE", "rails_generators/static_gen_specs/static_gen_specs_generator.rb", "rails_generators/static_gen_specs/templates/generator_specs.rb", "rails_generators/static_gen_specs/templates/model_gen_specs.rb", "rails_generators/static_gen_specs/USAGE", "rails_generators/static_scaffold/static_scaffold_generator.rb", "rails_generators/static_scaffold/templates/controller.rb", "rails_generators/static_scaffold/templates/functional_test.rb", "rails_generators/static_scaffold/templates/helper.rb", "rails_generators/static_scaffold/templates/helper_test.rb", "rails_generators/static_scaffold/templates/layout.html.erb", "rails_generators/static_scaffold/templates/model.rb", "rails_generators/static_scaffold/templates/view_edit.html.erb", "rails_generators/static_scaffold/templates/view_index.html.erb", "rails_generators/static_scaffold/templates/view_new.html.erb", "rails_generators/static_scaffold/templates/view_show.html.erb", "rails_generators/static_scaffold/USAGE", "Rakefile", "README.md", "static-generators.gemspec", "tasks/deployment.rake", "TODO", "USAGE", "Manifest"]
14
14
  s.has_rdoc = true
15
15
  s.homepage = %q{http://github.com/jrhicks/static-scaffolds}
16
16
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Static-generators", "--main", "README.md"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jrhicks-static-generators
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeffrey Hicks
@@ -58,11 +58,11 @@ files:
58
58
  - rails_generators/static_scaffold/USAGE
59
59
  - Rakefile
60
60
  - README.md
61
+ - static-generators.gemspec
61
62
  - tasks/deployment.rake
62
63
  - TODO
63
64
  - USAGE
64
65
  - Manifest
65
- - static-generators.gemspec
66
66
  has_rdoc: true
67
67
  homepage: http://github.com/jrhicks/static-scaffolds
68
68
  post_install_message: