integratedscaffold 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. data/Gemfile +6 -0
  2. data/Manifest +85 -0
  3. data/README +1 -0
  4. data/README.rdoc +1 -0
  5. data/Rakefile +14 -0
  6. data/integratedscaffold.gemspec +38 -0
  7. data/lib/integratedscaffold.rb +289 -0
  8. data/lib/templates/actions/create.rb +8 -0
  9. data/lib/templates/actions/destroy.rb +5 -0
  10. data/lib/templates/actions/edit.rb +4 -0
  11. data/lib/templates/actions/index.rb +5 -0
  12. data/lib/templates/actions/new.rb +4 -0
  13. data/lib/templates/actions/parse_save_from_excel.rb +45 -0
  14. data/lib/templates/actions/show.rb +5 -0
  15. data/lib/templates/actions/update.rb +8 -0
  16. data/lib/templates/assets/images/background.jpg +0 -0
  17. data/lib/templates/assets/images/download.png +0 -0
  18. data/lib/templates/assets/images/inner_texture.jpeg +0 -0
  19. data/lib/templates/assets/images/logo.png +0 -0
  20. data/lib/templates/assets/images/new.png +0 -0
  21. data/lib/templates/assets/images/upload.png +0 -0
  22. data/lib/templates/assets/images/welcome_icon_1.png +0 -0
  23. data/lib/templates/assets/images/welcome_icon_2.png +0 -0
  24. data/lib/templates/assets/images/welcome_icon_3.png +0 -0
  25. data/lib/templates/assets/images/welcome_icon_4.png +0 -0
  26. data/lib/templates/assets/images/welcome_image.png +0 -0
  27. data/lib/templates/assets/javascripts/exclusions/fiddletabs.js +233 -0
  28. data/lib/templates/assets/javascripts/exclusions/jquery.mousewheel.min.js +12 -0
  29. data/lib/templates/assets/javascripts/exclusions/jquery.pageslide.js +202 -0
  30. data/lib/templates/assets/javascripts/jquery.dataTables.min.js +2475 -0
  31. data/lib/templates/assets/stylesheets/base_classes.css.scss +107 -0
  32. data/lib/templates/assets/stylesheets/exclusions/fiddletabs.css +77 -0
  33. data/lib/templates/assets/stylesheets/exclusions/images/Sorting icons.psd +0 -0
  34. data/lib/templates/assets/stylesheets/exclusions/images/back_disabled.jpg +0 -0
  35. data/lib/templates/assets/stylesheets/exclusions/images/back_enabled.jpg +0 -0
  36. data/lib/templates/assets/stylesheets/exclusions/images/favicon.ico +0 -0
  37. data/lib/templates/assets/stylesheets/exclusions/images/forward_disabled.jpg +0 -0
  38. data/lib/templates/assets/stylesheets/exclusions/images/forward_enabled.jpg +0 -0
  39. data/lib/templates/assets/stylesheets/exclusions/images/sort_asc.png +0 -0
  40. data/lib/templates/assets/stylesheets/exclusions/images/sort_asc_disabled.png +0 -0
  41. data/lib/templates/assets/stylesheets/exclusions/images/sort_both.png +0 -0
  42. data/lib/templates/assets/stylesheets/exclusions/images/sort_desc.png +0 -0
  43. data/lib/templates/assets/stylesheets/exclusions/images/sort_desc_disabled.png +0 -0
  44. data/lib/templates/assets/stylesheets/exclusions/jquery_data_table.css +513 -0
  45. data/lib/templates/assets/stylesheets/images/Sorting icons.psd +0 -0
  46. data/lib/templates/assets/stylesheets/images/back_disabled.jpg +0 -0
  47. data/lib/templates/assets/stylesheets/images/back_enabled.jpg +0 -0
  48. data/lib/templates/assets/stylesheets/images/favicon.ico +0 -0
  49. data/lib/templates/assets/stylesheets/images/forward_disabled.jpg +0 -0
  50. data/lib/templates/assets/stylesheets/images/forward_enabled.jpg +0 -0
  51. data/lib/templates/assets/stylesheets/images/sort_asc.png +0 -0
  52. data/lib/templates/assets/stylesheets/images/sort_asc_disabled.png +0 -0
  53. data/lib/templates/assets/stylesheets/images/sort_both.png +0 -0
  54. data/lib/templates/assets/stylesheets/images/sort_desc.png +0 -0
  55. data/lib/templates/assets/stylesheets/images/sort_desc_disabled.png +0 -0
  56. data/lib/templates/assets/stylesheets/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  57. data/lib/templates/assets/stylesheets/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  58. data/lib/templates/assets/stylesheets/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  59. data/lib/templates/assets/stylesheets/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  60. data/lib/templates/assets/stylesheets/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  61. data/lib/templates/assets/stylesheets/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  62. data/lib/templates/assets/stylesheets/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  63. data/lib/templates/assets/stylesheets/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  64. data/lib/templates/assets/stylesheets/images/ui-icons_222222_256x240.png +0 -0
  65. data/lib/templates/assets/stylesheets/images/ui-icons_2e83ff_256x240.png +0 -0
  66. data/lib/templates/assets/stylesheets/images/ui-icons_454545_256x240.png +0 -0
  67. data/lib/templates/assets/stylesheets/images/ui-icons_888888_256x240.png +0 -0
  68. data/lib/templates/assets/stylesheets/images/ui-icons_cd0a0a_256x240.png +0 -0
  69. data/lib/templates/assets/stylesheets/information_page.css.scss +3 -0
  70. data/lib/templates/assets/stylesheets/jquery_data_table.css +513 -0
  71. data/lib/templates/controller.rb +4 -0
  72. data/lib/templates/file_uploader.rb +48 -0
  73. data/lib/templates/helper.rb +2 -0
  74. data/lib/templates/layouts/application.html.erb +69 -0
  75. data/lib/templates/layouts/dummy_data.html.erb +80 -0
  76. data/lib/templates/layouts/information_page.html.erb +81 -0
  77. data/lib/templates/layouts/pageslide_form_at.html.erb +2 -0
  78. data/lib/templates/layouts/welcome.html.erb +71 -0
  79. data/lib/templates/migration.rb +18 -0
  80. data/lib/templates/model.rb +7 -0
  81. data/lib/templates/views/erb/_form.html.erb +32 -0
  82. data/lib/templates/views/erb/edit.html.erb +11 -0
  83. data/lib/templates/views/erb/index.html.erb +216 -0
  84. data/lib/templates/views/erb/new.html.erb +11 -0
  85. data/lib/templates/views/erb/show.html.erb +0 -0
  86. metadata +271 -0
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source 'http://rubygems.org'
2
+
3
+
4
+ gemspec
5
+
6
+
data/Manifest ADDED
@@ -0,0 +1,85 @@
1
+ Gemfile
2
+ Manifest
3
+ README
4
+ README.rdoc
5
+ Rakefile
6
+ integratedscaffold.gemspec
7
+ lib/integratedscaffold.rb
8
+ lib/templates/actions/create.rb
9
+ lib/templates/actions/destroy.rb
10
+ lib/templates/actions/edit.rb
11
+ lib/templates/actions/index.rb
12
+ lib/templates/actions/new.rb
13
+ lib/templates/actions/parse_save_from_excel.rb
14
+ lib/templates/actions/show.rb
15
+ lib/templates/actions/update.rb
16
+ lib/templates/assets/images/background.jpg
17
+ lib/templates/assets/images/download.png
18
+ lib/templates/assets/images/inner_texture.jpeg
19
+ lib/templates/assets/images/logo.png
20
+ lib/templates/assets/images/new.png
21
+ lib/templates/assets/images/upload.png
22
+ lib/templates/assets/images/welcome_icon_1.png
23
+ lib/templates/assets/images/welcome_icon_2.png
24
+ lib/templates/assets/images/welcome_icon_3.png
25
+ lib/templates/assets/images/welcome_icon_4.png
26
+ lib/templates/assets/images/welcome_image.png
27
+ lib/templates/assets/javascripts/exclusions/fiddletabs.js
28
+ lib/templates/assets/javascripts/exclusions/jquery.mousewheel.min.js
29
+ lib/templates/assets/javascripts/exclusions/jquery.pageslide.js
30
+ lib/templates/assets/javascripts/jquery.dataTables.min.js
31
+ lib/templates/assets/stylesheets/base_classes.css.scss
32
+ lib/templates/assets/stylesheets/exclusions/fiddletabs.css
33
+ lib/templates/assets/stylesheets/exclusions/images/Sorting icons.psd
34
+ lib/templates/assets/stylesheets/exclusions/images/back_disabled.jpg
35
+ lib/templates/assets/stylesheets/exclusions/images/back_enabled.jpg
36
+ lib/templates/assets/stylesheets/exclusions/images/favicon.ico
37
+ lib/templates/assets/stylesheets/exclusions/images/forward_disabled.jpg
38
+ lib/templates/assets/stylesheets/exclusions/images/forward_enabled.jpg
39
+ lib/templates/assets/stylesheets/exclusions/images/sort_asc.png
40
+ lib/templates/assets/stylesheets/exclusions/images/sort_asc_disabled.png
41
+ lib/templates/assets/stylesheets/exclusions/images/sort_both.png
42
+ lib/templates/assets/stylesheets/exclusions/images/sort_desc.png
43
+ lib/templates/assets/stylesheets/exclusions/images/sort_desc_disabled.png
44
+ lib/templates/assets/stylesheets/exclusions/jquery_data_table.css
45
+ lib/templates/assets/stylesheets/images/Sorting icons.psd
46
+ lib/templates/assets/stylesheets/images/back_disabled.jpg
47
+ lib/templates/assets/stylesheets/images/back_enabled.jpg
48
+ lib/templates/assets/stylesheets/images/favicon.ico
49
+ lib/templates/assets/stylesheets/images/forward_disabled.jpg
50
+ lib/templates/assets/stylesheets/images/forward_enabled.jpg
51
+ lib/templates/assets/stylesheets/images/sort_asc.png
52
+ lib/templates/assets/stylesheets/images/sort_asc_disabled.png
53
+ lib/templates/assets/stylesheets/images/sort_both.png
54
+ lib/templates/assets/stylesheets/images/sort_desc.png
55
+ lib/templates/assets/stylesheets/images/sort_desc_disabled.png
56
+ lib/templates/assets/stylesheets/images/ui-bg_flat_0_aaaaaa_40x100.png
57
+ lib/templates/assets/stylesheets/images/ui-bg_flat_75_ffffff_40x100.png
58
+ lib/templates/assets/stylesheets/images/ui-bg_glass_55_fbf9ee_1x400.png
59
+ lib/templates/assets/stylesheets/images/ui-bg_glass_65_ffffff_1x400.png
60
+ lib/templates/assets/stylesheets/images/ui-bg_glass_75_dadada_1x400.png
61
+ lib/templates/assets/stylesheets/images/ui-bg_glass_75_e6e6e6_1x400.png
62
+ lib/templates/assets/stylesheets/images/ui-bg_glass_95_fef1ec_1x400.png
63
+ lib/templates/assets/stylesheets/images/ui-bg_highlight-soft_75_cccccc_1x100.png
64
+ lib/templates/assets/stylesheets/images/ui-icons_222222_256x240.png
65
+ lib/templates/assets/stylesheets/images/ui-icons_2e83ff_256x240.png
66
+ lib/templates/assets/stylesheets/images/ui-icons_454545_256x240.png
67
+ lib/templates/assets/stylesheets/images/ui-icons_888888_256x240.png
68
+ lib/templates/assets/stylesheets/images/ui-icons_cd0a0a_256x240.png
69
+ lib/templates/assets/stylesheets/information_page.css.scss
70
+ lib/templates/assets/stylesheets/jquery_data_table.css
71
+ lib/templates/controller.rb
72
+ lib/templates/file_uploader.rb
73
+ lib/templates/helper.rb
74
+ lib/templates/layouts/application.html.erb
75
+ lib/templates/layouts/dummy_data.html.erb
76
+ lib/templates/layouts/information_page.html.erb
77
+ lib/templates/layouts/pageslide_form_at.html.erb
78
+ lib/templates/layouts/welcome.html.erb
79
+ lib/templates/migration.rb
80
+ lib/templates/model.rb
81
+ lib/templates/views/erb/_form.html.erb
82
+ lib/templates/views/erb/edit.html.erb
83
+ lib/templates/views/erb/index.html.erb
84
+ lib/templates/views/erb/new.html.erb
85
+ lib/templates/views/erb/show.html.erb
data/README ADDED
@@ -0,0 +1 @@
1
+ This file was created by JetBrains RubyMine 3.2.4 for binding GitHub repository
data/README.rdoc ADDED
@@ -0,0 +1 @@
1
+ This is some summary
data/Rakefile ADDED
@@ -0,0 +1,14 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'echoe'
4
+
5
+ Echoe.new('integratedscaffold', '1.0.4') do |p|
6
+ p.description = "Creat a custom scaffold for your rails application"
7
+ p.url = "http://rushabhhathi.com"
8
+ p.author = "Rushabh Hathi"
9
+ p.email = "rushabh@ptotem.com"
10
+ p.ignore_pattern = ["tmp/*", "script/*"]
11
+ p.development_dependencies = []
12
+ end
13
+
14
+ Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
@@ -0,0 +1,38 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = "integratedscaffold"
5
+ s.version = "1.0.4"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Rushabh Hathi"]
9
+ s.date = "2012-01-26"
10
+ s.description = "Creat a custom scaffold for your rails application"
11
+ s.email = "rushabh@ptotem.com"
12
+ s.extra_rdoc_files = ["README", "README.rdoc", "lib/integratedscaffold.rb", "lib/templates/actions/create.rb", "lib/templates/actions/destroy.rb", "lib/templates/actions/edit.rb", "lib/templates/actions/index.rb", "lib/templates/actions/new.rb", "lib/templates/actions/parse_save_from_excel.rb", "lib/templates/actions/show.rb", "lib/templates/actions/update.rb", "lib/templates/assets/images/background.jpg", "lib/templates/assets/images/download.png", "lib/templates/assets/images/inner_texture.jpeg", "lib/templates/assets/images/logo.png", "lib/templates/assets/images/new.png", "lib/templates/assets/images/upload.png", "lib/templates/assets/images/welcome_icon_1.png", "lib/templates/assets/images/welcome_icon_2.png", "lib/templates/assets/images/welcome_icon_3.png", "lib/templates/assets/images/welcome_icon_4.png", "lib/templates/assets/images/welcome_image.png", "lib/templates/assets/javascripts/exclusions/fiddletabs.js", "lib/templates/assets/javascripts/exclusions/jquery.mousewheel.min.js", "lib/templates/assets/javascripts/exclusions/jquery.pageslide.js", "lib/templates/assets/javascripts/jquery.dataTables.min.js", "lib/templates/assets/stylesheets/base_classes.css.scss", "lib/templates/assets/stylesheets/exclusions/fiddletabs.css", "lib/templates/assets/stylesheets/exclusions/images/Sorting icons.psd", "lib/templates/assets/stylesheets/exclusions/images/back_disabled.jpg", "lib/templates/assets/stylesheets/exclusions/images/back_enabled.jpg", "lib/templates/assets/stylesheets/exclusions/images/favicon.ico", "lib/templates/assets/stylesheets/exclusions/images/forward_disabled.jpg", "lib/templates/assets/stylesheets/exclusions/images/forward_enabled.jpg", "lib/templates/assets/stylesheets/exclusions/images/sort_asc.png", "lib/templates/assets/stylesheets/exclusions/images/sort_asc_disabled.png", "lib/templates/assets/stylesheets/exclusions/images/sort_both.png", "lib/templates/assets/stylesheets/exclusions/images/sort_desc.png", "lib/templates/assets/stylesheets/exclusions/images/sort_desc_disabled.png", "lib/templates/assets/stylesheets/exclusions/jquery_data_table.css", "lib/templates/assets/stylesheets/images/Sorting icons.psd", "lib/templates/assets/stylesheets/images/back_disabled.jpg", "lib/templates/assets/stylesheets/images/back_enabled.jpg", "lib/templates/assets/stylesheets/images/favicon.ico", "lib/templates/assets/stylesheets/images/forward_disabled.jpg", "lib/templates/assets/stylesheets/images/forward_enabled.jpg", "lib/templates/assets/stylesheets/images/sort_asc.png", "lib/templates/assets/stylesheets/images/sort_asc_disabled.png", "lib/templates/assets/stylesheets/images/sort_both.png", "lib/templates/assets/stylesheets/images/sort_desc.png", "lib/templates/assets/stylesheets/images/sort_desc_disabled.png", "lib/templates/assets/stylesheets/images/ui-bg_flat_0_aaaaaa_40x100.png", "lib/templates/assets/stylesheets/images/ui-bg_flat_75_ffffff_40x100.png", "lib/templates/assets/stylesheets/images/ui-bg_glass_55_fbf9ee_1x400.png", "lib/templates/assets/stylesheets/images/ui-bg_glass_65_ffffff_1x400.png", "lib/templates/assets/stylesheets/images/ui-bg_glass_75_dadada_1x400.png", "lib/templates/assets/stylesheets/images/ui-bg_glass_75_e6e6e6_1x400.png", "lib/templates/assets/stylesheets/images/ui-bg_glass_95_fef1ec_1x400.png", "lib/templates/assets/stylesheets/images/ui-bg_highlight-soft_75_cccccc_1x100.png", "lib/templates/assets/stylesheets/images/ui-icons_222222_256x240.png", "lib/templates/assets/stylesheets/images/ui-icons_2e83ff_256x240.png", "lib/templates/assets/stylesheets/images/ui-icons_454545_256x240.png", "lib/templates/assets/stylesheets/images/ui-icons_888888_256x240.png", "lib/templates/assets/stylesheets/images/ui-icons_cd0a0a_256x240.png", "lib/templates/assets/stylesheets/information_page.css.scss", "lib/templates/assets/stylesheets/jquery_data_table.css", "lib/templates/controller.rb", "lib/templates/file_uploader.rb", "lib/templates/helper.rb", "lib/templates/layouts/application.html.erb", "lib/templates/layouts/dummy_data.html.erb", "lib/templates/layouts/information_page.html.erb", "lib/templates/layouts/pageslide_form_at.html.erb", "lib/templates/layouts/welcome.html.erb", "lib/templates/migration.rb", "lib/templates/model.rb", "lib/templates/views/erb/_form.html.erb", "lib/templates/views/erb/edit.html.erb", "lib/templates/views/erb/index.html.erb", "lib/templates/views/erb/new.html.erb", "lib/templates/views/erb/show.html.erb"]
13
+ s.files = ["Gemfile", "Manifest", "README", "README.rdoc", "Rakefile", "integratedscaffold.gemspec", "lib/integratedscaffold.rb", "lib/templates/actions/create.rb", "lib/templates/actions/destroy.rb", "lib/templates/actions/edit.rb", "lib/templates/actions/index.rb", "lib/templates/actions/new.rb", "lib/templates/actions/parse_save_from_excel.rb", "lib/templates/actions/show.rb", "lib/templates/actions/update.rb", "lib/templates/assets/images/background.jpg", "lib/templates/assets/images/download.png", "lib/templates/assets/images/inner_texture.jpeg", "lib/templates/assets/images/logo.png", "lib/templates/assets/images/new.png", "lib/templates/assets/images/upload.png", "lib/templates/assets/images/welcome_icon_1.png", "lib/templates/assets/images/welcome_icon_2.png", "lib/templates/assets/images/welcome_icon_3.png", "lib/templates/assets/images/welcome_icon_4.png", "lib/templates/assets/images/welcome_image.png", "lib/templates/assets/javascripts/exclusions/fiddletabs.js", "lib/templates/assets/javascripts/exclusions/jquery.mousewheel.min.js", "lib/templates/assets/javascripts/exclusions/jquery.pageslide.js", "lib/templates/assets/javascripts/jquery.dataTables.min.js", "lib/templates/assets/stylesheets/base_classes.css.scss", "lib/templates/assets/stylesheets/exclusions/fiddletabs.css", "lib/templates/assets/stylesheets/exclusions/images/Sorting icons.psd", "lib/templates/assets/stylesheets/exclusions/images/back_disabled.jpg", "lib/templates/assets/stylesheets/exclusions/images/back_enabled.jpg", "lib/templates/assets/stylesheets/exclusions/images/favicon.ico", "lib/templates/assets/stylesheets/exclusions/images/forward_disabled.jpg", "lib/templates/assets/stylesheets/exclusions/images/forward_enabled.jpg", "lib/templates/assets/stylesheets/exclusions/images/sort_asc.png", "lib/templates/assets/stylesheets/exclusions/images/sort_asc_disabled.png", "lib/templates/assets/stylesheets/exclusions/images/sort_both.png", "lib/templates/assets/stylesheets/exclusions/images/sort_desc.png", "lib/templates/assets/stylesheets/exclusions/images/sort_desc_disabled.png", "lib/templates/assets/stylesheets/exclusions/jquery_data_table.css", "lib/templates/assets/stylesheets/images/Sorting icons.psd", "lib/templates/assets/stylesheets/images/back_disabled.jpg", "lib/templates/assets/stylesheets/images/back_enabled.jpg", "lib/templates/assets/stylesheets/images/favicon.ico", "lib/templates/assets/stylesheets/images/forward_disabled.jpg", "lib/templates/assets/stylesheets/images/forward_enabled.jpg", "lib/templates/assets/stylesheets/images/sort_asc.png", "lib/templates/assets/stylesheets/images/sort_asc_disabled.png", "lib/templates/assets/stylesheets/images/sort_both.png", "lib/templates/assets/stylesheets/images/sort_desc.png", "lib/templates/assets/stylesheets/images/sort_desc_disabled.png", "lib/templates/assets/stylesheets/images/ui-bg_flat_0_aaaaaa_40x100.png", "lib/templates/assets/stylesheets/images/ui-bg_flat_75_ffffff_40x100.png", "lib/templates/assets/stylesheets/images/ui-bg_glass_55_fbf9ee_1x400.png", "lib/templates/assets/stylesheets/images/ui-bg_glass_65_ffffff_1x400.png", "lib/templates/assets/stylesheets/images/ui-bg_glass_75_dadada_1x400.png", "lib/templates/assets/stylesheets/images/ui-bg_glass_75_e6e6e6_1x400.png", "lib/templates/assets/stylesheets/images/ui-bg_glass_95_fef1ec_1x400.png", "lib/templates/assets/stylesheets/images/ui-bg_highlight-soft_75_cccccc_1x100.png", "lib/templates/assets/stylesheets/images/ui-icons_222222_256x240.png", "lib/templates/assets/stylesheets/images/ui-icons_2e83ff_256x240.png", "lib/templates/assets/stylesheets/images/ui-icons_454545_256x240.png", "lib/templates/assets/stylesheets/images/ui-icons_888888_256x240.png", "lib/templates/assets/stylesheets/images/ui-icons_cd0a0a_256x240.png", "lib/templates/assets/stylesheets/information_page.css.scss", "lib/templates/assets/stylesheets/jquery_data_table.css", "lib/templates/controller.rb", "lib/templates/file_uploader.rb", "lib/templates/helper.rb", "lib/templates/layouts/application.html.erb", "lib/templates/layouts/dummy_data.html.erb", "lib/templates/layouts/information_page.html.erb", "lib/templates/layouts/pageslide_form_at.html.erb", "lib/templates/layouts/welcome.html.erb", "lib/templates/migration.rb", "lib/templates/model.rb", "lib/templates/views/erb/_form.html.erb", "lib/templates/views/erb/edit.html.erb", "lib/templates/views/erb/index.html.erb", "lib/templates/views/erb/new.html.erb", "lib/templates/views/erb/show.html.erb"]
14
+ s.homepage = "http://rushabhhathi.com"
15
+ s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Integratedscaffold", "--main", "README"]
16
+ s.require_paths = ["lib"]
17
+ s.rubyforge_project = "integratedscaffold"
18
+ s.rubygems_version = "1.8.10"
19
+ s.summary = "Creat a custom scaffold for your rails application"
20
+
21
+ s.add_dependency 'railties', '3.1.3'
22
+ s.add_dependency 'twitter-bootstrap-rails'
23
+ s.add_dependency 'gritter'
24
+ s.add_dependency 'spreadsheet'
25
+ s.add_dependency 'carrierwave'
26
+
27
+
28
+
29
+
30
+ if s.respond_to? :specification_version then
31
+ s.specification_version = 3
32
+
33
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
34
+ else
35
+ end
36
+ else
37
+ end
38
+ end
@@ -0,0 +1,289 @@
1
+ # Require the RAILS generators to be able to extend Rails:Generators::NamedBase
2
+ require 'rails/generators'
3
+
4
+ module Twitter_bootstrap_scaffold
5
+ # If you use the NamedBase inheritance, a 'name' parameter has to follow the 'rails g integratedscaffold'. Won't work otherwise. If you don't want this, use ::Base
6
+ class Integratedscaffold < Rails::Generators::NamedBase
7
+
8
+ # Method in the 'thor' library which gives you access to the accessor methods
9
+ no_tasks { attr_accessor :model_attributes, :controller_actions }
10
+
11
+ # This captures the arguments that the generator can take after "rails g integratedscaffold name"
12
+ argument :g_parameters, :type => :array, :default => [], :banner => "field:type field:type"
13
+
14
+ # this sets the path where the code looks for templates within the gem
15
+ def self.source_root
16
+ File.expand_path("../templates", __FILE__)
17
+ end
18
+
19
+ def initialize(*args, &block)
20
+
21
+ # This is a standard initializer
22
+
23
+ super # Call parent class
24
+ @model_attributes = [] # Initialize empty array for 'thor' attributes
25
+
26
+ # This method splits the name:type arguments in the parameters list
27
+ g_parameters.each do |arg|
28
+ @model_attributes << Rails::Generators::GeneratedAttribute.new(*arg.split(':'))
29
+ end
30
+
31
+ # Creates a list of all the standard actions in the controller
32
+ @controller_actions=all_actions
33
+
34
+ end
35
+
36
+
37
+ def create_model
38
+
39
+ # creates the model using the 'model.rb' template and puts it into the rails app
40
+ template 'model.rb', "app/models/#{model_path}.rb"
41
+
42
+ end
43
+
44
+ def create_controller
45
+
46
+ # creates the controller using the 'controller.rb' template and puts it into the rails app
47
+ template 'controller.rb', "app/controllers/#{plural_name}_controller.rb"
48
+ end
49
+
50
+ def create_migration
51
+
52
+ # creates the migration file using the 'migration.rb' template and puts it into the rails app with a time stamp
53
+ template 'migration.rb', "db/migrate/#{Time.now.utc.strftime("%Y%m%d%H%M%S")}_create_#{model_path.pluralize.gsub('/', '_')}.rb"
54
+
55
+ end
56
+
57
+ def create_helper
58
+
59
+ # creates the helper using the 'helper.rb' template and puts it into the rails app
60
+ template 'helper.rb', "app/helpers/#{plural_name}_helper.rb"
61
+ end
62
+
63
+ def create_routes
64
+
65
+ # adds the routes for the gem into the routes file
66
+ namespaces = plural_name.split('/')
67
+ resource = namespaces.pop
68
+ route namespaces.reverse.inject("resources :#{resource}") { |acc, namespace|
69
+ "namespace(:#{namespace}){ #{acc} }"
70
+ }
71
+ end
72
+
73
+
74
+ def create_views
75
+
76
+ # creates the standard views using the '[action].html.erb' templates and puts it into the rails app
77
+ controller_actions.each do |action|
78
+ if action!="show" and action!="create" and action!="update" and action!="destroy" and action!="parse_save_from_excel"
79
+ template "views/erb/#{action}.html.erb", "app/views/#{plural_name}/#{action}.html.erb"
80
+ end
81
+ end
82
+ if form_partial?
83
+ template "views/erb/_form.html.erb", "app/views/#{plural_name}/_form.html.erb"
84
+ end
85
+ end
86
+
87
+ private
88
+
89
+ def class_name
90
+ name.camelize
91
+ end
92
+
93
+
94
+ def model_path
95
+ name.underscore
96
+ end
97
+
98
+ def controller_methods(dir_name)
99
+ controller_actions.map do |action|
100
+ read_template("#{dir_name}/#{action}.rb")
101
+ end.join("\n").strip
102
+ end
103
+
104
+ def read_template(relative_path)
105
+ ERB.new(File.read(find_in_source_paths(relative_path)), nil, '-').result(binding)
106
+ end
107
+
108
+ def instance_name
109
+ if @namespace_model
110
+ singular_name.gsub('/', '_')
111
+ else
112
+ singular_name.split('/').last
113
+ end
114
+ end
115
+
116
+ def instances_name
117
+ instance_name.pluralize
118
+ end
119
+
120
+ def all_actions
121
+ %w[index show new create edit update destroy]
122
+ end
123
+
124
+ def item_resource
125
+ name.underscore.gsub('/', '_')
126
+ end
127
+
128
+ def items_path
129
+ if action? :index
130
+ "#{item_resource.pluralize}_path"
131
+ else
132
+ "root_path"
133
+ end
134
+ end
135
+
136
+ def item_path(options = {})
137
+ name = options[:instance_variable] ? "@#{instance_name}" : instance_name
138
+ suffix = options[:full_url] ? "url" : "path"
139
+ if options[:action].to_s == "new"
140
+ "new_#{item_resource}_#{suffix}"
141
+ elsif options[:action].to_s == "edit"
142
+ "edit_#{item_resource}_#{suffix}(#{name})"
143
+ else
144
+ if name.include?('::') && !@namespace_model
145
+ namespace = singular_name.split('/')[0..-2]
146
+ "[:#{namespace.join(', :')}, #{name}]"
147
+ else
148
+ name
149
+ end
150
+ end
151
+ end
152
+
153
+ def item_url
154
+ if action? :show
155
+ item_path(:full_url => true, :instance_variable => true)
156
+ else
157
+ items_url
158
+ end
159
+ end
160
+
161
+ def items_url
162
+ if action? :index
163
+ item_resource.pluralize + '_url'
164
+ else
165
+ "root_url"
166
+ end
167
+ end
168
+
169
+
170
+ def plural_name
171
+ name.underscore.pluralize
172
+ end
173
+
174
+ def form_partial?
175
+ actions? :new, :edit
176
+ end
177
+
178
+ def all_actions
179
+ %w[index show new create edit update destroy parse_save_from_excel]
180
+ end
181
+
182
+ def action?(name)
183
+ controller_actions.include? name.to_s
184
+ end
185
+
186
+ def actions?(*names)
187
+ names.all? { |name| action? name }
188
+ end
189
+
190
+ def add_gem(name, options = {})
191
+ gemfile_content = File.read(destination_path("Gemfile"))
192
+ File.open(destination_path("Gemfile"), 'a') { |f| f.write("\n") } unless gemfile_content =~ /\n\Z/
193
+ gem name, options unless gemfile_content.include? name
194
+ end
195
+
196
+ def destination_path(path)
197
+ File.join(destination_root, path)
198
+ end
199
+
200
+
201
+ # If you use the NamedBase inheritance, a 'name' parameter has to follow the 'rails g integratedscaffold'. Won't work otherwise. If you don't want this, use ::Base
202
+
203
+
204
+ end
205
+ #endd of class
206
+
207
+ class Install < Rails::Generators::Base
208
+
209
+ def self.source_root
210
+ File.expand_path("../templates", __FILE__)
211
+ end
212
+
213
+
214
+ def initialize(*args, &block)
215
+ super
216
+ #now we invokde generators off twitter boootstrap and gritter
217
+ Rails::Generators.invoke('bootstrap:install')
218
+ Rails::Generators.invoke('gritter:locale')
219
+
220
+
221
+
222
+
223
+ end
224
+
225
+ def create_uploader
226
+ #creates the uploader ruby file using carrierwave
227
+ template 'file_uploader.rb', "app/uploaders/file_uploader.rb"
228
+ end
229
+
230
+ def create_images
231
+
232
+ # copies the standard images into the assets/images folder
233
+ @images=Array.new
234
+ @images= Dir.entries("#{Integratedscaffold.source_root}/assets/images")
235
+ @images.each do |image|
236
+
237
+ if image!=".." and image !="."
238
+ copy_file "assets/images/#{image.to_s}", "app/assets/images/#{image}"
239
+ end
240
+ end
241
+
242
+
243
+ end
244
+
245
+ def create_javascripts
246
+
247
+ # copies the standard javascripts into the assets/javascripts folder - Currently hard-coded
248
+ # TODO : Remove the hardcoding for the javascripts inclusion
249
+
250
+ copy_file "#{Integratedscaffold.source_root}/assets/javascripts/jquery.dataTables.min.js", "app/assets/javascripts/jquery.dataTables.min.js"
251
+
252
+ end
253
+
254
+ def create_stylesheets_exclusions
255
+
256
+ # copies the sequenced css into the assets/stylesheets/exclusions folder
257
+ directory "#{Integratedscaffold.source_root}/assets/stylesheets/exclusions", "app/assets/stylesheets/exclusions"
258
+ end
259
+
260
+ def create_javascript_exclusions
261
+
262
+ # copies the sequenced javascript into the assets/javascripts/exclusions folder
263
+ directory "#{Integratedscaffold.source_root}/assets/javascripts/exclusions", "app/assets/javascripts/exclusions"
264
+ end
265
+
266
+ def create_stylesheet_images
267
+
268
+ # copies the dependent css images into the assets/stylesheets/images folder
269
+ directory "#{Integratedscaffold.source_root}/assets/stylesheets/images", "app/assets/stylesheets/images"
270
+
271
+ end
272
+
273
+
274
+ def create_layouts
275
+ #TODO :remove hardcoding and make a loop for including all files in this folder
276
+ remove_file "app/views/layouts/application.html.erb"
277
+ template "#{Integratedscaffold.source_root}/layouts/application.html.erb", "app/views/layouts/application.html.erb"
278
+ template "#{Integratedscaffold.source_root}/layouts//dummy_data.html.erb", "app/views/layouts/scaffold.html.erb"
279
+ template "#{Integratedscaffold.source_root}/layouts/information_page.html.erb", "app/views/layouts/information_page.html.erb"
280
+ template "#{Integratedscaffold.source_root}/layouts/pageslide_form_at.html.erb", "app/views/layouts/pageslide_form_at.html.erb"
281
+ template "#{Integratedscaffold.source_root}/layouts/welcome.html.erb", "app/views/layouts/welcome.html.erb"
282
+
283
+ end
284
+
285
+
286
+ end
287
+
288
+
289
+ end
@@ -0,0 +1,8 @@
1
+ def create
2
+ @<%= instance_name %> = <%= class_name %>.new(params[:<%= instance_name %>])
3
+ if @<%= instance_name %>.save
4
+ redirect_to <%= items_url %>, :notice => "Successfully created <%= class_name.underscore.humanize.downcase %>."
5
+ else
6
+ render :new
7
+ end
8
+ end