adva-core 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.
Files changed (284) hide show
  1. data/lib/bundler/repository.rb +118 -0
  2. metadata +68 -317
  3. data/app/controllers/admin/base_controller.rb +0 -21
  4. data/app/controllers/admin/pages_controller.rb +0 -7
  5. data/app/controllers/admin/sections_controller.rb +0 -39
  6. data/app/controllers/admin/sites_controller.rb +0 -21
  7. data/app/controllers/articles_controller.rb +0 -3
  8. data/app/controllers/base_controller.rb +0 -22
  9. data/app/controllers/installations_controller.rb +0 -28
  10. data/app/controllers/pages_controller.rb +0 -2
  11. data/app/controllers/sections_controller.rb +0 -3
  12. data/app/helpers/form_helper.rb +0 -13
  13. data/app/helpers/sections_helper.rb +0 -7
  14. data/app/helpers/url_helper.rb +0 -18
  15. data/app/models/account.rb +0 -3
  16. data/app/models/article.rb +0 -2
  17. data/app/models/content.rb +0 -4
  18. data/app/models/page.rb +0 -17
  19. data/app/models/section.rb +0 -59
  20. data/app/models/site.rb +0 -26
  21. data/app/views/admin/contents/_menu.html.rb +0 -17
  22. data/app/views/admin/pages/_menu.html.rb +0 -10
  23. data/app/views/admin/pages/new.html.rb +0 -19
  24. data/app/views/admin/pages/show.html.rb +0 -25
  25. data/app/views/admin/sections/_menu.html.rb +0 -45
  26. data/app/views/admin/sections/_section.html.rb +0 -7
  27. data/app/views/admin/sections/_select_type.html.rb +0 -16
  28. data/app/views/admin/sections/index.html.rb +0 -28
  29. data/app/views/admin/sites/_menu.html.rb +0 -2
  30. data/app/views/admin/sites/edit.html.rb +0 -22
  31. data/app/views/admin/sites/index.html.rb +0 -12
  32. data/app/views/admin/sites/new.html.rb +0 -39
  33. data/app/views/admin/sites/show.html.rb +0 -7
  34. data/app/views/installations/new.html.rb +0 -39
  35. data/app/views/installations/show.html.rb +0 -9
  36. data/app/views/layouts/_flash.html.rb +0 -9
  37. data/app/views/layouts/admin.rb +0 -38
  38. data/app/views/layouts/admin/_header.rb +0 -48
  39. data/app/views/layouts/admin/_tabs.html.rb +0 -18
  40. data/app/views/layouts/admin/_top.rb +0 -58
  41. data/app/views/layouts/base.rb +0 -58
  42. data/app/views/layouts/default.rb +0 -45
  43. data/app/views/layouts/default/_menu.rb +0 -19
  44. data/app/views/layouts/simple.rb +0 -16
  45. data/app/views/pages/show.html.rb +0 -7
  46. data/config/initializers/simple_form.rb +0 -53
  47. data/config/locales/en.yml +0 -129
  48. data/config/redirects.rb +0 -8
  49. data/config/routes.rb +0 -21
  50. data/lib/adva-core.rb +0 -1
  51. data/lib/adva.rb +0 -37
  52. data/lib/adva/active_record/has_options.rb +0 -55
  53. data/lib/adva/cli.rb +0 -16
  54. data/lib/adva/controller.rb +0 -7
  55. data/lib/adva/controller/abstract_actions.rb +0 -87
  56. data/lib/adva/controller/internal_redirect.rb +0 -26
  57. data/lib/adva/controller/references.rb +0 -28
  58. data/lib/adva/core.rb +0 -85
  59. data/lib/adva/engine.rb +0 -64
  60. data/lib/adva/engine/sliced_models.rb +0 -35
  61. data/lib/adva/generators.rb +0 -8
  62. data/lib/adva/generators/app.rb +0 -121
  63. data/lib/adva/generators/engine.rb +0 -58
  64. data/lib/adva/generators/gemfile.rb +0 -50
  65. data/lib/adva/generators/install.rb +0 -31
  66. data/lib/adva/generators/templates/app/app_template.rb +0 -3
  67. data/lib/adva/generators/templates/engine/Gemfile.erb +0 -3
  68. data/lib/adva/generators/templates/engine/all.rb +0 -1
  69. data/lib/adva/generators/templates/engine/en.yml.erb +0 -2
  70. data/lib/adva/generators/templates/engine/engine.rb.erb +0 -11
  71. data/lib/adva/generators/templates/engine/gemspec.erb +0 -21
  72. data/lib/adva/generators/templates/engine/migration.rb.erb +0 -11
  73. data/lib/adva/generators/templates/engine/redirects.rb.erb +0 -3
  74. data/lib/adva/generators/templates/engine/routes.rb.erb +0 -3
  75. data/lib/adva/generators/templates/engine/test_helper.rb.erb +0 -3
  76. data/lib/adva/i18n.rb +0 -73
  77. data/lib/adva/rack.rb +0 -5
  78. data/lib/adva/rack/static.rb +0 -50
  79. data/lib/adva/registry.rb +0 -62
  80. data/lib/adva/responder.rb +0 -21
  81. data/lib/adva/responder/redirect.rb +0 -31
  82. data/lib/adva/routing_filters/section_path.rb +0 -72
  83. data/lib/adva/routing_filters/section_root.rb +0 -65
  84. data/lib/adva/tasks/core.rake +0 -9
  85. data/lib/adva/tasks/core.rb +0 -160
  86. data/lib/adva/testing.rb +0 -57
  87. data/lib/adva/testing/engine.rb +0 -37
  88. data/lib/adva/view.rb +0 -7
  89. data/lib/adva/view/form.rb +0 -44
  90. data/lib/adva/view/form/tabs.rb +0 -46
  91. data/lib/adva/view/helper/i18n.rb +0 -26
  92. data/lib/adva/view/menu.rb +0 -73
  93. data/lib/adva/view/menu/admin.rb +0 -100
  94. data/lib/adva/view/menu/items.rb +0 -26
  95. data/lib/adva/view/tabs.rb +0 -28
  96. data/lib/adva_core/version.rb +0 -3
  97. data/lib/core_ext/rails/action_view/has_many_through_collection_helpers.rb +0 -27
  98. data/lib/core_ext/rails/active_record/skip_callbacks.rb +0 -51
  99. data/lib/core_ext/ruby/array/flatten_once.rb +0 -9
  100. data/lib/core_ext/ruby/kernel/silence_stream.rb +0 -17
  101. data/lib/core_ext/ruby/module/include_anonymous.rb +0 -36
  102. data/lib/core_ext/ruby/module/option_reader.rb +0 -9
  103. data/lib/patches/arel/table_initialization_fixes.rb +0 -68
  104. data/lib/patches/inherited_resources.rb +0 -34
  105. data/lib/patches/rails/arel_table_options_fix.rb +0 -13
  106. data/lib/patches/rails/asset_expansion_multiple_registrations.rb +0 -21
  107. data/lib/patches/rails/recognize_path_env.rb +0 -43
  108. data/lib/patches/rails/route_set_to_param.rb +0 -25
  109. data/lib/patches/rails/sti_associations.rb +0 -17
  110. data/lib/patches/rails/template_resolver_caching.rb +0 -9
  111. data/lib/patches/rails/url_for.rb +0 -60
  112. data/lib/patches/responders/flash_responder.rb +0 -17
  113. data/lib/patches/simple_form.rb +0 -37
  114. data/lib/patches/thor/core_ext/hash.rb +0 -7
  115. data/lib/patches/thor/group/symbolized_options.rb +0 -8
  116. data/lib/patches/webrat/links-data-method.rb +0 -19
  117. data/lib/patches/webrat/logger.rb +0 -19
  118. data/lib/patches/webrat/upload_file.rb +0 -28
  119. data/lib/testing/assertions.rb +0 -19
  120. data/lib/testing/factories.rb +0 -30
  121. data/lib/testing/helpers/global_helpers.rb +0 -9
  122. data/lib/testing/paths.rb +0 -54
  123. data/lib/testing/step_definitions/common_steps.rb +0 -279
  124. data/lib/testing/step_definitions/menu_steps.rb +0 -11
  125. data/lib/testing/step_definitions/routes_steps.rb +0 -18
  126. data/lib/testing/step_definitions/transforms.rb +0 -50
  127. data/lib/testing/step_definitions/webrat_steps.rb +0 -291
  128. data/lib/testing/step_definitions/within_steps.rb +0 -17
  129. data/lib/webrat/integrations/rails.rb +0 -33
  130. data/public/images/adva-core/admin/header_bg.png +0 -0
  131. data/public/images/adva-core/admin/menu_checkmark.png +0 -0
  132. data/public/images/adva-core/admin/section_menu_bg.png +0 -0
  133. data/public/images/adva-core/admin/tab_action_active.png +0 -0
  134. data/public/images/adva-core/admin/tab_main_active.png +0 -0
  135. data/public/images/adva-core/admin/tab_sidebar_active.png +0 -0
  136. data/public/images/adva-core/admin/tab_top_active.png +0 -0
  137. data/public/images/adva-core/asset_selected.png +0 -0
  138. data/public/images/adva-core/avatar.gif +0 -0
  139. data/public/images/adva-core/feed.mini.png +0 -0
  140. data/public/images/adva-core/filter-bg.png +0 -0
  141. data/public/images/adva-core/grid.png +0 -0
  142. data/public/images/adva-core/icons/accept.png +0 -0
  143. data/public/images/adva-core/icons/add.png +0 -0
  144. data/public/images/adva-core/icons/arrow_cross.png +0 -0
  145. data/public/images/adva-core/icons/arrow_cross_2.png +0 -0
  146. data/public/images/adva-core/icons/arrow_cross_3.png +0 -0
  147. data/public/images/adva-core/icons/arrow_up_down.png +0 -0
  148. data/public/images/adva-core/icons/assets/audio.png +0 -0
  149. data/public/images/adva-core/icons/assets/doc.png +0 -0
  150. data/public/images/adva-core/icons/assets/pdf.png +0 -0
  151. data/public/images/adva-core/icons/assets/video.png +0 -0
  152. data/public/images/adva-core/icons/attach.png +0 -0
  153. data/public/images/adva-core/icons/bin.png +0 -0
  154. data/public/images/adva-core/icons/bin_closed.png +0 -0
  155. data/public/images/adva-core/icons/bin_empty.png +0 -0
  156. data/public/images/adva-core/icons/bullet_black.png +0 -0
  157. data/public/images/adva-core/icons/bullet_delete.png +0 -0
  158. data/public/images/adva-core/icons/bullet_error.png +0 -0
  159. data/public/images/adva-core/icons/bullet_go.png +0 -0
  160. data/public/images/adva-core/icons/bullet_red.png +0 -0
  161. data/public/images/adva-core/icons/bullet_white.png +0 -0
  162. data/public/images/adva-core/icons/bullet_yellow.png +0 -0
  163. data/public/images/adva-core/icons/cancel.png +0 -0
  164. data/public/images/adva-core/icons/comment.gif +0 -0
  165. data/public/images/adva-core/icons/comment.png +0 -0
  166. data/public/images/adva-core/icons/comment_add.png +0 -0
  167. data/public/images/adva-core/icons/comment_blue.gif +0 -0
  168. data/public/images/adva-core/icons/comment_delete.png +0 -0
  169. data/public/images/adva-core/icons/comment_edit.png +0 -0
  170. data/public/images/adva-core/icons/comment_yellow.gif +0 -0
  171. data/public/images/adva-core/icons/cross.png +0 -0
  172. data/public/images/adva-core/icons/delete.png +0 -0
  173. data/public/images/adva-core/icons/eye.png +0 -0
  174. data/public/images/adva-core/icons/favorites.png +0 -0
  175. data/public/images/adva-core/icons/help.png +0 -0
  176. data/public/images/adva-core/icons/hourglass.png +0 -0
  177. data/public/images/adva-core/icons/icon_attachment.gif +0 -0
  178. data/public/images/adva-core/icons/icon_padlock.gif +0 -0
  179. data/public/images/adva-core/icons/link.png +0 -0
  180. data/public/images/adva-core/icons/lock.png +0 -0
  181. data/public/images/adva-core/icons/magnifier.png +0 -0
  182. data/public/images/adva-core/icons/minus.gif +0 -0
  183. data/public/images/adva-core/icons/page_add.png +0 -0
  184. data/public/images/adva-core/icons/page_delete.png +0 -0
  185. data/public/images/adva-core/icons/page_edit.png +0 -0
  186. data/public/images/adva-core/icons/page_favorites.png +0 -0
  187. data/public/images/adva-core/icons/page_go.png +0 -0
  188. data/public/images/adva-core/icons/page_green.png +0 -0
  189. data/public/images/adva-core/icons/page_red.png +0 -0
  190. data/public/images/adva-core/icons/page_white_add.png +0 -0
  191. data/public/images/adva-core/icons/page_white_delete.png +0 -0
  192. data/public/images/adva-core/icons/page_white_edit.png +0 -0
  193. data/public/images/adva-core/icons/page_white_go.png +0 -0
  194. data/public/images/adva-core/icons/page_white_link.png +0 -0
  195. data/public/images/adva-core/icons/page_white_magnify.png +0 -0
  196. data/public/images/adva-core/icons/pencil.png +0 -0
  197. data/public/images/adva-core/icons/star.png +0 -0
  198. data/public/images/adva-core/icons/stop.png +0 -0
  199. data/public/images/adva-core/icons/tag_green.png +0 -0
  200. data/public/images/adva-core/icons/tick.png +0 -0
  201. data/public/images/adva-core/icons/zoom.png +0 -0
  202. data/public/images/adva-core/indicator.gif +0 -0
  203. data/public/images/adva-core/lines.png +0 -0
  204. data/public/images/adva-core/preview.png +0 -0
  205. data/public/images/adva-core/theme_selected.png +0 -0
  206. data/public/javascripts/adva-core/admin.js +0 -22
  207. data/public/javascripts/adva-core/jquery/jquery-1.4.2.min.js +0 -154
  208. data/public/javascripts/adva-core/jquery/jquery.table_tree.js +0 -296
  209. data/public/javascripts/adva-core/jquery/jquery.tablednd_0_5.js +0 -386
  210. data/public/javascripts/adva-core/rails.js +0 -127
  211. data/public/javascripts/backup/admin/jquery.admin.js +0 -77
  212. data/public/javascripts/backup/admin/jquery.article.js +0 -22
  213. data/public/javascripts/backup/admin/jquery.cached_pages.js +0 -14
  214. data/public/javascripts/backup/admin/jquery.table_tree.backup.js +0 -279
  215. data/public/javascripts/backup/admin/jquery.table_tree.js +0 -10
  216. data/public/javascripts/backup/application.js +0 -38
  217. data/public/javascripts/backup/application.prototype.js +0 -135
  218. data/public/javascripts/backup/builder.js +0 -136
  219. data/public/javascripts/backup/controls.js +0 -965
  220. data/public/javascripts/backup/cookie.js +0 -49
  221. data/public/javascripts/backup/dragdrop.js +0 -975
  222. data/public/javascripts/backup/effects.js +0 -1130
  223. data/public/javascripts/backup/flash.js +0 -49
  224. data/public/javascripts/backup/jquery.dates.js +0 -49
  225. data/public/javascripts/backup/jquery.flash.js +0 -40
  226. data/public/javascripts/backup/jquery.roles.js +0 -23
  227. data/public/javascripts/backup/jquery/jquery-lowpro.js +0 -224
  228. data/public/javascripts/backup/jquery/jquery-ui.js +0 -273
  229. data/public/javascripts/backup/jquery/jquery.js +0 -19
  230. data/public/javascripts/backup/jquery/jquery.qtip.min.js +0 -15
  231. data/public/javascripts/backup/json.js +0 -139
  232. data/public/javascripts/backup/lowpro.js +0 -320
  233. data/public/javascripts/backup/parseuri.js +0 -39
  234. data/public/javascripts/backup/prototype.js +0 -4320
  235. data/public/javascripts/backup/roles.js +0 -16
  236. data/public/javascripts/backup/scriptaculous.js +0 -60
  237. data/public/javascripts/backup/slider.js +0 -275
  238. data/public/javascripts/backup/sound.js +0 -55
  239. data/public/javascripts/backup/unittest.js +0 -568
  240. data/public/stylesheets/adva-core/admin/forms.css +0 -172
  241. data/public/stylesheets/adva-core/admin/layout.css +0 -38
  242. data/public/stylesheets/adva-core/admin/lists.css +0 -54
  243. data/public/stylesheets/adva-core/admin/navigation.css +0 -234
  244. data/public/stylesheets/adva-core/admin/sidebar.css +0 -87
  245. data/public/stylesheets/adva-core/admin/styles.css +0 -136
  246. data/public/stylesheets/adva-core/common/forms.css +0 -174
  247. data/public/stylesheets/adva-core/common/layout.css +0 -93
  248. data/public/stylesheets/adva-core/common/reset.css +0 -42
  249. data/public/stylesheets/adva-core/common/styles.css +0 -41
  250. data/public/stylesheets/adva-core/default/layout.css +0 -0
  251. data/public/stylesheets/adva-core/default/styles.css +0 -30
  252. data/public/stylesheets/adva-core/simple/layout.css +0 -11
  253. data/public/stylesheets/backup/alternate/common.css +0 -76
  254. data/public/stylesheets/backup/alternate/forms.css +0 -121
  255. data/public/stylesheets/backup/alternate/header.css +0 -125
  256. data/public/stylesheets/backup/alternate/layout.css +0 -103
  257. data/public/stylesheets/backup/alternate/lists.css +0 -153
  258. data/public/stylesheets/backup/alternate/sidebar.css +0 -65
  259. data/public/stylesheets/backup/alternate/top.css +0 -123
  260. data/public/stylesheets/backup/content.css +0 -11
  261. data/public/stylesheets/backup/helptip.css +0 -35
  262. data/public/stylesheets/backup/jquery/alternate/jquery.tooltip.css +0 -13
  263. data/public/stylesheets/backup/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  264. data/public/stylesheets/backup/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  265. data/public/stylesheets/backup/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  266. data/public/stylesheets/backup/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  267. data/public/stylesheets/backup/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  268. data/public/stylesheets/backup/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  269. data/public/stylesheets/backup/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  270. data/public/stylesheets/backup/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  271. data/public/stylesheets/backup/jquery/images/ui-icons_222222_256x240.png +0 -0
  272. data/public/stylesheets/backup/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  273. data/public/stylesheets/backup/jquery/images/ui-icons_454545_256x240.png +0 -0
  274. data/public/stylesheets/backup/jquery/images/ui-icons_888888_256x240.png +0 -0
  275. data/public/stylesheets/backup/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  276. data/public/stylesheets/backup/jquery/jquery-ui.css +0 -406
  277. data/public/stylesheets/backup/jquery/jquery.tooltip.css +0 -10
  278. data/public/stylesheets/backup/layout.css +0 -22
  279. data/public/stylesheets/backup/lists.css +0 -17
  280. data/public/stylesheets/backup/menu.css +0 -129
  281. data/public/stylesheets/backup/projection.css +0 -118
  282. data/public/stylesheets/backup/screen/top.css +0 -8
  283. data/public/stylesheets/backup/themes.css +0 -49
  284. data/public/stylesheets/backup/users.css +0 -40
