emergent-core 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (349) hide show
  1. data/.bnsignore +16 -0
  2. data/History.txt +4 -0
  3. data/Manifest.txt +348 -0
  4. data/README.rdoc +47 -0
  5. data/Rakefile +39 -0
  6. data/app_generators/emergent_core/USAGE +5 -0
  7. data/app_generators/emergent_core/emergent_core_generator.rb +73 -0
  8. data/app_generators/emergent_core/templates/core/actionscript.properties +16 -0
  9. data/app_generators/emergent_core/templates/core/actionscriptair.properties +16 -0
  10. data/app_generators/emergent_core/templates/core/app.yaml.erb +12 -0
  11. data/app_generators/emergent_core/templates/core/default_tasks.rake +51 -0
  12. data/app_generators/emergent_core/templates/core/empty.txt +0 -0
  13. data/app_generators/emergent_core/templates/core/expressInstall.swf +0 -0
  14. data/app_generators/emergent_core/templates/core/flex.properties +2 -0
  15. data/app_generators/emergent_core/templates/core/generate.rb +17 -0
  16. data/app_generators/emergent_core/templates/core/html-template/AC_OETags.js +276 -0
  17. data/app_generators/emergent_core/templates/core/html-template/history/history.css +6 -0
  18. data/app_generators/emergent_core/templates/core/html-template/history/history.js +645 -0
  19. data/app_generators/emergent_core/templates/core/html-template/history/historyFrame.html +29 -0
  20. data/app_generators/emergent_core/templates/core/html-template/index.template.html +121 -0
  21. data/app_generators/emergent_core/templates/core/html-template/playerProductInstall.swf +0 -0
  22. data/app_generators/emergent_core/templates/core/index.html.erb +18 -0
  23. data/app_generators/emergent_core/templates/core/index.yaml +11 -0
  24. data/app_generators/emergent_core/templates/core/mainair-app.xml +134 -0
  25. data/app_generators/emergent_core/templates/core/mainapp-config.xml +21 -0
  26. data/app_generators/emergent_core/templates/core/mainapp.mxml +106 -0
  27. data/app_generators/emergent_core/templates/core/project-textmate.erb +52 -0
  28. data/app_generators/emergent_core/templates/core/project.properties +18 -0
  29. data/app_generators/emergent_core/templates/core/projectair.properties +24 -0
  30. data/app_generators/emergent_core/templates/core/swfobject.js +5 -0
  31. data/bin/emergent +17 -0
  32. data/lib/emergent_core.rb +49 -0
  33. data/lib/restfulx/active_foo.rb +194 -0
  34. data/lib/restfulx/active_record_tasks.rb +81 -0
  35. data/lib/restfulx/configuration.rb +76 -0
  36. data/lib/restfulx/datamapper_foo.rb +31 -0
  37. data/lib/restfulx/rails/recipes.rb +60 -0
  38. data/lib/restfulx/rails/swf_helper.rb +60 -0
  39. data/lib/restfulx/tasks.rb +85 -0
  40. data/lib/restfulx.rb +117 -0
  41. data/rails_generators/emergent_cms/USAGE +5 -0
  42. data/rails_generators/emergent_cms/emergent_cms_generator.rb +21 -0
  43. data/rails_generators/emergent_cms/templates/PagesEditModel.as +114 -0
  44. data/rails_generators/emergent_cms/templates/PagesEditView.mxml +102 -0
  45. data/rails_generators/emergent_config/USAGE +5 -0
  46. data/rails_generators/emergent_config/emergent_config_generator.rb +330 -0
  47. data/rails_generators/emergent_config/templates/app/controllers/accounts_controller.rb +104 -0
  48. data/rails_generators/emergent_config/templates/app/controllers/addresses_controller.rb +97 -0
  49. data/rails_generators/emergent_config/templates/app/controllers/application.rb +26 -0
  50. data/rails_generators/emergent_config/templates/app/controllers/assets_controller.rb +1 -0
  51. data/rails_generators/emergent_config/templates/app/controllers/content_assignments_controller.rb +97 -0
  52. data/rails_generators/emergent_config/templates/app/controllers/contents_controller.rb +114 -0
  53. data/rails_generators/emergent_config/templates/app/controllers/sessions_controller.rb +72 -0
  54. data/rails_generators/emergent_config/templates/app/controllers/sites_controller.rb +1 -0
  55. data/rails_generators/emergent_config/templates/app/controllers/users_controller.rb +97 -0
  56. data/rails_generators/emergent_config/templates/app/flex/application/controllers/command/ICommand.as +16 -0
  57. data/rails_generators/emergent_config/templates/app/flex/application/controllers/command/Undoable.as +46 -0
  58. data/rails_generators/emergent_config/templates/app/flex/application/controllers/command/UpdateDocumentCommand.as +73 -0
  59. data/rails_generators/emergent_config/templates/app/flex/application/controllers/event/DocumentEvent.as +46 -0
  60. data/rails_generators/emergent_config/templates/app/flex/application/controllers/event/NavigationEvent.as +31 -0
  61. data/rails_generators/emergent_config/templates/app/flex/application/controllers/event/ResourceEvent.as +27 -0
  62. data/rails_generators/emergent_config/templates/app/flex/application/controllers/event/UndoEvent.as +36 -0
  63. data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/AboutUsManager.as +15 -0
  64. data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/AccountManager.as +31 -0
  65. data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/AuthenticationManager.as +76 -0
  66. data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/ContentManager.as +92 -0
  67. data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/DocumentManager.as +131 -0
  68. data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/DocumentsManager.as +156 -0
  69. data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/HomeManager.as +18 -0
  70. data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/MainManager.as +23 -0
  71. data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/PagesManager.as +71 -0
  72. data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/ResourceManager.as +195 -0
  73. data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/SiteManager.as +25 -0
  74. data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/UndoManager.as +143 -0
  75. data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/DocumentMap.mxml +123 -0
  76. data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/DocumentsMap.mxml +134 -0
  77. data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/ManagerPresentationModelMap.mxml +59 -0
  78. data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/ObjectMap.mxml +75 -0
  79. data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/PresentationModelViewMap.mxml +81 -0
  80. data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/PresenterViewMap.mxml +67 -0
  81. data/rails_generators/emergent_config/templates/app/flex/application/models/constant/DocumentType.as +52 -0
  82. data/rails_generators/emergent_config/templates/app/flex/application/models/constant/Resource.as +25 -0
  83. data/rails_generators/emergent_config/templates/app/flex/application/models/constant/ResourceAction.as +28 -0
  84. data/rails_generators/emergent_config/templates/app/flex/application/models/constant/ResourceResult.as +8 -0
  85. data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Account.as +32 -0
  86. data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Address.as +26 -0
  87. data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Asset.as +25 -0
  88. data/rails_generators/emergent_config/templates/app/flex/application/models/domain/AssetAssignment.as +25 -0
  89. data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Content.as +46 -0
  90. data/rails_generators/emergent_config/templates/app/flex/application/models/domain/ContentAssignment.as +33 -0
  91. data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Document.as +131 -0
  92. data/rails_generators/emergent_config/templates/app/flex/application/models/domain/PlainDocument.as +19 -0
  93. data/rails_generators/emergent_config/templates/app/flex/application/models/domain/RichDocument.as +19 -0
  94. data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Session.as +13 -0
  95. data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Snapshot.as +21 -0
  96. data/rails_generators/emergent_config/templates/app/flex/application/models/domain/User.as +28 -0
  97. data/rails_generators/emergent_config/templates/app/flex/application/models/factory/DocumentFactory.as +61 -0
  98. data/rails_generators/emergent_config/templates/app/flex/application/models/factory/DocumentViewFactory.as +59 -0
  99. data/rails_generators/emergent_config/templates/app/flex/application/models/factory/ResourceFactory.as +28 -0
  100. data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/AboutUsModel.as +22 -0
  101. data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/AccountModel.as +68 -0
  102. data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/AuthenticationModel.as +44 -0
  103. data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/ContactUsModel.as +45 -0
  104. data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/ContentModel.as +70 -0
  105. data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/DocumentModel.as +235 -0
  106. data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/DocumentsModel.as +169 -0
  107. data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/HomeModel.as +23 -0
  108. data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/MainModel.as +35 -0
  109. data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/PagesModel.as +44 -0
  110. data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/ProfileModel.as +99 -0
  111. data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/ResourceModel.as +100 -0
  112. data/rails_generators/emergent_config/templates/app/flex/application/views/about_us/about_us.mxml +105 -0
  113. data/rails_generators/emergent_config/templates/app/flex/application/views/account/account.mxml +97 -0
  114. data/rails_generators/emergent_config/templates/app/flex/application/views/contact_us/contact_us.mxml +65 -0
  115. data/rails_generators/emergent_config/templates/app/flex/application/views/document/document.mxml +71 -0
  116. data/rails_generators/emergent_config/templates/app/flex/application/views/document/documents.mxml +201 -0
  117. data/rails_generators/emergent_config/templates/app/flex/application/views/document/plain_document.mxml +9 -0
  118. data/rails_generators/emergent_config/templates/app/flex/application/views/document/rich_document.mxml +12 -0
  119. data/rails_generators/emergent_config/templates/app/flex/application/views/gallery/gallery.mxml +37 -0
  120. data/rails_generators/emergent_config/templates/app/flex/application/views/home/home.mxml +58 -0
  121. data/rails_generators/emergent_config/templates/app/flex/application/views/home/home_presenter.as +81 -0
  122. data/rails_generators/emergent_config/templates/app/flex/application/views/home/home_troparchy.mxml +71 -0
  123. data/rails_generators/emergent_config/templates/app/flex/application/views/login/login.mxml +50 -0
  124. data/rails_generators/emergent_config/templates/app/flex/application/views/main/main.mxml +131 -0
  125. data/rails_generators/emergent_config/templates/app/flex/application/views/main/main_presenter.as +166 -0
  126. data/rails_generators/emergent_config/templates/app/flex/application/views/main/main_troparchy.mxml +74 -0
  127. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_bottom_model.as +13 -0
  128. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_bottom_presenter.as +10 -0
  129. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_bottom_view.mxml +48 -0
  130. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_left_model.as +13 -0
  131. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_left_presenter.as +10 -0
  132. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_left_view.mxml +43 -0
  133. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_right_model.as +13 -0
  134. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_right_presenter.as +10 -0
  135. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_right_view.mxml +47 -0
  136. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_top_model.as +13 -0
  137. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_top_presenter.as +10 -0
  138. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_top_view.mxml +49 -0
  139. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bars_presenter.as +63 -0
  140. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bars_troparchy.mxml +63 -0
  141. data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bars_view.mxml +59 -0
  142. data/rails_generators/emergent_config/templates/app/flex/application/views/pages/pages.mxml +44 -0
  143. data/rails_generators/emergent_config/templates/app/flex/application/views/pages/pages_presenter.as +83 -0
  144. data/rails_generators/emergent_config/templates/app/flex/application/views/pages/pages_troparchy.mxml +62 -0
  145. data/rails_generators/emergent_config/templates/app/flex/application/views/profile/profile.mxml +73 -0
  146. data/rails_generators/emergent_config/templates/app/flex/assets/fonts/MyriadPro-Bold.otf +0 -0
  147. data/rails_generators/emergent_config/templates/app/flex/assets/fonts/MyriadPro-Regular.otf +0 -0
  148. data/rails_generators/emergent_config/templates/app/flex/assets/html/lorem.html +3 -0
  149. data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture10.png +0 -0
  150. data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture11.png +0 -0
  151. data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture12.png +0 -0
  152. data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture13.png +0 -0
  153. data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture14.png +0 -0
  154. data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture3.png +0 -0
  155. data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture4.png +0 -0
  156. data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture5.png +0 -0
  157. data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture6.png +0 -0
  158. data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture7.png +0 -0
  159. data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture8.png +0 -0
  160. data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture9.png +0 -0
  161. data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_0.jpg +0 -0
  162. data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_180.jpg +0 -0
  163. data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_270.jpg +0 -0
  164. data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_90.jpg +0 -0
  165. data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_bottom.jpg +0 -0
  166. data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_top.jpg +0 -0
  167. data/rails_generators/emergent_config/templates/app/flex/assets/styles/itunes7Bg.jpg +0 -0
  168. data/rails_generators/emergent_config/templates/app/flex/assets/styles/jukebox.css +764 -0
  169. data/rails_generators/emergent_config/templates/app/flex/assets/styles/jukeboxGfx.swf +0 -0
  170. data/rails_generators/emergent_config/templates/app/flex/assets/styles/obsidian.css +734 -0
  171. data/rails_generators/emergent_config/templates/app/flex/assets/styles/obsidianBg.jpg +0 -0
  172. data/rails_generators/emergent_config/templates/app/flex/assets/styles/obsidianGfx.swf +0 -0
  173. data/rails_generators/emergent_config/templates/app/flex/com/fourD/actions/LayoutAction.as +377 -0
  174. data/rails_generators/emergent_config/templates/app/flex/com/fourD/actions/SimpleLayoutAction.as +210 -0
  175. data/rails_generators/emergent_config/templates/app/flex/com/fourD/animators/FourDTweenCollection.mxml +50 -0
  176. data/rails_generators/emergent_config/templates/app/flex/com/fourD/animators/IAnimator.as +39 -0
  177. data/rails_generators/emergent_config/templates/app/flex/com/fourD/animators/TweenMaxAnimator.as +269 -0
  178. data/rails_generators/emergent_config/templates/app/flex/com/fourD/cameras/AstroCamera.as +177 -0
  179. data/rails_generators/emergent_config/templates/app/flex/com/fourD/components/FourDDataGrid.mxml +105 -0
  180. data/rails_generators/emergent_config/templates/app/flex/com/fourD/components/FourDItemRenderer.mxml +54 -0
  181. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/CenterPerspectiveProjection.as +72 -0
  182. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/ComplexCondition.as +44 -0
  183. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/ConditionsUtil.as +82 -0
  184. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/FourDComponent.as +309 -0
  185. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/InstanceMethodInvoker.as +50 -0
  186. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/InstancePropertyInjector.as +43 -0
  187. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/MethodCaller.as +51 -0
  188. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Pathway.as +10 -0
  189. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/PathwayEvent.as +28 -0
  190. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Pheron.as +34 -0
  191. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Pheron2.as +41 -0
  192. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/PheronReceptor.as +125 -0
  193. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Properties.as +57 -0
  194. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Router.as +50 -0
  195. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/RouterUtil.as +70 -0
  196. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/SimpleCondition.as +42 -0
  197. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/SimpleZSortVO.as +1 -0
  198. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/SimpleZSorter.as +1 -0
  199. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Tecton.as +70 -0
  200. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Tecton2.as +234 -0
  201. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonCache.as +111 -0
  202. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonEvent.as +39 -0
  203. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonMap.as +515 -0
  204. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonMap2.as +289 -0
  205. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonMapSample.mxml +73 -0
  206. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonReceptor.as +43 -0
  207. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonScope.as +38 -0
  208. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonScopeProperties.as +18 -0
  209. data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonUtils.as +51 -0
  210. data/rails_generators/emergent_config/templates/app/flex/com/fourD/events/LayoutActionEvent.as +75 -0
  211. data/rails_generators/emergent_config/templates/app/flex/com/fourD/layouts/CarouselLayout.as +85 -0
  212. data/rails_generators/emergent_config/templates/app/flex/com/fourD/layouts/CircleLayout.as +102 -0
  213. data/rails_generators/emergent_config/templates/app/flex/com/fourD/layouts/CoverFlowLayout.as +136 -0
  214. data/rails_generators/emergent_config/templates/app/flex/com/fourD/layouts/FourDLayout.as +272 -0
  215. data/rails_generators/emergent_config/templates/app/flex/com/fourD/utils/TweenUtil.as +110 -0
  216. data/rails_generators/emergent_config/templates/app/helpers/accounts_helper.rb +93 -0
  217. data/rails_generators/emergent_config/templates/app/helpers/application_helper.rb +3 -0
  218. data/rails_generators/emergent_config/templates/app/models/account.rb +84 -0
  219. data/rails_generators/emergent_config/templates/app/models/account_mailer.rb +24 -0
  220. data/rails_generators/emergent_config/templates/app/models/account_observer.rb +17 -0
  221. data/rails_generators/emergent_config/templates/app/models/address.rb +2 -0
  222. data/rails_generators/emergent_config/templates/app/models/asset.rb +6 -0
  223. data/rails_generators/emergent_config/templates/app/models/asset_assignment.rb +4 -0
  224. data/rails_generators/emergent_config/templates/app/models/category.rb +35 -0
  225. data/rails_generators/emergent_config/templates/app/models/comment.rb +98 -0
  226. data/rails_generators/emergent_config/templates/app/models/content.rb +89 -0
  227. data/rails_generators/emergent_config/templates/app/models/content_assignment.rb +21 -0
  228. data/rails_generators/emergent_config/templates/app/models/image.rb +3 -0
  229. data/rails_generators/emergent_config/templates/app/models/post.rb +76 -0
  230. data/rails_generators/emergent_config/templates/app/models/section.rb +97 -0
  231. data/rails_generators/emergent_config/templates/app/models/site.rb +1 -0
  232. data/rails_generators/emergent_config/templates/app/models/tag.rb +1 -0
  233. data/rails_generators/emergent_config/templates/app/models/user.rb +4 -0
  234. data/rails_generators/emergent_config/templates/app/views/account_mailer/activation.erb +3 -0
  235. data/rails_generators/emergent_config/templates/app/views/account_mailer/signup_notification.erb +8 -0
  236. data/rails_generators/emergent_config/templates/config/Capfile +4 -0
  237. data/rails_generators/emergent_config/templates/config/README.txt +18 -0
  238. data/rails_generators/emergent_config/templates/config/deploy.rb +36 -0
  239. data/rails_generators/emergent_config/templates/config/routes.rb +72 -0
  240. data/rails_generators/emergent_config/templates/core/actionscript.properties +16 -0
  241. data/rails_generators/emergent_config/templates/core/actionscriptair.properties +16 -0
  242. data/rails_generators/emergent_config/templates/core/app.yaml.erb +12 -0
  243. data/rails_generators/emergent_config/templates/core/default_tasks.rake +51 -0
  244. data/rails_generators/emergent_config/templates/core/emergent_tasks.rake +42 -0
  245. data/rails_generators/emergent_config/templates/core/empty.txt +0 -0
  246. data/rails_generators/emergent_config/templates/core/expressInstall.swf +0 -0
  247. data/rails_generators/emergent_config/templates/core/flex.properties +2 -0
  248. data/rails_generators/emergent_config/templates/core/generate.rb +17 -0
  249. data/rails_generators/emergent_config/templates/core/html-template/AC_OETags.js +276 -0
  250. data/rails_generators/emergent_config/templates/core/html-template/history/history.css +6 -0
  251. data/rails_generators/emergent_config/templates/core/html-template/history/history.js +645 -0
  252. data/rails_generators/emergent_config/templates/core/html-template/history/historyFrame.html +29 -0
  253. data/rails_generators/emergent_config/templates/core/html-template/index.template.html +121 -0
  254. data/rails_generators/emergent_config/templates/core/html-template/playerProductInstall.swf +0 -0
  255. data/rails_generators/emergent_config/templates/core/index.html.erb +18 -0
  256. data/rails_generators/emergent_config/templates/core/index.yaml +11 -0
  257. data/rails_generators/emergent_config/templates/core/mainair-app.xml +134 -0
  258. data/rails_generators/emergent_config/templates/core/mainapp-config.xml +21 -0
  259. data/rails_generators/emergent_config/templates/core/mainapp.mxml +101 -0
  260. data/rails_generators/emergent_config/templates/core/project-textmate.erb +52 -0
  261. data/rails_generators/emergent_config/templates/core/project.properties +18 -0
  262. data/rails_generators/emergent_config/templates/core/projectair.properties +24 -0
  263. data/rails_generators/emergent_config/templates/core/restfulx.yml +14 -0
  264. data/rails_generators/emergent_config/templates/core/restfulx_tasks.rake +6 -0
  265. data/rails_generators/emergent_config/templates/core/swfobject.js +5 -0
  266. data/rails_generators/emergent_config/templates/db/migrate/create_accounts.rb +40 -0
  267. data/rails_generators/emergent_config/templates/db/migrate/create_addresses.rb +18 -0
  268. data/rails_generators/emergent_config/templates/db/migrate/create_asset_assignments.rb +19 -0
  269. data/rails_generators/emergent_config/templates/db/migrate/create_assets.rb +20 -0
  270. data/rails_generators/emergent_config/templates/db/migrate/create_content_assignments.rb +26 -0
  271. data/rails_generators/emergent_config/templates/db/migrate/create_contents.rb +21 -0
  272. data/rails_generators/emergent_config/templates/db/migrate/create_sessions.rb +16 -0
  273. data/rails_generators/emergent_config/templates/db/migrate/create_sites.rb +27 -0
  274. data/rails_generators/emergent_config/templates/db/migrate/create_users.rb +15 -0
  275. data/rails_generators/emergent_config/templates/lib/analytics.swc +0 -0
  276. data/rails_generators/emergent_config/templates/lib/app_controller.rb.erb +26 -0
  277. data/rails_generators/emergent_config/templates/lib/as3corelib-0.92.1.swc +0 -0
  278. data/rails_generators/emergent_config/templates/lib/as3crypto-1.3patched.swc +0 -0
  279. data/rails_generators/emergent_config/templates/lib/as3crypto.swc +0 -0
  280. data/rails_generators/emergent_config/templates/lib/as3ds-1.04.swc +0 -0
  281. data/rails_generators/emergent_config/templates/lib/as3httpclientlib-1.0.swc +0 -0
  282. data/rails_generators/emergent_config/templates/lib/authenticated_system.rb +189 -0
  283. data/rails_generators/emergent_config/templates/lib/authenticated_test_helper.rb +11 -0
  284. data/rails_generators/emergent_config/templates/lib/containerEx.swc +0 -0
  285. data/rails_generators/emergent_config/templates/lib/flare.swc +0 -0
  286. data/rails_generators/emergent_config/templates/lib/flash_session_hack.rb +27 -0
  287. data/rails_generators/emergent_config/templates/lib/flex2BrowserManager.swc +0 -0
  288. data/rails_generators/emergent_config/templates/lib/flexlib.swc +0 -0
  289. data/rails_generators/emergent_config/templates/lib/fluint.swc +0 -0
  290. data/rails_generators/emergent_config/templates/lib/mate_0_8_6_enhanced.swc +0 -0
  291. data/rails_generators/emergent_config/templates/lib/openflux.swc +0 -0
  292. data/rails_generators/emergent_config/templates/lib/pv3d.swc +0 -0
  293. data/rails_generators/emergent_config/templates/lib/restfulx.swc +0 -0
  294. data/rails_generators/emergent_config/templates/lib/site_keys.rb +38 -0
  295. data/rails_generators/emergent_config/templates/lib/tweenMax.swc +0 -0
  296. data/rails_generators/emergent_config/templates/lib/urlkitFlex3.swc +0 -0
  297. data/rails_generators/emergent_config/templates/shell_script +31 -0
  298. data/rails_generators/emergent_controller/USAGE +5 -0
  299. data/rails_generators/emergent_controller/emergent_controller_generator.rb +25 -0
  300. data/rails_generators/emergent_controller/templates/controller.as.erb +37 -0
  301. data/rails_generators/emergent_core/USAGE +5 -0
  302. data/rails_generators/emergent_core/emergent_core_generator.rb +157 -0
  303. data/rails_generators/emergent_iphone/USAGE +5 -0
  304. data/rails_generators/emergent_iphone/emergent_iphone_generator.rb +27 -0
  305. data/rails_generators/emergent_scaffold/USAGE +5 -0
  306. data/rails_generators/emergent_scaffold/emergent_scaffold_generator.rb +157 -0
  307. data/rails_generators/emergent_scaffold/templates/component.mxml.erb +101 -0
  308. data/rails_generators/emergent_scaffold/templates/controller.rb.erb +101 -0
  309. data/rails_generators/emergent_scaffold/templates/edit_index_view.mxml.erb +114 -0
  310. data/rails_generators/emergent_scaffold/templates/edit_show_view.mxml.erb +84 -0
  311. data/rails_generators/emergent_scaffold/templates/filter_view.mxml.erb +1 -0
  312. data/rails_generators/emergent_scaffold/templates/fixtures.yml.erb +128 -0
  313. data/rails_generators/emergent_scaffold/templates/index_view.mxml.erb +58 -0
  314. data/rails_generators/emergent_scaffold/templates/item_renderer.mxml.erb +53 -0
  315. data/rails_generators/emergent_scaffold/templates/manager.as.erb +31 -0
  316. data/rails_generators/emergent_scaffold/templates/migration.rb.erb +22 -0
  317. data/rails_generators/emergent_scaffold/templates/model.as.erb +42 -0
  318. data/rails_generators/emergent_scaffold/templates/model.rb.erb +11 -0
  319. data/rails_generators/emergent_scaffold/templates/presentation_model.as.erb +33 -0
  320. data/rails_generators/emergent_scaffold/templates/presenter.as.erb +98 -0
  321. data/rails_generators/emergent_scaffold/templates/show_view.mxml.erb +50 -0
  322. data/rails_generators/emergent_scaffold/templates/view_map.mxml.erb +40 -0
  323. data/rails_generators/emergent_scaffold/templates/views_panel.mxml.erb +64 -0
  324. data/rails_generators/emergent_styler/USAGE +5 -0
  325. data/rails_generators/emergent_styler/emergent_styler_generator.rb +21 -0
  326. data/rails_generators/rx_yaml_scaffold/USAGE +51 -0
  327. data/rails_generators/rx_yaml_scaffold/rx_yaml_scaffold_generator.rb +49 -0
  328. data/script/console +10 -0
  329. data/script/destroy +14 -0
  330. data/script/generate +14 -0
  331. data/spec/emergent_core_spec.rb +7 -0
  332. data/spec/spec_helper.rb +16 -0
  333. data/tasks/ann.rake +80 -0
  334. data/tasks/bones.rake +20 -0
  335. data/tasks/gem.rake +201 -0
  336. data/tasks/git.rake +40 -0
  337. data/tasks/manifest.rake +48 -0
  338. data/tasks/notes.rake +27 -0
  339. data/tasks/post_load.rake +39 -0
  340. data/tasks/rdoc.rake +50 -0
  341. data/tasks/rubyforge.rake +55 -0
  342. data/tasks/setup.rb +279 -0
  343. data/tasks/spec.rake +54 -0
  344. data/tasks/svn.rake +47 -0
  345. data/tasks/test.rake +40 -0
  346. data/test/test_emergent_core.rb +0 -0
  347. data/test/test_emergent_iphone_generator.rb +46 -0
  348. data/test/test_generator_helper.rb +29 -0
  349. metadata +437 -0
