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 +1 -1
- data/lib/jbootstrap/generators/backend.rb +19 -0
- data/lib/jbootstrap/generators/frontend.rb +35 -0
- data/lib/jbootstrap/runner.rb +17 -0
- data/lib/jbootstrap/templates/component/admin/admin.COM_NAME.php.tt +3 -3
- data/lib/jbootstrap/templates/component/com_COM_NAME.xml.tt +9 -9
- data/lib/jbootstrap/templates/component/site/controller.php.tt +2 -2
- data/lib/jbootstrap/templates/frontend/site/models/SC_NAME_SINGULAR.php.tt +22 -0
- data/lib/jbootstrap/templates/frontend/site/views/SC_NAME_SINGULAR/tmpl/default.php.tt +11 -0
- data/lib/jbootstrap/templates/frontend/site/views/SC_NAME_SINGULAR/view.html.php +19 -0
- data/lib/jbootstrap.rb +2 -0
- metadata +6 -2
- data/lib/jbootstrap/templates/front/site/models/COM_NAME_SINGULAR.php +0 -16
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.
|
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
|
data/lib/jbootstrap/runner.rb
CHANGED
@@ -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 %>&option=com_<%= @name %>"><%= @name.upcase %></menu>
|
43
|
+
<menu link="c=<%= @name.downcase %>&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
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.
|
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/
|
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
|
-
?>
|