@@ -1,9 +0,0 @@
1
- require 'rake'
2
- require 'adva/tasks/core'
3
-
4
- namespace :adva do
5
- desc 'Install adva'
6
- task :install do
7
- Adva::Tasks::Install.start
8
- end
9
- end
@@ -1,160 +0,0 @@
1
- require 'thor'
2
- require 'thor/group'
3
- require 'patches/thor/core_ext/hash'
4
- require 'patches/thor/group/symbolized_options'
5
- require 'rails/engine'
6
-
7
- module Adva
8
- module Tasks
9
- class App < Thor::Group
10
- namespace 'adva:app'
11
- desc 'Create a new adva app'
12
- argument :name, :required => false
13
- class_option :target, :required => false
14
- class_option :engines, :required => false, :type => :array
15
- class_option :install, :required => false, :type => :boolean
16
- class_option :migrate, :required => false, :type => :boolean, :default => true
17
- class_option :template, :required => false
18
- class_option :force, :required => false, :type => :boolean, :default => true
19
-
20
- def perform
21
- Adva::Generators::App.new(name, symbolized_options).invoke
22
- end
23
- end
24
-
25
- class Engine < Thor::Group
26
- namespace 'adva:engine'
27
- desc 'Create an adva engine'
28
- argument :name
29
-
30
- def perform
31
- require 'adva/generators/engine'
32
- Adva::Generators::Engine.new(name, symbolized_options).invoke_all
33
- end
34
- end
35
-
36
- class Install < Thor::Group
37
- namespace 'adva:install'
38
- desc 'Install adva engines'
39
- class_option :engines, :required => false, :type => :array
40
-
41
- def install
42
- Adva::Generators::Install.new(symbolized_options).invoke
43
- end
44
- end
45
-
46
- module Test
47
- module Cucumber
48
- def cucumber_args
49
- args = cucumber_options + cucumber_files
50
- args.flatten.compact
51
- end
52
-
53
- def cucumber_files
54
- paths = Adva.engines.map { |engine| engine.root.join('features/**/*.feature').to_s }
55
- paths = paths.select { |path| path.include?(pattern) } if pattern
56
- Dir["{#{paths.join(',')}}"].sort
57
- end
58
-
59
- def cucumber_pattern
60
- self.respond_to?(:pattern) ? self.pattern : ''
61
- end
62
-
63
- def cucumber_options
64
- # TODO submit a patch to Cucumber: programatically find out supported Cucumber options seems
65
- # close to impossible bc/ it immediately calls parse! on its options as soon they are defined.
66
- # see http://github.com/aslakhellesoy/cucumber/blob/master/lib/cucumber/cli/options.rb#L261
67
- options = self.options.reject { |name, value| name.include?('rebuild') }
68
- options.map { |name, value| ["--#{name}", value.is_a?(String) ? value : nil] }.flatten.compact
69
- end
70
- end
71
-
72
- class All < Thor::Group
73
- namespace 'test:all'
74
- desc 'run all features and tests'
75
- class_option :rebuild, :aliases => '-r', :required => false
76
-
77
- include Cucumber
78
-
79
-
80
- def all
81
- require 'cucumber'
82
- ENV['REGENERATE_APP'] = true if options['rebuild']
83
- Rails.env = 'test'
84
- passed = !::Cucumber::Cli::Main.execute(cucumber_args) # returns true on failure
85
-
86
- Dir['**/test/**/*_test.rb'].each { |file| require file }
87
- passed &= test_runner.run # returns true on pass
88
-
89
- exit(passed ? 0 : 1)
90
- end
91
-
92
- protected
93
-
94
- # GOSHHHH. maybe we really should switch to minitest.
95
-
96
- def test_runner
97
- require 'test/unit'
98
- ::Test::Unit::AutoRunner.new(false).tap do |runner|
99
- runner.collector = lambda { |r| test_collector.new.collect($0.sub(/\.rb\Z/, '')) }
100
- end
101
- end
102
-
103
- def test_collector
104
- require 'test/unit/collector/objectspace'
105
- require 'mocha/integration/test_unit'
106
- Class.new(::Test::Unit::Collector::ObjectSpace) do
107
- def collect(name=NAME)
108
- suite, sub_suites = ::Test::Unit::TestSuite.new(name), []
109
- @source.each_object(Class) do |klass|
110
- if klass < ::Test::Unit::TestCase && klass != ::Cucumber::Rails::World
111
- add_suite(sub_suites, klass.suite)
112
- end
113
- end
114
- sort(sub_suites).each { |s| suite << s }
115
- suite
116
- end
117
- end
118
- end
119
- end
120
-
121
- class Features < Thor::Group
122
- namespace 'test:features'
123
- desc 'run cucumber features'
124
- argument :pattern, :required => false, :default => '/features'
125
- class_option :rebuild, :aliases => '-r', :required => false, :default => false
126
- class_option :format, :aliases => '-f', :required => false, :default => 'pretty'
127
- class_option :tags, :aliases => '-t', :required => false, :default => '~@wip'
128
- class_option :name, :aliases => '-n', :required => false
129
- class_option :exclude, :aliases => '-e', :required => false
130
- class_option :backtrace, :aliases => '-b', :required => false, :default => true
131
- class_option :wip, :aliases => '-w', :required => false
132
-
133
- include Cucumber
134
-
135
- def features
136
- require 'cucumber'
137
- ENV['REGENERATE_APP'] = 'true' if options['rebuild']
138
- Rails.env = 'test'
139
-
140
- passed = !::Cucumber::Cli::Main.execute(cucumber_args) # returns true on failure
141
- exit(passed ? 0 : 1)
142
- end
143
- end
144
-
145
- class Unit < Thor::Group
146
- namespace 'test:unit'
147
- desc 'run tests'
148
- argument :pattern, :required => false, :default => '**/test/**/*_test.rb'
149
- class_option :name, :required => false, :desc => 'Runs tests matching NAME. Patterns may be used.' # Runs tests matching NAME.
150
-
151
- def unit
152
- Rails.env = 'test'
153
- Dir[pattern].each { |file| require file }
154
- exit($1.exitstatus) if $1.exited? && $1.exitstatus != 0
155
- end
156
- end
157
- end
158
- end
159
- end
160
-
@@ -1,57 +0,0 @@
1
- module Adva
2
- module Testing
3
- autoload :Engine, 'adva/testing/engine'
4
-
5
- Rails::Engine.extend(Engine)
6
-
7
- class << self
8
- def setup(options = {})
9
- Adva.out = StringIO.new('')
10
- setup_logging(options)
11
- setup_active_record
12
-
13
- each_engine { |e| e.setup_load_paths }
14
- each_engine { |e| e.migrate }
15
- each_engine { |e| e.require_patches }
16
- each_engine { |e| e.preload_sliced_models }
17
-
18
- load_assertions
19
- load_factories
20
- end
21
-
22
- def each_engine(&block)
23
- Adva.engines.each(&block)
24
- end
25
-
26
- def load_assertions
27
- Adva.engines.each { |e| e.load_assertions }
28
- end
29
-
30
- def load_factories
31
- Adva.engines.each { |e| e.load_factories }
32
- end
33
-
34
- def load_cucumber_support
35
- Adva.engines.each { |e| e.load_cucumber_support }
36
- end
37
-
38
- def load_helpers
39
- Adva.engines.each { |e| e.load_helpers }
40
- end
41
-
42
- def setup_logging(options)
43
- if log = options[:log]
44
- FileUtils.touch(log) unless File.exists?(log)
45
- ActiveRecord::Base.logger = Logger.new(log)
46
- ActiveRecord::LogSubscriber.attach_to(:active_record)
47
- end
48
- end
49
-
50
- def setup_active_record
51
- ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :database => ':memory:')
52
- ActiveRecord::Migration.verbose = false
53
- DatabaseCleaner.strategy = :truncation
54
- end
55
- end
56
- end
57
- end
@@ -1,37 +0,0 @@
1
- module Adva
2
- module Testing
3
- module Engine
4
- def setup_load_paths
5
- paths.app.each { |path| $:.unshift(path) if File.directory?(path) }
6
- ActiveSupport::Dependencies.autoload_paths.unshift(*paths.app)
7
- end
8
-
9
- def migrate
10
- ActiveRecord::Migrator.up(root.join('db/migrate'))
11
- end
12
-
13
- def load_assertions
14
- load_all('lib/testing/assertions')
15
- end
16
-
17
- def load_factories
18
- load_all('lib/testing/factories')
19
- end
20
-
21
- def load_cucumber_support
22
- load_all('lib/testing/step_definitions')
23
- load_all('lib/testing/paths')
24
- end
25
-
26
- def load_helpers
27
- load_all('lib/testing/helpers')
28
- end
29
-
30
- def load_all(search)
31
- Pathname.glob(root.join("#{search}{.rb,/*.rb}")).each do |file|
32
- require(file) if file.exist?
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,7 +0,0 @@
1
- module Adva
2
- module View
3
- autoload :Form, 'adva/view/form'
4
- autoload :Menu, 'adva/view/menu'
5
- autoload :Tabs, 'adva/view/tabs'
6
- end
7
- end
@@ -1,44 +0,0 @@
1
- module Adva
2
- module View
3
- class Form < Minimal::Template
4
- autoload :Tabs, 'adva/view/form/tabs'
5
- include Tabs
6
-
7
- attr_reader :form
8
-
9
- def to_html
10
- form_tag
11
- end
12
-
13
- def form_tag
14
- simple_form_for(*form_arguments) do |form|
15
- @form = form
16
- fields
17
- button_group
18
- end
19
- end
20
-
21
- def form_arguments
22
- [resources]
23
- end
24
-
25
- def button_group
26
- content_tag(:div, :class => 'buttons') do
27
- buttons
28
- end
29
- end
30
-
31
- def buttons
32
- form.button :submit
33
- end
34
-
35
- def return_here
36
- hidden_field_tag :return_to, request.url
37
- end
38
-
39
- def pass_return_to
40
- hidden_field_tag :return_to, params[:return_to]
41
- end
42
- end
43
- end
44
- end
@@ -1,46 +0,0 @@
1
- module Adva
2
- module View
3
- class Form
4
- module Tabs
5
- def form_for(*args, &block)
6
- super(*args, &with_tabs(block))
7
- end
8
-
9
- def simple_form_for(*args, &block)
10
- super(*args, &with_tabs(block))
11
- end
12
-
13
- def with_tabs(block)
14
- if respond_to?(:sidebar)
15
- lambda do |*args|
16
- block.call(*args)
17
- sidebar
18
-
19
- div :class => :tabs do
20
- ul do
21
- controller.tabs.each do |tab|
22
- li(:class => tab.active? ? :active : '') do
23
- link_to(:"admin.tabs.#{tab.name}", "##{tab.name}")
24
- end
25
- end
26
- end
27
- controller.tabs.each do |tab|
28
- div :id => "tab_#{tab.name}", :class => "tab #{tab.active? ? :active : ''}" do
29
- tab.blocks.each { |block| block.call }
30
- end
31
- end
32
- end
33
- end
34
- else
35
- block
36
- end
37
- end
38
-
39
- # should store the tabs on the form builder object instead of the controller
40
- def tab(*args, &block)
41
- controller.tabs.tab(*args, &block)
42
- end
43
- end
44
- end
45
- end
46
- end
@@ -1,26 +0,0 @@
1
- I18n::Backend::Simple.send(:include, I18n::Backend::Cascade)
2
-
3
- # TODO no idea how to use a module here :/
4
- ActionView::Base.class_eval do
5
- def translate(key, options = {})
6
- # TODO must be fixed in I18n::Backend::Cascade
7
- options.merge!(:cascade => { :step => 1, :offset => 2, :skip_root => false }) if key.to_s.include?('.')
8
- super(key, options)
9
- end
10
- alias t translate
11
- end
12
-
13
- # TODO submit a Rails patch
14
- ActionView::Helpers::TranslationHelper.module_eval do
15
- def translate(key, options = {})
16
- options.merge!(:wrap_exception => true) unless options.key?(:wrap_exception)
17
- translation = I18n.translate(scope_key_by_partial(key), options)
18
- if html_safe_translation_key?(key) && translation.respond_to?(:html_safe)
19
- translation.html_safe
20
- else
21
- translation
22
- end
23
- end
24
- alias :t :translate
25
- end
26
-
@@ -1,73 +0,0 @@
1
- module Adva
2
- module View
3
- class Menu < Minimal::Template
4
- autoload :Admin, 'adva/view/menu/admin'
5
- autoload :Items, 'adva/view/menu/items'
6
-
7
- def to_html
8
- build
9
- render_items
10
- end
11
-
12
- def item(text, url = nil, options = {}, &block)
13
- items.insert(text, url, options, block)
14
- end
15
-
16
- def label(text, url = nil, options = {}, &block)
17
- item(text, url, options.merge(:type => :label), &block)
18
- end
19
-
20
- protected
21
- def items
22
- @items ||= Items.new
23
- end
24
-
25
- def render_items
26
- items, @items = self.items, Items.new
27
- items.each { |args| render_item(*args) }
28
- end
29
-
30
- def render_item(text, url, options, block)
31
- options.merge!(:class => text.to_s.split('.').last) if text.is_a?(Symbol)
32
- url = url_for(url) unless url.is_a?(String) || options[:type] == :label
33
-
34
- li(:class => active?(url, options) ? 'active' : nil) do
35
- options[:type] == :label ? h4(text, options) : link_to(text, url, options)
36
- render_block(block) if block
37
- end
38
- end
39
-
40
- def render_block(block)
41
- self << capture do
42
- instance_eval(&block)
43
- render_items
44
- end
45
- end
46
-
47
- def name
48
- @name ||= self.class.name.demodulize.underscore
49
- end
50
-
51
- def css_classes
52
- ['menu', name].uniq
53
- end
54
-
55
- def active?(url, options)
56
- activate = options.key?(:activate) ? options.delete(:activate) : true
57
- delete = options[:method] == :delete
58
- activate && !delete && active_paths.include?(url)
59
- end
60
-
61
- def active_paths
62
- @active_paths ||= path_and_parents(controller.request.fullpath)
63
- end
64
-
65
- def path_and_parents(path)
66
- path.split('/').inject([]) do |paths, segment|
67
- path = [paths.last == '/' ? '' : paths.last, segment].compact.join('/')
68
- paths << (path.empty? ? '/' : path)
69
- end
70
- end
71
- end
72
- end
73
- end