@@ -0,0 +1,44 @@
1
+ /*
2
+ * Copyright 2008-2009 (c) Lance Pollard
3
+ * www.systemsofseven.com/blog
4
+ * www.4ddesignlab.com
5
+ * LanceJPollard@gmail.com
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person
8
+ * obtaining a copy of this software and associated documentation
9
+ * files (the "Software"), to deal in the Software without
10
+ * restriction, including without limitation the rights to use,
11
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ * copies of the Software, and to permit persons to whom the
13
+ * Software is furnished to do so, subject to the following
14
+ * conditions:
15
+ *
16
+ * The above copyright notice and this permission notice shall be
17
+ * included in all copies or substantial portions of the Software.
18
+ *
19
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26
+ * OTHER DEALINGS IN THE SOFTWARE.
27
+ */
28
+
29
+ package com.fourD.core {
30
+
31
+ [Bindable]
32
+ public class ComplexCondition {
33
+
34
+ public var firstItem:*;
35
+
36
+ public var secondItem:*;
37
+
38
+ public var operator:*;
39
+
40
+ // object with the property you're using in your condition
41
+ public var source:*;
42
+
43
+ }
44
+ }
@@ -0,0 +1,82 @@
1
+ /*
2
+ * Copyright 2008-2009 (c) Lance Pollard
3
+ * www.systemsofseven.com/blog
4
+ * www.4ddesignlab.com
5
+ * LanceJPollard@gmail.com
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person
8
+ * obtaining a copy of this software and associated documentation
9
+ * files (the "Software"), to deal in the Software without
10
+ * restriction, including without limitation the rights to use,
11
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ * copies of the Software, and to permit persons to whom the
13
+ * Software is furnished to do so, subject to the following
14
+ * conditions:
15
+ *
16
+ * The above copyright notice and this permission notice shall be
17
+ * included in all copies or substantial portions of the Software.
18
+ *
19
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26
+ * OTHER DEALINGS IN THE SOFTWARE.
27
+ */
28
+
29
+ package com.fourD.core {
30
+
31
+ [Bindable]
32
+ public class ConditionsUtil {
33
+
34
+ public static function validateConditions(conditions:Array):Boolean {
35
+ var value:Boolean;
36
+ var condition:*;
37
+ var i:int=0, len:int = conditions.length;
38
+ for (i; i < len; i++) {
39
+ condition = conditions[i];
40
+ if (condition is SimpleCondition) {
41
+ value = ConditionsUtil.validateSimpleCondition(condition);
42
+ } else if (condition is ComplexCondition) {
43
+ value = ConditionsUtil.validateComplexCondition(condition);
44
+ }
45
+ if (value == false) { return value; }
46
+ }
47
+ return value;
48
+ }
49
+
50
+ public static function validateSimpleCondition(condition:Object):Boolean {
51
+ var valid:Boolean = false;
52
+ var source:* = condition.source;
53
+ var property:* = condition.firstStatement;
54
+ var value:Boolean = condition.value;
55
+ if (!source[property]) {
56
+ // THROW ERROR
57
+ }
58
+ if (source[property] == value) { valid = true }
59
+ return valid;
60
+ }
61
+
62
+ public static function validateComplexCondition(condition:Object):Boolean {
63
+ var valid:Boolean;
64
+ var source:* = condition.source;
65
+ var first:* = condition.firstStatement;
66
+ var second:* = condition.secondStatement;
67
+ var operator:String = condition.operator;
68
+ if (operator == "==") {
69
+ valid = (first == second);
70
+ } else if (operator == "!=") {
71
+ valid = (first != second)
72
+ } else if (operator == "===") {
73
+ valid = (first === second)
74
+ } else if (operator == "!==") {
75
+ valid = (first !== second)
76
+ } else {
77
+ valid = false;
78
+ }
79
+ return valid;
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,309 @@
1
+ /*
2
+ * Copyright 2008 (c) Lance Pollard
3
+ * www.systemsofseven.com/blog
4
+ * www.4ddesignlab.com
5
+ * LanceJPollard@gmail.com
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person
8
+ * obtaining a copy of this software and associated documentation
9
+ * files (the "Software"), to deal in the Software without
10
+ * restriction, including without limitation the rights to use,
11
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ * copies of the Software, and to permit persons to whom the
13
+ * Software is furnished to do so, subject to the following
14
+ * conditions:
15
+ *
16
+ * The above copyright notice and this permission notice shall be
17
+ * included in all copies or substantial portions of the Software.
18
+ *
19
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26
+ * OTHER DEALINGS IN THE SOFTWARE.
27
+ */
28
+
29
+ package com.fourD.core {
30
+
31
+ import com.fourD.animators.IAnimator;
32
+ import com.fourD.animators.TweenMaxAnimator;
33
+ import com.fourD.utils.TweenUtil;
34
+
35
+ import flash.events.*;
36
+
37
+ import gs.*;
38
+
39
+ import mx.core.IDataRenderer;
40
+ import mx.core.UIComponent;
41
+
42
+ [DefaultProperty("front")]
43
+
44
+ public class FourDComponent extends UIComponent implements IDataRenderer {
45
+
46
+ // The _containers are necessary to make the face switching work right
47
+ private var _frontContainer:UIComponent;
48
+ private var _backContainer:UIComponent;
49
+ private var controllerChanged:Boolean;
50
+ private var defaultBack:Boolean;
51
+
52
+ private var _animator:IAnimator; [Bindable]
53
+ public function get animator():IAnimator { return _animator; }
54
+ public function set animator(value:IAnimator):void {
55
+ _animator = value;
56
+ }
57
+
58
+ /**
59
+ * Tweens can be arrays of objects
60
+ * or just simple objects (if you don't want complex animations)
61
+ * Stack as many as you want together and you can
62
+ * have hardcore animation forward and backward (without having to reverse)
63
+ */
64
+ private var tweensChanged:Boolean;
65
+ private var tweenParamsChanged:Boolean;
66
+
67
+ private var _tweens:Array; [Bindable]
68
+ public function get tweens():* { return _tweens; }
69
+ public function set tweens(value:*):void {
70
+ trace("tweens set");
71
+ for (var i:int=0; i < value.length; i++) {
72
+ value[i].onUpdate = setSideVisibility;
73
+ }
74
+ _tweens = value;
75
+ tweensChanged = true;
76
+ invalidateProperties();
77
+ }
78
+
79
+ private var _tweenParams:Array; [Bindable]
80
+ public function get tweenParams():Array { return _tweenParams; }
81
+ public function set tweenParams(value:Array):void {
82
+ _tweenParams = value;
83
+ tweenParamsChanged = true;
84
+ invalidateProperties();
85
+ }
86
+
87
+ private var pivotXChanged:Boolean;
88
+ private var pivotYChanged:Boolean;
89
+ private var frontChanged:Boolean;
90
+ private var backChanged:Boolean;
91
+
92
+ public var side:String = "front";
93
+
94
+ /** These are the components used as the plane faces.
95
+ * Front = main target, Back = optional other target
96
+ */
97
+ private var _front:*; [Bindable]
98
+ public function set front(value:*):void {
99
+ _front = value;
100
+ trace("fourDComponent front set = " + _front);
101
+ // to keep things consistent, since it inherits the view property
102
+ frontChanged = true;
103
+ invalidateProperties();
104
+ invalidateSize();
105
+ invalidateDisplayList();
106
+ }
107
+ public function get front():* {
108
+ return _front;
109
+ }
110
+
111
+ private var _back:*; [Bindable]
112
+ public function set back(value:*):void {
113
+ _back = value;
114
+ backChanged = true;
115
+ invalidateProperties();
116
+ invalidateSize();
117
+ invalidateDisplayList();
118
+ }
119
+ public function get back():* {
120
+ return _back;
121
+ }
122
+
123
+ private var _pivotX:String;
124
+ [Inspectable(defaultValue="center",
125
+ enumeration="center,right,left")]
126
+ [Bindable]
127
+ public function set pivotX(value:String):void {
128
+ _pivotX = value;
129
+ pivotXChanged = true;
130
+ invalidateProperties();
131
+ }
132
+ public function get pivotX():String {
133
+ return _pivotX;
134
+ }
135
+
136
+ private var _pivotY:String;
137
+ [Inspectable(defaultValue="center",
138
+ enumeration="center,top,bottom")]
139
+ [Bindable]
140
+ public function set pivotY(value:String):void {
141
+ _pivotY = value;
142
+ pivotYChanged = true;
143
+ invalidateProperties();
144
+ }
145
+ public function get pivotY():String {
146
+ return _pivotY;
147
+ }
148
+
149
+ private var _data:Object; [Bindable]
150
+ public function get data():Object { return _data; }
151
+ public function set data(value:Object):void { _data = value; }
152
+
153
+ public function FourDComponent() {
154
+ _backContainer = new UIComponent();
155
+ _frontContainer = new UIComponent();
156
+ trace("id of fourD is: " + flash.utils.getDethis));
157
+ }
158
+
159
+ override protected function createChildren():void {
160
+ super.createChildren();
161
+
162
+ if (back == null) {
163
+ back = new UIComponent();
164
+ defaultBack = true;
165
+ }
166
+
167
+ if (animator == null) {
168
+ animator = new TweenMaxAnimator();
169
+ }
170
+ }
171
+
172
+ override protected function commitProperties():void {
173
+ super.commitProperties();
174
+ // import to set this to false
175
+ // it prevents calling invalidateTargetAndParentDisplayList();
176
+ // which fucks everything up
177
+ this.includeInLayout = false;
178
+
179
+ if (backChanged) {
180
+ backChanged = false;
181
+ back.includeInLayout = false;
182
+ if (back is FourDComponent) {
183
+ addChild(back);
184
+ } else {
185
+ // _backContainer.rotationY = 180; // this is what's slowing things down
186
+ _backContainer.includeInLayout = false;
187
+ _backContainer.addChild(back);
188
+ _backContainer.rotationY = 180;
189
+ _backContainer.visible = false;
190
+ addChild(_backContainer);
191
+ }
192
+ if (back is IDataRenderer) {
193
+ IDataRenderer(back).data = data;
194
+ }
195
+ }
196
+
197
+ if (frontChanged) {
198
+ frontChanged = false;
199
+ front.includeInLayout = false;
200
+ if (front is FourDComponent) {
201
+ addChild(front);
202
+ } else {
203
+ _frontContainer.includeInLayout = false;
204
+ _frontContainer.addChild(front);
205
+ addChild(_frontContainer);
206
+ }
207
+ if (front is IDataRenderer) {
208
+ IDataRenderer(front).data = data;
209
+ }
210
+ }
211
+
212
+ if (tweensChanged) {
213
+ tweensChanged = false;
214
+ }
215
+
216
+ if (tweenParamsChanged) {
217
+ tweenParamsChanged = false;
218
+ updateTweenParams();
219
+ }
220
+ }
221
+
222
+ override protected function measure():void {
223
+ super.measure();
224
+ if(front) {
225
+ // an explicit width/height in the view becomes measured width/height for the component
226
+ // ie. component declared width/height trumps view preferences
227
+ measuredWidth = front.getExplicitOrMeasuredWidth();
228
+ measuredHeight = front.getExplicitOrMeasuredHeight();
229
+ measuredMinWidth = isNaN( front.explicitWidth ) ? front.minWidth : front.explicitWidth;
230
+ measuredMinHeight = isNaN( front.explicitHeight ) ? front.minHeight : front.explicitHeight;
231
+ }
232
+ }
233
+
234
+ override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
235
+ super.updateDisplayList(unscaledWidth, unscaledHeight);
236
+
237
+ if (front) {
238
+ front.setActualSize(unscaledWidth, unscaledHeight);
239
+ UIComponent(front).invalidateDisplayList();
240
+ }
241
+
242
+ if (pivotXChanged) {
243
+ if (front is FourDComponent) { return }
244
+ pivotXChanged = false;
245
+ if (pivotX == "center") {
246
+ front.x = (front.width/2)*-1;
247
+ back.x = (back.width/2)*-1;
248
+ } else if (pivotX == "left") {
249
+ } else if (pivotX == "right") {
250
+ front.x = (front.width)*-1;
251
+ back.x = (back.width)*-1;
252
+ } else {}
253
+ }
254
+
255
+ if (pivotYChanged) {
256
+ if (front is FourDComponent) { return }
257
+ pivotYChanged = false;
258
+ if (pivotY == "center") {
259
+ front.y = (front.height/2)*-1;
260
+ back.y = (back.height/2)*-1
261
+ } else if (pivotY == "top") {
262
+ } else if (pivotY == "bottom") {
263
+ front.y = (front.height)*-1;
264
+ } else {}
265
+ }
266
+ }
267
+
268
+ override public function setActualSize(w:Number, h:Number):void {
269
+ super.setActualSize(w, h);
270
+ if (front) {
271
+ front.setActualSize(w, h);
272
+ }
273
+ if (!defaultBack) {
274
+ back.setActualSize(w, h);
275
+ }
276
+ }
277
+
278
+ protected function updateTweens():void {
279
+ }
280
+
281
+ protected function updateTweenParams():void {
282
+ // animator so you can create handlers for the onComplete/onStart/onClick params
283
+ TweenUtil.resolveParams(tweens, tweenParams, animator);
284
+ }
285
+
286
+ public function tween(event:MouseEvent=null):void {
287
+ if (event) {
288
+ if (!TweenUtil.validateTweenTarget(event.target, this)) {
289
+ return;
290
+ }
291
+ }
292
+ animator.tween(tweens, tweenParams, this);
293
+ }
294
+
295
+ private function setSideVisibility():void{
296
+ if (this.rotationY >= 90 || this.rotationX >= 90) {
297
+ side = "back"
298
+ _backContainer.visible = true;
299
+ _frontContainer.visible = false;
300
+ _backContainer.rotationY = 180;
301
+ } else if (this.rotationY < 90 || this.rotationX < 90) {
302
+ side = "front"
303
+ _backContainer.visible = false;
304
+ _frontContainer.visible = true;
305
+ _backContainer.rotationY = 0;
306
+ }
307
+ }
308
+ }
309
+ }
@@ -0,0 +1,50 @@
1
+ /*
2
+ Copyright 2008 Nahuel Foronda/AsFusion
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License. Y
6
+ ou may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, s
11
+ oftware distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and limitations under the License
14
+
15
+ Author: Nahuel Foronda, Principal Architect
16
+ nahuel at asfusion dot com
17
+
18
+ @ignore
19
+ */
20
+ package com.fourD.core
21
+ {
22
+ import com.fourD.core.MethodCaller;
23
+
24
+ public class InstanceMethodInvoker {
25
+
26
+ private var _instance:*;
27
+ public function get instance():* { return _instance; }
28
+ public function set instance(value:*):void { _instance = value; }
29
+
30
+ private var _arguments:Array = undefined;
31
+ public function get arguments():Array { return _arguments; }
32
+ public function set arguments(value:Array):void { _arguments = value; }
33
+
34
+
35
+ private var _method:String;
36
+ public function get method():String { return _method; }
37
+ public function set method(value:String):void {
38
+ _method = value;
39
+ }
40
+
41
+ public var ins:*;
42
+
43
+ public function run():void {
44
+ if(method) {
45
+ var methodCaller:MethodCaller = new MethodCaller();
46
+ methodCaller.call(ins, method, this.arguments);
47
+ }
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,43 @@
1
+ /*
2
+ Copyright 2008 Nahuel Foronda/AsFusion
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License. Y
6
+ ou may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, s
11
+ oftware distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and limitations under the License
14
+
15
+ Author: Nahuel Foronda, Principal Architect
16
+ nahuel at asfusion dot com
17
+
18
+ @ignore
19
+ */
20
+ package com.fourD.core {
21
+
22
+ [DefaultProperty("properties")]
23
+ /**
24
+ * BaseAction is the base class for all the <code>IAction</code>s that have Properties
25
+ */
26
+ public class InstancePropertyInjector {
27
+
28
+ private var _instance:*;
29
+ public function get instance():* { return _instance; }
30
+ public function set instance(value:*):void { _instance = value; }
31
+
32
+ private var _properties:Properties;
33
+ public function get properties():Properties { return _properties; }
34
+ public function set properties(value:Properties):void { _properties = value; }
35
+
36
+ public function run():void {
37
+ if(properties) {
38
+ properties.injectProperties(instance);
39
+ }
40
+ }
41
+
42
+ }
43
+ }
@@ -0,0 +1,51 @@
1
+
2
+ package com.fourD.core {
3
+ import flash.utils.getQualifiedClassName;
4
+
5
+
6
+ public class MethodCaller {
7
+
8
+ public function call(instance:*, method:String, args:*):*
9
+ {
10
+ var returnValue:*;
11
+ var parameters:Array = args as Array;
12
+ trace("METHOD CALLER\n" + instance);
13
+ trace("instance = " + flash.utils.getQualifiedClassName(instance));
14
+ trace("method = " + method);
15
+ if(!instance)
16
+ {
17
+ }
18
+ else if(!method)
19
+ {
20
+ }
21
+ else if(!instance.hasOwnProperty(method))
22
+ {
23
+ }
24
+ else if(!(instance[method] is Function))
25
+ {
26
+ }
27
+ else
28
+ {
29
+ try
30
+ {
31
+ if(!parameters)
32
+ {
33
+
34
+ returnValue = instance[method]();
35
+ }
36
+ else
37
+ {
38
+ returnValue = (instance[method] as Function).apply(instance, parameters);
39
+ }
40
+ }
41
+ catch(error:ArgumentError)
42
+ {
43
+ }
44
+ catch(error:TypeError)
45
+ {
46
+ }
47
+ }
48
+ return returnValue;
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,10 @@
1
+ package com.fourD.core
2
+ {
3
+ public class Pathway
4
+ {
5
+ public function Pathway()
6
+ {
7
+ }
8
+
9
+ }
10
+ }
@@ -0,0 +1,28 @@
1
+ package com.fourD.core {
2
+
3
+ import flash.events.*;
4
+
5
+ public class PathwayEvent extends Event {
6
+
7
+ public static const TRAVERSE:String = "traversePathwayEvent";
8
+
9
+ /** url that tells you how to traverse through a network of views or content */
10
+ public var url:Array;
11
+
12
+ /**
13
+ * A PathwayEvent tells the View how to respond when some new data is loaded
14
+ * or you want to peform some super sophisticated animation sequence
15
+ * It also allows you to finely control the View state logic
16
+ * Edit this as you see fit.
17
+ */
18
+ public function PathwayEvent(type:String, bubbles:Boolean = false)
19
+ {
20
+ super(type, bubbles);
21
+ }
22
+
23
+ override public function clone():Event
24
+ {
25
+ return new PathwayEvent(type, bubbles);
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,34 @@
1
+ package com.fourD.core {
2
+
3
+ import flash.events.Event;
4
+ import flash.events.EventDispatcher;
5
+ import flash.events.IEventDispatcher;
6
+
7
+ import com.fourD.core.TectonEvent;
8
+
9
+ import mx.events.CollectionEvent;
10
+
11
+ public class Pheron {
12
+
13
+ /** This property is injected by the application. */
14
+ [Bindable]
15
+ public var dispatcher:IEventDispatcher;
16
+
17
+ /**
18
+ * urls look like this:
19
+ * [{view:myView, viewAction:"show", model:myContentID, modelAction:"create"}
20
+ * {view:anotherView, viewAction:"hide", model:myContentID, modelAction:"show"}]
21
+ * In turn, the PathwayEvent is picked apart by the TectonManager which
22
+ * figures out how to sequence tectons (actions on system objects)
23
+ */
24
+ public function gotoUrl(url:Array):void {
25
+ var event:PathwayEvent = new PathwayEvent(PathwayEvent.TRAVERSE);
26
+ event.url = url;
27
+ dispatcher.dispatchEvent(event);
28
+ }
29
+
30
+ public function Pheron() {
31
+
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,41 @@
1
+ package com.fourD.core {
2
+
3
+ import flash.display.DisplayObject;
4
+ import flash.events.*;
5
+
6
+ public class Pheron2 extends Event {
7
+
8
+ public static const INITIALIZE:String = "initializeTectonEvent";
9
+ public static const START:String = "runTectonEvent";
10
+ public static const COMPLETE:String = "runCompleteTectonEvent";
11
+
12
+ /**
13
+ * Tecton that dispatched this event, which has a reference to a view (tropon)
14
+ * and the action that will be run (tweens or functions).
15
+ * A tecton has a ton of information with it.
16
+ */
17
+
18
+ public var tecton:Tecton;
19
+
20
+ public var actionParams:Object;
21
+
22
+ private var name:String;
23
+
24
+ /**
25
+ * A PathwayEvent tells the View how to respond when some new data is loaded
26
+ * or you want to peform some super sophisticated animation sequence
27
+ * It also allows you to finely control the View state logic
28
+ * Edit this as you see fit.
29
+ */
30
+ public function Pheron2(phase:String, bubbles:Boolean = false)
31
+ {
32
+ name = tecton.tropon.toString() + phase;
33
+ super(name, bubbles);
34
+ }
35
+
36
+ override public function clone():Pheron2
37
+ {
38
+ return new Pheron2(name, bubbles);
39
+ }
40
+ }
41
+ }