jbootstrap 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/jbootstrap.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'jbootstrap'
3
- s.version = '0.0.2'
3
+ s.version = '0.0.3'
4
4
  s.date = '2012-11-12'
5
5
  s.summary = 'Generator and abstract classes for Joomla 1.5 components.'
6
6
  s.description = 'Generator and abstract classes for Joomla 1.5 components.'
@@ -0,0 +1,19 @@
1
+ module JBootstrap
2
+ module Generators
3
+ class BackendScaffold < Thor::Group
4
+ include Thor::Actions
5
+
6
+ desc "Generates a new backend scaffold."
7
+ argument :scaffold_name, :type => :string, :desc => "The name of the resource to be created."
8
+
9
+ def self.source_route
10
+ File.expand_path(File.join(File.dirname(__FILE__), %w[.. templates backend]))
11
+ end
12
+
13
+ def set_variables
14
+ @scaffold_name = scaffold_name.downcase
15
+ end
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,35 @@
1
+ module JBootstrap
2
+ module Generators
3
+ class FrontendScaffold < Thor::Group
4
+ include Thor::Actions
5
+
6
+ desc "Generates a new frontend scaffold."
7
+ argument :scaffold_name, :type => :string, :desc => "The name of the resource to be created."
8
+
9
+ def self.source_route
10
+ File.expand_path(File.join(File.dirname(__FILE__), %w[.. templates frontend]))
11
+ end
12
+
13
+ def set_variables
14
+ @scaffold_name = scaffold_name.downcase
15
+ @scaffold_singular_name = options[:singular_name] || @scaffold_name.chop
16
+ @component_name = options[:component_name] || File.basename(Dir.pwd).sub('com_', '')
17
+ @component_singular_name = options[:component_singular_name] || @component_name.chop
18
+ end
19
+
20
+ def copy_files
21
+ template "site/models/SC_NAME_SINGULAR.php.tt", "site/models/#{@scaffold_singular_name}.php"
22
+ template "site/views/SC_NAME_SINGULAR/view.html.php.tt", "site/views/#{@scaffold_singular_name}/view.html.php"
23
+ template "site/views/SC_NAME_SINGULAR/tmpl/default.php.tt", "site/views/#{@scaffold_singular_name}/tmpl/default.php"
24
+ end
25
+
26
+ def inject_manifest
27
+ inject_into_file "com_#{@component_name.downcase}.xml", :after => %Q{<files folder="site">\n} do
28
+ "\t\t<filename>site/models/#{@scaffold_singular_name}.php\n" +
29
+ "\t\t<filename>site/views/#{@scaffold_singular_name}/view.html.php\n" +
30
+ "\t\t<filename>site/views/#{@scaffold_singular_name}/tmpl/default.php\n"
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -7,6 +7,23 @@ module JBootstrap
7
7
  def component(name)
8
8
  JBootstrap::Generators::Component.start([name])
9
9
  end
10
+
11
+ desc "scaffold SCAFFOLD_NAME", "generates a new scaffold"
12
+ method_options %w[all -a] => false
13
+ method_options %w[frontend -f] => false
14
+ method_options %w[backend -b] => false
15
+ def scaffold(scaffold_name)
16
+ if options[:all]
17
+ JBootstrap::Generators::BackendScaffold.start([scaffold_name])
18
+ JBootstrap::Generators::FrontendScaffold.start([scaffold_name])
19
+ elsif options[:frontend]
20
+ JBootstrap::Generators::FrontendScaffold.start([scaffold_name])
21
+ elsif options[:backend]
22
+ JBootstrap::Generators::BackendScaffold.start([scaffold_name])
23
+ else
24
+ puts "You need to specify which type of scaffold you'd like to create ([-a]ll, [-f]rontend, or [-b]ackend.)"
25
+ end
26
+ end
10
27
  end
11
28
  end
12
29
 
@@ -3,7 +3,7 @@ defined('_JEXEC') or die('Restricted access');
3
3
  // $document = &JFactory::getDocument();
4
4
  // $document->addScript('components' . DS . 'COM_<%= @name.upcase %>' . DS . 'assets' . DS . 'js' . DS . 'jquery.js');
5
5
  // $document->addScript('components' . DS . 'COM_<%= @name.upcase %>' . DS . 'assets' . DS . 'js' . DS . '<%= @name.downcase %>.js');
