jbootstrap 0.0.2 → 0.0.3

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/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
- ?>