dima-ruboss4ruby 1.0.5
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/Generators +7 -0
- data/History.txt +4 -0
- data/Manifest.txt +116 -0
- data/README.rdoc +23 -0
- data/gpl-3.0.txt +674 -0
- data/lib/ruboss4ruby.rb +84 -0
- data/lib/ruboss4ruby/active_foo.rb +221 -0
- data/lib/ruboss4ruby/active_record_tasks.rb +75 -0
- data/lib/ruboss4ruby/configuration.rb +59 -0
- data/lib/ruboss4ruby/datamapper_foo.rb +25 -0
- data/lib/ruboss4ruby/generated_attribute.rb +61 -0
- data/lib/ruboss4ruby/tasks.rb +80 -0
- data/merb_generators/ruboss_config.rb +103 -0
- data/merb_generators/ruboss_controller.rb +59 -0
- data/merb_generators/ruboss_flex_app.rb +67 -0
- data/merb_generators/ruboss_resource.rb +37 -0
- data/merb_generators/ruboss_resource_controller.rb +80 -0
- data/merb_generators/ruboss_scaffold.rb +157 -0
- data/merb_generators/templates/ruboss_config/actionscript.properties +16 -0
- data/merb_generators/templates/ruboss_config/actionscriptair.properties +16 -0
- data/merb_generators/templates/ruboss_config/expressInstall.swf +0 -0
- data/merb_generators/templates/ruboss_config/flex.properties +2 -0
- data/merb_generators/templates/ruboss_config/html-template/AC_OETags.js +276 -0
- data/merb_generators/templates/ruboss_config/html-template/history/history.css +6 -0
- data/merb_generators/templates/ruboss_config/html-template/history/history.js +645 -0
- data/merb_generators/templates/ruboss_config/html-template/history/historyFrame.html +29 -0
- data/merb_generators/templates/ruboss_config/html-template/index.template.html +121 -0
- data/merb_generators/templates/ruboss_config/html-template/playerProductInstall.swf +0 -0
- data/merb_generators/templates/ruboss_config/index.html.erb +18 -0
- data/merb_generators/templates/ruboss_config/mainair-app.xml +134 -0
- data/merb_generators/templates/ruboss_config/project.properties +18 -0
- data/merb_generators/templates/ruboss_config/projectair.properties +24 -0
- data/merb_generators/templates/ruboss_config/ruboss.yml +16 -0
- data/merb_generators/templates/ruboss_config/swfobject.js +5 -0
- data/merb_generators/templates/ruboss_controller/controller.as.erb +40 -0
- data/merb_generators/templates/ruboss_flex_app/mainapp.mxml +34 -0
- data/merb_generators/templates/ruboss_resource_controller/controller_ar.rb.erb +49 -0
- data/merb_generators/templates/ruboss_resource_controller/controller_dm.rb.erb +46 -0
- data/merb_generators/templates/ruboss_resource_controller/spec/controllers/%file_name%_spec.rb +7 -0
- data/merb_generators/templates/ruboss_resource_controller/spec/requests/%file_name%_spec.rb +1 -0
- data/merb_generators/templates/ruboss_resource_controller/test/controllers/%file_name%_test.rb +17 -0
- data/rails_generators/ruboss_config/USAGE +18 -0
- data/rails_generators/ruboss_config/ruboss_config_generator.rb +114 -0
- data/rails_generators/ruboss_config/templates/actionscript.properties +16 -0
- data/rails_generators/ruboss_config/templates/actionscriptair.properties +16 -0
- data/rails_generators/ruboss_config/templates/expressInstall.swf +0 -0
- data/rails_generators/ruboss_config/templates/flex.properties +2 -0
- data/rails_generators/ruboss_config/templates/html-template/AC_OETags.js +276 -0
- data/rails_generators/ruboss_config/templates/html-template/history/history.css +6 -0
- data/rails_generators/ruboss_config/templates/html-template/history/history.js +645 -0
- data/rails_generators/ruboss_config/templates/html-template/history/historyFrame.html +29 -0
- data/rails_generators/ruboss_config/templates/html-template/index.template.html +121 -0
- data/rails_generators/ruboss_config/templates/html-template/playerProductInstall.swf +0 -0
- data/rails_generators/ruboss_config/templates/index.html.erb +18 -0
- data/rails_generators/ruboss_config/templates/mainair-app.xml +134 -0
- data/rails_generators/ruboss_config/templates/mainapp-config.xml +21 -0
- data/rails_generators/ruboss_config/templates/mainapp.mxml +31 -0
- data/rails_generators/ruboss_config/templates/project-textmate.erb +52 -0
- data/rails_generators/ruboss_config/templates/project.properties +18 -0
- data/rails_generators/ruboss_config/templates/projectair.properties +24 -0
- data/rails_generators/ruboss_config/templates/ruboss.yml +14 -0
- data/rails_generators/ruboss_config/templates/ruboss_tasks.rake +5 -0
- data/rails_generators/ruboss_config/templates/swfobject.js +5 -0
- data/rails_generators/ruboss_controller/USAGE +11 -0
- data/rails_generators/ruboss_controller/ruboss_controller_generator.rb +31 -0
- data/rails_generators/ruboss_controller/templates/controller.as.erb +40 -0
- data/rails_generators/ruboss_scaffold/USAGE +35 -0
- data/rails_generators/ruboss_scaffold/ruboss_scaffold_generator.rb +177 -0
- data/rails_generators/ruboss_scaffold/templates/component.mxml.erb +149 -0
- data/rails_generators/ruboss_scaffold/templates/controller.rb.erb +97 -0
- data/rails_generators/ruboss_scaffold/templates/fixtures.yml.erb +35 -0
- data/rails_generators/ruboss_scaffold/templates/migration.rb.erb +19 -0
- data/rails_generators/ruboss_scaffold/templates/model.as.erb +42 -0
- data/rails_generators/ruboss_scaffold/templates/model.rb.erb +11 -0
- data/rails_generators/ruboss_yaml_scaffold/USAGE +14 -0
- data/rails_generators/ruboss_yaml_scaffold/ruboss_yaml_scaffold_generator.rb +44 -0
- data/rcl-1.0.txt +0 -0
- metadata +197 -0
@@ -0,0 +1,29 @@
|
|
1
|
+
<html>
|
2
|
+
<head>
|
3
|
+
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
|
4
|
+
<META HTTP-EQUIV="Expires" CONTENT="-1">
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
<script>
|
8
|
+
function processUrl()
|
9
|
+
{
|
10
|
+
|
11
|
+
var pos = url.indexOf("?");
|
12
|
+
url = pos != -1 ? url.substr(pos + 1) : "";
|
13
|
+
if (!parent._ie_firstload) {
|
14
|
+
parent.BrowserHistory.setBrowserURL(url);
|
15
|
+
try {
|
16
|
+
parent.BrowserHistory.browserURLChange(url);
|
17
|
+
} catch(e) { }
|
18
|
+
} else {
|
19
|
+
parent._ie_firstload = false;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
var url = document.location.href;
|
24
|
+
processUrl();
|
25
|
+
document.write(url);
|
26
|
+
</script>
|
27
|
+
Hidden frame for Browser History support.
|
28
|
+
</body>
|
29
|
+
</html>
|
@@ -0,0 +1,121 @@
|
|
1
|
+
<!-- saved from url=(0014)about:internet -->
|
2
|
+
<html lang="en">
|
3
|
+
|
4
|
+
<!--
|
5
|
+
Smart developers always View Source.
|
6
|
+
|
7
|
+
This application was built using Adobe Flex, an open source framework
|
8
|
+
for building rich Internet applications that get delivered via the
|
9
|
+
Flash Player or to desktops via Adobe AIR.
|
10
|
+
|
11
|
+
Learn more about Flex at http://flex.org
|
12
|
+
// -->
|
13
|
+
|
14
|
+
<head>
|
15
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
16
|
+
|
17
|
+
<!-- BEGIN Browser History required section -->
|
18
|
+
<link rel="stylesheet" type="text/css" href="history/history.css" />
|
19
|
+
<!-- END Browser History required section -->
|
20
|
+
|
21
|
+
<title>${title}</title>
|
22
|
+
<script src="AC_OETags.js" language="javascript"></script>
|
23
|
+
|
24
|
+
<!-- BEGIN Browser History required section -->
|
25
|
+
<script src="history/history.js" language="javascript"></script>
|
26
|
+
<!-- END Browser History required section -->
|
27
|
+
|
28
|
+
<style>
|
29
|
+
body { margin: 0px; overflow:hidden }
|
30
|
+
</style>
|
31
|
+
<script language="JavaScript" type="text/javascript">
|
32
|
+
<!--
|
33
|
+
// -----------------------------------------------------------------------------
|
34
|
+
// Globals
|
35
|
+
// Major version of Flash required
|
36
|
+
var requiredMajorVersion = ${version_major};
|
37
|
+
// Minor version of Flash required
|
38
|
+
var requiredMinorVersion = ${version_minor};
|
39
|
+
// Minor version of Flash required
|
40
|
+
var requiredRevision = ${version_revision};
|
41
|
+
// -----------------------------------------------------------------------------
|
42
|
+
// -->
|
43
|
+
</script>
|
44
|
+
</head>
|
45
|
+
|
46
|
+
<body scroll="no">
|
47
|
+
<script language="JavaScript" type="text/javascript">
|
48
|
+
<!--
|
49
|
+
// Version check for the Flash Player that has the ability to start Player Product Install (6.0r65)
|
50
|
+
var hasProductInstall = DetectFlashVer(6, 0, 65);
|
51
|
+
|
52
|
+
// Version check based upon the values defined in globals
|
53
|
+
var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
|
54
|
+
|
55
|
+
if ( hasProductInstall && !hasRequestedVersion ) {
|
56
|
+
// DO NOT MODIFY THE FOLLOWING FOUR LINES
|
57
|
+
// Location visited after installation is complete if installation is required
|
58
|
+
var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
|
59
|
+
var MMredirectURL = window.location;
|
60
|
+
document.title = document.title.slice(0, 47) + " - Flash Player Installation";
|
61
|
+
var MMdoctitle = document.title;
|
62
|
+
|
63
|
+
AC_FL_RunContent(
|
64
|
+
"src", "playerProductInstall",
|
65
|
+
"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
|
66
|
+
"width", "${width}",
|
67
|
+
"height", "${height}",
|
68
|
+
"align", "middle",
|
69
|
+
"id", "${application}",
|
70
|
+
"quality", "high",
|
71
|
+
"bgcolor", "${bgcolor}",
|
72
|
+
"name", "${application}",
|
73
|
+
"allowScriptAccess","sameDomain",
|
74
|
+
"type", "application/x-shockwave-flash",
|
75
|
+
"pluginspage", "http://www.adobe.com/go/getflashplayer"
|
76
|
+
);
|
77
|
+
} else if (hasRequestedVersion) {
|
78
|
+
// if we've detected an acceptable version
|
79
|
+
// embed the Flash Content SWF when all tests are passed
|
80
|
+
AC_FL_RunContent(
|
81
|
+
"src", "${swf}",
|
82
|
+
"width", "${width}",
|
83
|
+
"height", "${height}",
|
84
|
+
"align", "middle",
|
85
|
+
"id", "${application}",
|
86
|
+
"quality", "high",
|
87
|
+
"bgcolor", "${bgcolor}",
|
88
|
+
"name", "${application}",
|
89
|
+
"allowScriptAccess","sameDomain",
|
90
|
+
"type", "application/x-shockwave-flash",
|
91
|
+
"pluginspage", "http://www.adobe.com/go/getflashplayer"
|
92
|
+
);
|
93
|
+
} else { // flash is too old or we can't detect the plugin
|
94
|
+
var alternateContent = 'Alternate HTML content should be placed here. '
|
95
|
+
+ 'This content requires the Adobe Flash Player. '
|
96
|
+
+ '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
|
97
|
+
document.write(alternateContent); // insert non-flash content
|
98
|
+
}
|
99
|
+
// -->
|
100
|
+
</script>
|
101
|
+
<noscript>
|
102
|
+
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
|
103
|
+
id="${application}" width="${width}" height="${height}"
|
104
|
+
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
|
105
|
+
<param name="movie" value="${swf}.swf" />
|
106
|
+
<param name="quality" value="high" />
|
107
|
+
<param name="bgcolor" value="${bgcolor}" />
|
108
|
+
<param name="allowScriptAccess" value="sameDomain" />
|
109
|
+
<embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}"
|
110
|
+
width="${width}" height="${height}" name="${application}" align="middle"
|
111
|
+
play="true"
|
112
|
+
loop="false"
|
113
|
+
quality="high"
|
114
|
+
allowScriptAccess="sameDomain"
|
115
|
+
type="application/x-shockwave-flash"
|
116
|
+
pluginspage="http://www.adobe.com/go/getflashplayer">
|
117
|
+
</embed>
|
118
|
+
</object>
|
119
|
+
</noscript>
|
120
|
+
</body>
|
121
|
+
</html>
|
Binary file
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<html>
|
2
|
+
<head>
|
3
|
+
<title><%= project_name %></title>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
5
|
+
<script type="text/javascript" src="/javascripts/swfobject.js"></script>
|
6
|
+
<script type="text/javascript">
|
7
|
+
swfobject.embedSWF("/bin/<%= project_name %>.swf", "mainApp", "100%", "100%", "9.0.0", "expressInstall.swf");
|
8
|
+
</script>
|
9
|
+
<style>
|
10
|
+
body { margin: 0px; overflow: hidden; }
|
11
|
+
</style>
|
12
|
+
</head>
|
13
|
+
<body>
|
14
|
+
<div id="mainApp">
|
15
|
+
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
|
16
|
+
</div>
|
17
|
+
</body>
|
18
|
+
</html>
|
@@ -0,0 +1,134 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<application xmlns="http://ns.adobe.com/air/application/1.0">
|
3
|
+
|
4
|
+
<!-- Adobe AIR Application Descriptor File Template.
|
5
|
+
|
6
|
+
Specifies parameters for identifying, installing, and launching AIR applications.
|
7
|
+
See http://www.adobe.com/go/air_1.0_application_descriptor for complete documentation.
|
8
|
+
|
9
|
+
xmlns - The Adobe AIR namespace: http://ns.adobe.com/air/application/1.0
|
10
|
+
The last segment of the namespace specifies the version
|
11
|
+
of the AIR runtime required for this application to run.
|
12
|
+
|
13
|
+
minimumPatchLevel - The minimum patch level of the AIR runtime required to run
|
14
|
+
the application. Optional.
|
15
|
+
-->
|
16
|
+
|
17
|
+
<!-- The application identifier string, unique to this application. Required. -->
|
18
|
+
<id><%= project_name %></id>
|
19
|
+
|
20
|
+
<!-- Used as the filename for the application. Required. -->
|
21
|
+
<filename><%= project_name %></filename>
|
22
|
+
|
23
|
+
<!-- The name that is displayed in the AIR application installer. Optional. -->
|
24
|
+
<name><%= project_name %></name>
|
25
|
+
|
26
|
+
<!-- An application version designator (such as "v1", "2.5", or "Alpha 1"). Required. -->
|
27
|
+
<version>v1</version>
|
28
|
+
|
29
|
+
<!-- Description, displayed in the AIR application installer. Optional. -->
|
30
|
+
<!-- <description></description> -->
|
31
|
+
|
32
|
+
<!-- Copyright information. Optional -->
|
33
|
+
<!-- <copyright></copyright> -->
|
34
|
+
|
35
|
+
<!-- Settings for the application's initial window. Required. -->
|
36
|
+
<initialWindow>
|
37
|
+
<!-- The main SWF or HTML file of the application. Required. -->
|
38
|
+
<!-- Note: In Flex Builder, the SWF reference is set automatically. -->
|
39
|
+
<content>[This value will be overwritten by Flex Builder in the output app.xml]</content>
|
40
|
+
|
41
|
+
<!-- The title of the main window. Optional. -->
|
42
|
+
<!-- <title></title> -->
|
43
|
+
|
44
|
+
<!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. -->
|
45
|
+
<!-- <systemChrome></systemChrome> -->
|
46
|
+
|
47
|
+
<!-- Whether the window is transparent. Only applicable when systemChrome is false. Optional. Default false. -->
|
48
|
+
<!-- <transparent></transparent> -->
|
49
|
+
|
50
|
+
<!-- Whether the window is initially visible. Optional. Default false. -->
|
51
|
+
<!-- <visible></visible> -->
|
52
|
+
|
53
|
+
<!-- Whether the user can minimize the window. Optional. Default true. -->
|
54
|
+
<!-- <minimizable></minimizable> -->
|
55
|
+
|
56
|
+
<!-- Whether the user can maximize the window. Optional. Default true. -->
|
57
|
+
<!-- <maximizable></maximizable> -->
|
58
|
+
|
59
|
+
<!-- Whether the user can resize the window. Optional. Default true. -->
|
60
|
+
<!-- <resizable></resizable> -->
|
61
|
+
|
62
|
+
<!-- The window's initial width. Optional. -->
|
63
|
+
<!-- <width></width> -->
|
64
|
+
|
65
|
+
<!-- The window's initial height. Optional. -->
|
66
|
+
<!-- <height></height> -->
|
67
|
+
|
68
|
+
<!-- The window's initial x position. Optional. -->
|
69
|
+
<!-- <x></x> -->
|
70
|
+
|
71
|
+
<!-- The window's initial y position. Optional. -->
|
72
|
+
<!-- <y></y> -->
|
73
|
+
|
74
|
+
<!-- The window's minimum size, specified as a width/height pair, such as "400 200". Optional. -->
|
75
|
+
<!-- <minSize></minSize> -->
|
76
|
+
|
77
|
+
<!-- The window's initial maximum size, specified as a width/height pair, such as "1600 1200". Optional. -->
|
78
|
+
<!-- <maxSize></maxSize> -->
|
79
|
+
</initialWindow>
|
80
|
+
|
81
|
+
<!-- The subpath of the standard default installation location to use. Optional. -->
|
82
|
+
<!-- <installFolder></installFolder> -->
|
83
|
+
|
84
|
+
<!-- The subpath of the Windows Start/Programs menu to use. Optional. -->
|
85
|
+
<!-- <programMenuFolder></programMenuFolder> -->
|
86
|
+
|
87
|
+
<!-- The icon the system uses for the application. For at least one resolution,
|
88
|
+
specify the path to a PNG file included in the AIR package. Optional. -->
|
89
|
+
<!-- <icon>
|
90
|
+
<image16x16></image16x16>
|
91
|
+
<image32x32></image32x32>
|
92
|
+
<image48x48></image48x48>
|
93
|
+
<image128x128></image128x128>
|
94
|
+
</icon> -->
|
95
|
+
|
96
|
+
<!-- Whether the application handles the update when a user double-clicks an update version
|
97
|
+
of the AIR file (true), or the default AIR application installer handles the update (false).
|
98
|
+
Optional. Default false. -->
|
99
|
+
<!-- <customUpdateUI></customUpdateUI> -->
|
100
|
+
|
101
|
+
<!-- Whether the application can be launched when the user clicks a link in a web browser.
|
102
|
+
Optional. Default false. -->
|
103
|
+
<!-- <allowBrowserInvocation></allowBrowserInvocation> -->
|
104
|
+
|
105
|
+
<!-- Listing of file types for which the application can register. Optional. -->
|
106
|
+
<!-- <fileTypes> -->
|
107
|
+
|
108
|
+
<!-- Defines one file type. Optional. -->
|
109
|
+
<!-- <fileType> -->
|
110
|
+
|
111
|
+
<!-- The name that the system displays for the registered file type. Required. -->
|
112
|
+
<!-- <name></name> -->
|
113
|
+
|
114
|
+
<!-- The extension to register. Required. -->
|
115
|
+
<!-- <extension></extension> -->
|
116
|
+
|
117
|
+
<!-- The description of the file type. Optional. -->
|
118
|
+
<!-- <description></description> -->
|
119
|
+
|
120
|
+
<!-- The MIME type. Optional. -->
|
121
|
+
<!-- <contentType></contentType> -->
|
122
|
+
|
123
|
+
<!-- The icon to display for the file type. Optional. -->
|
124
|
+
<!-- <icon>
|
125
|
+
<image16x16></image16x16>
|
126
|
+
<image32x32></image32x32>
|
127
|
+
<image48x48></image48x48>
|
128
|
+
<image128x128></image128x128>
|
129
|
+
</icon> -->
|
130
|
+
|
131
|
+
<!-- </fileType> -->
|
132
|
+
<!-- </fileTypes> -->
|
133
|
+
|
134
|
+
</application>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<projectDescription>
|
3
|
+
<name><%= flex_project_name %></name>
|
4
|
+
<comment></comment>
|
5
|
+
<projects>
|
6
|
+
</projects>
|
7
|
+
<buildSpec>
|
8
|
+
<buildCommand>
|
9
|
+
<name>com.adobe.flexbuilder.project.flexbuilder</name>
|
10
|
+
<arguments>
|
11
|
+
</arguments>
|
12
|
+
</buildCommand>
|
13
|
+
</buildSpec>
|
14
|
+
<natures>
|
15
|
+
<nature>com.adobe.flexbuilder.project.flexnature</nature>
|
16
|
+
<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
|
17
|
+
</natures>
|
18
|
+
</projectDescription>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<projectDescription>
|
3
|
+
<name><%= flex_project_name %></name>
|
4
|
+
<comment></comment>
|
5
|
+
<projects>
|
6
|
+
</projects>
|
7
|
+
<buildSpec>
|
8
|
+
<buildCommand>
|
9
|
+
<name>com.adobe.flexbuilder.project.flexbuilder</name>
|
10
|
+
<arguments>
|
11
|
+
</arguments>
|
12
|
+
</buildCommand>
|
13
|
+
<buildCommand>
|
14
|
+
<name>com.adobe.flexbuilder.apollo.apollobuilder</name>
|
15
|
+
<arguments>
|
16
|
+
</arguments>
|
17
|
+
</buildCommand>
|
18
|
+
</buildSpec>
|
19
|
+
<natures>
|
20
|
+
<nature>com.adobe.flexbuilder.apollo.apollonature</nature>
|
21
|
+
<nature>com.adobe.flexbuilder.project.flexnature</nature>
|
22
|
+
<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
|
23
|
+
</natures>
|
24
|
+
</projectDescription>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Ruboss code generation configuration options
|
2
|
+
|
3
|
+
# By default flex models, commands, controllers and components are genearated into
|
4
|
+
# app/flex/<your rails project name> folder. If you'd like to customize the target folder
|
5
|
+
# (to say append a "com" package before your rails project name) uncomment the line below
|
6
|
+
# base-package must follow the usual flex package notation (a string separated by ".")
|
7
|
+
|
8
|
+
#base-package: com.pomodo
|
9
|
+
|
10
|
+
# Main ruboss controller is typically named after your rails project name (camel-cased with a word
|
11
|
+
# Controller appended at the end, e.g. if your application is called "pomodo" the flex application
|
12
|
+
# controller will be called "PomodoController"). This controller is created in
|
13
|
+
# <base-package>.controllers folder. You can customize the name by uncommenting the following line
|
14
|
+
# and changing the controller name.
|
15
|
+
|
16
|
+
#controller-name: PomodoController
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/* SWFObject v2.0 <http://code.google.com/p/swfobject/>
|
2
|
+
Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis
|
3
|
+
This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
|
4
|
+
*/
|
5
|
+
var swfobject=function(){var Z="undefined",P="object",B="Shockwave Flash",h="ShockwaveFlash.ShockwaveFlash",W="application/x-shockwave-flash",K="SWFObjectExprInst",G=window,g=document,N=navigator,f=[],H=[],Q=null,L=null,T=null,S=false,C=false;var a=function(){var l=typeof g.getElementById!=Z&&typeof g.getElementsByTagName!=Z&&typeof g.createElement!=Z&&typeof g.appendChild!=Z&&typeof g.replaceChild!=Z&&typeof g.removeChild!=Z&&typeof g.cloneNode!=Z,t=[0,0,0],n=null;if(typeof N.plugins!=Z&&typeof N.plugins[B]==P){n=N.plugins[B].description;if(n){n=n.replace(/^.*\s+(\S+\s+\S+$)/,"$1");t[0]=parseInt(n.replace(/^(.*)\..*$/,"$1"),10);t[1]=parseInt(n.replace(/^.*\.(.*)\s.*$/,"$1"),10);t[2]=/r/.test(n)?parseInt(n.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof G.ActiveXObject!=Z){var o=null,s=false;try{o=new ActiveXObject(h+".7")}catch(k){try{o=new ActiveXObject(h+".6");t=[6,0,21];o.AllowScriptAccess="always"}catch(k){if(t[0]==6){s=true}}if(!s){try{o=new ActiveXObject(h)}catch(k){}}}if(!s&&o){try{n=o.GetVariable("$version");if(n){n=n.split(" ")[1].split(",");t=[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]}}catch(k){}}}}var v=N.userAgent.toLowerCase(),j=N.platform.toLowerCase(),r=/webkit/.test(v)?parseFloat(v.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,i=false,q=j?/win/.test(j):/win/.test(v),m=j?/mac/.test(j):/mac/.test(v);/*@cc_on i=true;@if(@_win32)q=true;@elif(@_mac)m=true;@end@*/return{w3cdom:l,pv:t,webkit:r,ie:i,win:q,mac:m}}();var e=function(){if(!a.w3cdom){return }J(I);if(a.ie&&a.win){try{g.write("<script id=__ie_ondomload defer=true src=//:><\/script>");var i=c("__ie_ondomload");if(i){i.onreadystatechange=function(){if(this.readyState=="complete"){this.parentNode.removeChild(this);V()}}}}catch(j){}}if(a.webkit&&typeof g.readyState!=Z){Q=setInterval(function(){if(/loaded|complete/.test(g.readyState)){V()}},10)}if(typeof g.addEventListener!=Z){g.addEventListener("DOMContentLoaded",V,null)}M(V)}();function V(){if(S){return }if(a.ie&&a.win){var m=Y("span");try{var l=g.getElementsByTagName("body")[0].appendChild(m);l.parentNode.removeChild(l)}catch(n){return }}S=true;if(Q){clearInterval(Q);Q=null}var j=f.length;for(var k=0;k<j;k++){f[k]()}}function J(i){if(S){i()}else{f[f.length]=i}}function M(j){if(typeof G.addEventListener!=Z){G.addEventListener("load",j,false)}else{if(typeof g.addEventListener!=Z){g.addEventListener("load",j,false)}else{if(typeof G.attachEvent!=Z){G.attachEvent("onload",j)}else{if(typeof G.onload=="function"){var i=G.onload;G.onload=function(){i();j()}}else{G.onload=j}}}}}function I(){var l=H.length;for(var j=0;j<l;j++){var m=H[j].id;if(a.pv[0]>0){var k=c(m);if(k){H[j].width=k.getAttribute("width")?k.getAttribute("width"):"0";H[j].height=k.getAttribute("height")?k.getAttribute("height"):"0";if(O(H[j].swfVersion)){if(a.webkit&&a.webkit<312){U(k)}X(m,true)}else{if(H[j].expressInstall&&!C&&O("6.0.65")&&(a.win||a.mac)){D(H[j])}else{d(k)}}}}else{X(m,true)}}}function U(m){var k=m.getElementsByTagName(P)[0];if(k){var p=Y("embed"),r=k.attributes;if(r){var o=r.length;for(var n=0;n<o;n++){if(r[n].nodeName.toLowerCase()=="data"){p.setAttribute("src",r[n].nodeValue)}else{p.setAttribute(r[n].nodeName,r[n].nodeValue)}}}var q=k.childNodes;if(q){var s=q.length;for(var l=0;l<s;l++){if(q[l].nodeType==1&&q[l].nodeName.toLowerCase()=="param"){p.setAttribute(q[l].getAttribute("name"),q[l].getAttribute("value"))}}}m.parentNode.replaceChild(p,m)}}function F(i){if(a.ie&&a.win&&O("8.0.0")){G.attachEvent("onunload",function(){var k=c(i);if(k){for(var j in k){if(typeof k[j]=="function"){k[j]=function(){}}}k.parentNode.removeChild(k)}})}}function D(j){C=true;var o=c(j.id);if(o){if(j.altContentId){var l=c(j.altContentId);if(l){L=l;T=j.altContentId}}else{L=b(o)}if(!(/%$/.test(j.width))&&parseInt(j.width,10)<310){j.width="310"}if(!(/%$/.test(j.height))&&parseInt(j.height,10)<137){j.height="137"}g.title=g.title.slice(0,47)+" - Flash Player Installation";var n=a.ie&&a.win?"ActiveX":"PlugIn",k=g.title,m="MMredirectURL="+G.location+"&MMplayerType="+n+"&MMdoctitle="+k,p=j.id;if(a.ie&&a.win&&o.readyState!=4){var i=Y("div");p+="SWFObjectNew";i.setAttribute("id",p);o.parentNode.insertBefore(i,o);o.style.display="none";G.attachEvent("onload",function(){o.parentNode.removeChild(o)})}R({data:j.expressInstall,id:K,width:j.width,height:j.height},{flashvars:m},p)}}function d(j){if(a.ie&&a.win&&j.readyState!=4){var i=Y("div");j.parentNode.insertBefore(i,j);i.parentNode.replaceChild(b(j),i);j.style.display="none";G.attachEvent("onload",function(){j.parentNode.removeChild(j)})}else{j.parentNode.replaceChild(b(j),j)}}function b(n){var m=Y("div");if(a.win&&a.ie){m.innerHTML=n.innerHTML}else{var k=n.getElementsByTagName(P)[0];if(k){var o=k.childNodes;if(o){var j=o.length;for(var l=0;l<j;l++){if(!(o[l].nodeType==1&&o[l].nodeName.toLowerCase()=="param")&&!(o[l].nodeType==8)){m.appendChild(o[l].cloneNode(true))}}}}}return m}function R(AE,AC,q){var p,t=c(q);if(typeof AE.id==Z){AE.id=q}if(a.ie&&a.win){var AD="";for(var z in AE){if(AE[z]!=Object.prototype[z]){if(z=="data"){AC.movie=AE[z]}else{if(z.toLowerCase()=="styleclass"){AD+=' class="'+AE[z]+'"'}else{if(z!="classid"){AD+=" "+z+'="'+AE[z]+'"'}}}}}var AB="";for(var y in AC){if(AC[y]!=Object.prototype[y]){AB+='<param name="'+y+'" value="'+AC[y]+'" />'}}t.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AD+">"+AB+"</object>";F(AE.id);p=c(AE.id)}else{if(a.webkit&&a.webkit<312){var AA=Y("embed");AA.setAttribute("type",W);for(var x in AE){if(AE[x]!=Object.prototype[x]){if(x=="data"){AA.setAttribute("src",AE[x])}else{if(x.toLowerCase()=="styleclass"){AA.setAttribute("class",AE[x])}else{if(x!="classid"){AA.setAttribute(x,AE[x])}}}}}for(var w in AC){if(AC[w]!=Object.prototype[w]){if(w!="movie"){AA.setAttribute(w,AC[w])}}}t.parentNode.replaceChild(AA,t);p=AA}else{var s=Y(P);s.setAttribute("type",W);for(var v in AE){if(AE[v]!=Object.prototype[v]){if(v.toLowerCase()=="styleclass"){s.setAttribute("class",AE[v])}else{if(v!="classid"){s.setAttribute(v,AE[v])}}}}for(var u in AC){if(AC[u]!=Object.prototype[u]&&u!="movie"){E(s,u,AC[u])}}t.parentNode.replaceChild(s,t);p=s}}return p}function E(k,i,j){var l=Y("param");l.setAttribute("name",i);l.setAttribute("value",j);k.appendChild(l)}function c(i){return g.getElementById(i)}function Y(i){return g.createElement(i)}function O(k){var j=a.pv,i=k.split(".");i[0]=parseInt(i[0],10);i[1]=parseInt(i[1],10);i[2]=parseInt(i[2],10);return(j[0]>i[0]||(j[0]==i[0]&&j[1]>i[1])||(j[0]==i[0]&&j[1]==i[1]&&j[2]>=i[2]))?true:false}function A(m,j){if(a.ie&&a.mac){return }var l=g.getElementsByTagName("head")[0],k=Y("style");k.setAttribute("type","text/css");k.setAttribute("media","screen");if(!(a.ie&&a.win)&&typeof g.createTextNode!=Z){k.appendChild(g.createTextNode(m+" {"+j+"}"))}l.appendChild(k);if(a.ie&&a.win&&typeof g.styleSheets!=Z&&g.styleSheets.length>0){var i=g.styleSheets[g.styleSheets.length-1];if(typeof i.addRule==P){i.addRule(m,j)}}}function X(k,i){var j=i?"visible":"hidden";if(S){c(k).style.visibility=j}else{A("#"+k,"visibility:"+j)}}return{registerObject:function(l,i,k){if(!a.w3cdom||!l||!i){return }var j={};j.id=l;j.swfVersion=i;j.expressInstall=k?k:false;H[H.length]=j;X(l,false)},getObjectById:function(l){var i=null;if(a.w3cdom&&S){var j=c(l);if(j){var k=j.getElementsByTagName(P)[0];if(!k||(k&&typeof j.SetVariable!=Z)){i=j}else{if(typeof k.SetVariable!=Z){i=k}}}}return i},embedSWF:function(n,u,r,t,j,m,k,p,s){if(!a.w3cdom||!n||!u||!r||!t||!j){return }r+="";t+="";if(O(j)){X(u,false);var q=(typeof s==P)?s:{};q.data=n;q.width=r;q.height=t;var o=(typeof p==P)?p:{};if(typeof k==P){for(var l in k){if(k[l]!=Object.prototype[l]){if(typeof o.flashvars!=Z){o.flashvars+="&"+l+"="+k[l]}else{o.flashvars=l+"="+k[l]}}}}J(function(){R(q,o,u);if(q.id==u){X(u,true)}})}else{if(m&&!C&&O("6.0.65")&&(a.win||a.mac)){X(u,false);J(function(){var i={};i.id=i.altContentId=u;i.width=r;i.height=t;i.expressInstall=m;D(i)})}}},getFlashPlayerVersion:function(){return{major:a.pv[0],minor:a.pv[1],release:a.pv[2]}},hasFlashPlayerVersion:O,createSWF:function(k,j,i){if(a.w3cdom&&S){return R(k,j,i)}else{return undefined}},createCSS:function(j,i){if(a.w3cdom){A(j,i)}},addDomLoadEvent:J,addLoadEvent:M,getQueryParamValue:function(m){var l=g.location.search||g.location.hash;if(m==null){return l}if(l){var k=l.substring(1).split("&");for(var j=0;j<k.length;j++){if(k[j].substring(0,k[j].indexOf("="))==m){return k[j].substring((k[j].indexOf("=")+1))}}}return""},expressInstallCallback:function(){if(C&&L){var i=c(K);if(i){i.parentNode.replaceChild(L,i);if(T){X(T,true);if(a.ie&&a.win){L.style.display="block"}}L=null;T=null;C=false}}}}}();
|
@@ -0,0 +1,40 @@
|
|
1
|
+
package <%= base_package %>.controllers {
|
2
|
+
import <%= base_package %>.models.*;
|
3
|
+
import <%= base_package %>.commands.*;
|
4
|
+
|
5
|
+
import mx.core.Application;
|
6
|
+
import org.ruboss.Ruboss;
|
7
|
+
import org.ruboss.controllers.RubossApplicationController;
|
8
|
+
import org.ruboss.utils.RubossUtils;
|
9
|
+
|
10
|
+
public class <%= command_controller_name %> extends RubossApplicationController {
|
11
|
+
private static var controller:<%= command_controller_name %>;
|
12
|
+
|
13
|
+
public static var models:Array = [<%= model_names %>]; /* Models */
|
14
|
+
|
15
|
+
public static var commands:Array = [<%= command_names %>]; /* Commands */
|
16
|
+
|
17
|
+
public function <%= command_controller_name %>(enforcer:SingletonEnforcer, extraServices:Array,
|
18
|
+
defaultServiceId:int = -1) {
|
19
|
+
super(commands, models, extraServices, defaultServiceId);
|
20
|
+
}
|
21
|
+
|
22
|
+
public static function get instance():<%= command_controller_name %> {
|
23
|
+
if (controller == null) initialize();
|
24
|
+
return controller;
|
25
|
+
}
|
26
|
+
|
27
|
+
public static function initialize(extraServices:Array = null, defaultServiceId:int = -1,
|
28
|
+
airDatabaseName:String = null):void {
|
29
|
+
if (!RubossUtils.isEmpty(airDatabaseName)) Ruboss.airDatabaseName = airDatabaseName;
|
30
|
+
controller = new <%= command_controller_name %>(new SingletonEnforcer, extraServices,
|
31
|
+
defaultServiceId);
|
32
|
+
Ruboss.sessionToken = Application.application.parameters.session_token;
|
33
|
+
if (Application.application.parameters.authenticity_token) {
|
34
|
+
Ruboss.defaultMetadata = { authenticity_token : Application.application.parameters.authenticity_token };
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
class SingletonEnforcer {}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<mx:<%= application_tag %> xmlns:mx="http://www.adobe.com/2006/mxml"
|
3
|
+
xmlns:generated="<%= base_package %>.components.generated.*"
|
4
|
+
layout="vertical"
|
5
|
+
styleName="plain"
|
6
|
+
initialize="init()">
|
7
|
+
<mx:Script>
|
8
|
+
<![CDATA[
|
9
|
+
<% if get_option(:air) -%>
|
10
|
+
import org.ruboss.services.air.AIRServiceProvider;
|
11
|
+
<% end -%>
|
12
|
+
import org.ruboss.Ruboss;
|
13
|
+
import <%= base_package %>.controllers.<%= command_controller_name %>;
|
14
|
+
|
15
|
+
private function init():void {
|
16
|
+
<% if get_option(:air) -%>
|
17
|
+
<%= command_controller_name %>.initialize([AIRServiceProvider], AIRServiceProvider.ID, "<%= base_package %>");
|
18
|
+
<% else -%>
|
19
|
+
<%= command_controller_name %>.initialize();
|
20
|
+
<% end -%>
|
21
|
+
}
|
22
|
+
]]>
|
23
|
+
</mx:Script>
|
24
|
+
<mx:ApplicationControlBar dock="true" width="100%">
|
25
|
+
<mx:LinkBar dataProvider="{mainViewStack}"/>
|
26
|
+
</mx:ApplicationControlBar>
|
27
|
+
<mx:ViewStack id="mainViewStack" width="100%" height="100%">
|
28
|
+
<!-- For a simple demo, put all the components here. -->
|
29
|
+
<% for component in component_names -%>
|
30
|
+
<generated:<%= component %>/>
|
31
|
+
<% end -%>
|
32
|
+
</mx:ViewStack>
|
33
|
+
</mx:<%= application_tag %>>
|
34
|
+
|