6
- $component_acceptable_controllers = array('<%= @name %>');
6
+ $component_acceptable_controllers = array('<%= @name.downcase %>');
7
7
 
8
8
  function stop($msg)
9
9
  {
@@ -12,8 +12,8 @@ function stop($msg)
12
12
  $mainframe->close();
13
13
  }
14
14
 
15
- $c = JRequest::getVar('c', '<%= @name %>');
16
- if (!in_array($c, $component_acceptable_controllers)) $c = '<%= @name %>';
15
+ $c = JRequest::getVar('c', '<%= @name.downcase %>');
16
+ if (!in_array($c, $component_acceptable_controllers)) $c = '<%= @name.downcase %>';
17
17
 
18
18
  require_once(JPATH_COMPONENT . DS . 'controllers' . DS . $c . '.php');
19
19
 
@@ -11,8 +11,8 @@
11
11
  <description><%= @description %></description>
12
12
 
13
13
  <languages folder="site">
14
- <language tag="en-GB">language/en-GB/en-GB.com_<%= @name %>.ini</language>
15
- <language tag="fr-FR">language/fr-FR/fr-FR.com_<%= @name %>.ini</language>
14
+ <language tag="en-GB">language/en-GB/en-GB.com_<%= @name.downcase %>.ini</language>
15
+ <language tag="fr-FR">language/fr-FR/fr-FR.com_<%= @name.downcase %>.ini</language>
16
16
  </languages>
17
17
 
18
18
  <installfile>install.php</installfile>
@@ -34,13 +34,13 @@
34
34
  <filename>abstracts/model.php</filename>
35
35
 
36
36
  <filename>controller.php</filename>
37
- <filename><%= @name %>.php</filename>
37
+ <filename><%= @name.downcase %>.php</filename>
38
38
  </files>
39
39
 
40
40
  <administration>
41
41
  <menu>COM_<%= @name.upcase %></menu>
42
42
  <submenu>
43
- <menu link="c=<%= @name %>&amp;option=com_<%= @name %>"><%= @name.upcase %></menu>
43
+ <menu link="c=<%= @name.downcase %>&amp;option=com_<%= @name.downcase %>"><%= @name.upcase %></menu>
44
44
  </submenu>
45
45
  <files folder="admin">
46
46
  <filename>install.php</filename>
@@ -53,13 +53,13 @@
53
53
  <filename>abstracts/controller.php</filename>
54
54
  <filename>abstracts/table.php</filename>
55
55
 
56
- <filename>admin.<%= @name %>.php</filename>
56
+ <filename>admin.<%= @name.downcase %>.php</filename>
57
57
  </files>
58
58
  <languages folder="admin">
59
- <language tag="en-GB">language/en-GB/en-GB.com_<%= @name %>.ini</language>
60
- <language tag="fr-FR">language/fr-FR/fr-FR.com_<%= @name %>.ini</language>
61
- <language tag="en-GB">language/en-GB/en-GB.com_<%= @name %>.menu.ini</language>
62
- <language tag="fr-FR">language/fr-FR/fr-FR.com_<%= @name %>.menu.ini</language>
59
+ <language tag="en-GB">language/en-GB/en-GB.com_<%= @name.downcase %>.ini</language>
60
+ <language tag="fr-FR">language/fr-FR/fr-FR.com_<%= @name.downcase %>.ini</language>
61
+ <language tag="en-GB">language/en-GB/en-GB.com_<%= @name.downcase %>.menu.ini</language>
62
+ <language tag="fr-FR">language/fr-FR/fr-FR.com_<%= @name.downcase %>.menu.ini</language>
63
63
  </languages>
64
64
  </administration>
65
65
  </install>
@@ -7,7 +7,7 @@ class <%= @name.capitalize %>Controller extends AbstractFrontendController
7
7
  {
8
8
  function __construct()
9
9
  {
10
- parent::__construct('<%= singular_name.downcase %>');
10
+ parent::__construct('<%= @singular_name.downcase %>');
11
11
  }
12
12
 
13
13
  public function display()
@@ -16,4 +16,4 @@ class <%= @name.capitalize %>Controller extends AbstractFrontendController
16
16
  }
17
17
  }
18
18
 
19
- ?>
19
+ ?>
@@ -0,0 +1,22 @@
1
+ <?php
2
+
3
+ defined('_JEXEC') or die('Restricted Access');
4
+ require_once(JPATH_COMPONENT . DS . 'abstracts' . DS . 'model.php');
5
+
6
+ class <%= @component_name.capitalize %>Model<%= @scaffold_singular_name.capitalize %> extends AbstractFrontendModel
7
+ {
8
+ function __construct()
9
+ {
10
+ parent::__construct('<%= @scaffold_singular_name %>');
11
+ }
12
+
13
+ protected function getIndexQuery()
14
+ {
15
+ return sprintf("SELECT * from %s",
16
+ $this->getTableName());
17
+ }
18
+ }
19
+
20
+
21
+
22
+ ?>
@@ -0,0 +1,11 @@
1
+ <?php
2
+ defined('_JEXEC') or die('Restricted Access');
3
+ ?>
4
+
5
+ <div id="<%= @scaffold_name %>">
6
+ <? if ($this-><%= @scaffold_name %>): ?>
7
+ <h3 class="contentheading"><?= JText::_('COM_<%= @component_name.upcase %>_<%= @scaffold_singular_name.upcase %>_TITLE'); ?></h3>
8
+ <? else: ?>
9
+ <h3 class="contentheading"><?= JText::_('COM_<%= @component_name.upcase %>_NO_<%= @scaffold_name.upcase %>'); ?></h3>
10
+ <? endif; ?>
11
+ </div>
@@ -0,0 +1,19 @@
1
+ <?php
2
+ defined('_JEXEC') or die('Restricted Access');
3
+ require_once(JPATH_COMPONENT . DS . 'abstracts' . DS . 'view.php');
4
+
5
+ class <%= @component_name.capitalize %>View<%= @scaffold_singular_name.capitalize %> extends AbstractFrontendView
6
+ {
7
+
8
+ function __construct()
9
+ {
10
+ parent::__construct('<%= @scaffold_singular_name %>');
11
+ }
12
+
13
+ protected function displayAssigns()
14
+ {
15
+ }
16
+ }
17
+
18
+
19
+ ?>
data/lib/jbootstrap.rb CHANGED
@@ -11,4 +11,6 @@ require 'thor/runner'
11
11
  require 'date'
12
12
 
13
13
  require 'jbootstrap/generators/component'
14
+ require 'jbootstrap/generators/frontend'
15
+ require 'jbootstrap/generators/backend'
14
16
  require 'jbootstrap/runner'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jbootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -43,7 +43,9 @@ files:
43
43
  - bin/jbootstrap
44
44
  - jbootstrap.gemspec
45
45
  - lib/jbootstrap.rb
46
+ - lib/jbootstrap/generators/backend.rb
46
47
  - lib/jbootstrap/generators/component.rb
48
+ - lib/jbootstrap/generators/frontend.rb
47
49
  - lib/jbootstrap/runner.rb
48
50
  - lib/jbootstrap/templates/component/Gemfile
49
51
  - lib/jbootstrap/templates/component/Guardfile
@@ -68,7 +70,9 @@ files:
68
70
  - lib/jbootstrap/templates/component/site/controller.php.tt
69
71
  - lib/jbootstrap/templates/component/site/language/en-GB/en-GB.com_COM_NAME.ini.tt
70
72
  - lib/jbootstrap/templates/component/site/language/fr-FR/fr-FR.com_COM_NAME.ini.tt
71
- - lib/jbootstrap/templates/front/site/models/COM_NAME_SINGULAR.php
73
+ - lib/jbootstrap/templates/frontend/site/models/SC_NAME_SINGULAR.php.tt
74
+ - lib/jbootstrap/templates/frontend/site/views/SC_NAME_SINGULAR/tmpl/default.php.tt
75
+ - lib/jbootstrap/templates/frontend/site/views/SC_NAME_SINGULAR/view.html.php
72
76
  homepage:
73
77
  licenses: []
74
78
  post_install_message:
@@ -1,16 +0,0 @@
1
- <?php
2
-
3
- defined('_JEXEC') or die('Restricted Access');
4
- require_once(JPATH_COMPONENT . DS . 'abstracts' . DS . 'model.php');
5
-
6
- class COM_NAME_UCFIRSTModelCOM_ENTITY_SINGULAR extends AbstractFrontendModel
7
- {
8
-
9
- function __construct()
10
- {
11
- parent::__construct('COM_ENTITY_SINGULAR');
12
- }
13
-
14
- }
15
-
16
- ?>