reactive 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. data/History.txt +3 -0
  2. data/MIT-LICENSE +21 -0
  3. data/Manifest.txt +60 -0
  4. data/README.txt +130 -0
  5. data/Rakefile +14 -0
  6. data/app_generators/reactive/USAGE +11 -0
  7. data/app_generators/reactive/reactive_generator.rb +160 -0
  8. data/app_generators/reactive/templates/README +130 -0
  9. data/app_generators/reactive/templates/Rakefile +10 -0
  10. data/app_generators/reactive/templates/app/controllers/application_controller.rb +2 -0
  11. data/app_generators/reactive/templates/app/helpers/application_helper.rb +2 -0
  12. data/app_generators/reactive/templates/config/boot.rb +94 -0
  13. data/app_generators/reactive/templates/config/databases/frontbase.yml +28 -0
  14. data/app_generators/reactive/templates/config/databases/mysql.yml +54 -0
  15. data/app_generators/reactive/templates/config/databases/oracle.yml +39 -0
  16. data/app_generators/reactive/templates/config/databases/postgresql.yml +48 -0
  17. data/app_generators/reactive/templates/config/databases/sqlite2.yml +16 -0
  18. data/app_generators/reactive/templates/config/databases/sqlite3.yml +19 -0
  19. data/app_generators/reactive/templates/config/empty.log +0 -0
  20. data/app_generators/reactive/templates/config/environment.rb +11 -0
  21. data/app_generators/reactive/templates/script/destroy +12 -0
  22. data/app_generators/reactive/templates/script/generate +12 -0
  23. data/app_generators/reactive/templates/script/run +5 -0
  24. data/app_generators/reactive/templates/script/win_script.cmd +1 -0
  25. data/bin/reactive +16 -0
  26. data/lib/code_statistics.rb +107 -0
  27. data/lib/controller.rb +23 -0
  28. data/lib/controller/base.rb +442 -0
  29. data/lib/controller/filters.rb +767 -0
  30. data/lib/controller/flash.rb +161 -0
  31. data/lib/controller/helpers.rb +204 -0
  32. data/lib/controller/layout.rb +326 -0
  33. data/lib/dispatcher.rb +46 -0
  34. data/lib/generated_attribute.rb +40 -0
  35. data/lib/initializer.rb +425 -0
  36. data/lib/named_base_generator.rb +92 -0
  37. data/lib/reactive.rb +6 -0
  38. data/lib/request.rb +17 -0
  39. data/lib/source_annotation_extractor.rb +62 -0
  40. data/lib/tasks/annotations.rake +23 -0
  41. data/lib/tasks/databases.rake +347 -0
  42. data/lib/tasks/log.rake +9 -0
  43. data/lib/tasks/misc.rake +5 -0
  44. data/lib/tasks/reactive.rb +16 -0
  45. data/lib/tasks/statistics.rake +17 -0
  46. data/lib/tasks/testing.rake +118 -0
  47. data/lib/version.rb +9 -0
  48. data/lib/view.rb +1 -0
  49. data/lib/view/base.rb +33 -0
  50. data/reactive_generators/model/USAGE +27 -0
  51. data/reactive_generators/model/model_generator.rb +52 -0
  52. data/reactive_generators/model/templates/fixtures.yml +19 -0
  53. data/reactive_generators/model/templates/migration.rb +16 -0
  54. data/reactive_generators/model/templates/model.rb +2 -0
  55. data/reactive_generators/model/templates/unit_test.rb +8 -0
  56. data/reactive_generators/scaffold/USAGE +26 -0
  57. data/reactive_generators/scaffold/scaffold_generator.rb +75 -0
  58. data/reactive_generators/scaffold/templates/controller.rb +51 -0
  59. data/reactive_generators/scaffold/templates/functional_test.rb +49 -0
  60. data/reactive_generators/scaffold/templates/helper.rb +2 -0
  61. metadata +142 -0
@@ -0,0 +1,51 @@
1
+ class <%= controller_class_name %>Controller < ApplicationController
2
+
3
+ def index
4
+ @<%= table_name %> = <%= class_name %>.find(:all)
5
+ end
6
+
7
+ def show
8
+ @<%= file_name %> = <%= class_name %>.find(params[:id])
9
+ end
10
+
11
+ def new
12
+ @<%= file_name %> = <%= class_name %>.new
13
+ end
14
+
15
+ def edit
16
+ @<%= file_name %> = <%= class_name %>.find(params[:id])
17
+ end
18
+
19
+ def create
20
+ @<%= file_name %> = <%= class_name %>.new(params[:<%= file_name %>])
21
+
22
+ if @<%= file_name %>.save
23
+ flash[:notice] = '<%= class_name %> was successfully created.'
24
+ else
25
+ count = @<%= file_name %>.errors.count
26
+ flash[:notice] = count == 1 ? "There is one error, please correct it." : "There are #{count} errors, please correct them."
27
+ render :action => "new"
28
+ end
29
+ end
30
+
31
+ def update
32
+ @<%= file_name %> = <%= class_name %>.find(params[:id])
33
+
34
+ if @<%= file_name %>.update_attributes(params[:<%= file_name %>])
35
+ flash[:notice] = '<%= class_name %> was successfully updated.'
36
+ else
37
+ count = @<%= file_name %>.errors.count
38
+ flash[:notice] = count == 1 ? "There is one error, please correct it." : "There are #{count} errors, please correct them."
39
+ render :action => "edit"
40
+ end
41
+ end
42
+
43
+ def delete
44
+ @<%= table_name %> = <%= class_name %>.find(params[:id])
45
+ end
46
+
47
+ def destroy
48
+ @<%= table_name %> = <%= class_name %>.find(params[:id])
49
+ @<%= table_name %>.to_a.map(&:destroy)
50
+ end
51
+ end
@@ -0,0 +1,49 @@
1
+ require File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../test_helper'
2
+
3
+ =begin
4
+ TODO: Setup test classes
5
+
6
+ class <%= controller_class_name %>ControllerTest < ActionController::TestCase
7
+ def test_should_get_index
8
+ get :index
9
+ assert_response :success
10
+ assert_not_nil assigns(:<%= table_name %>)
11
+ end
12
+
13
+ def test_should_get_new
14
+ get :new
15
+ assert_response :success
16
+ end
17
+
18
+ def test_should_create_<%= file_name %>
19
+ assert_difference('<%= class_name %>.count') do
20
+ post :create, :<%= file_name %> => { }
21
+ end
22
+
23
+ assert_redirected_to <%= file_name %>_path(assigns(:<%= file_name %>))
24
+ end
25
+
26
+ def test_should_show_<%= file_name %>
27
+ get :show, :id => <%= table_name %>(:one).id
28
+ assert_response :success
29
+ end
30
+
31
+ def test_should_get_edit
32
+ get :edit, :id => <%= table_name %>(:one).id
33
+ assert_response :success
34
+ end
35
+
36
+ def test_should_update_<%= file_name %>
37
+ put :update, :id => <%= table_name %>(:one).id, :<%= file_name %> => { }
38
+ assert_redirected_to <%= file_name %>_path(assigns(:<%= file_name %>))
39
+ end
40
+
41
+ def test_should_destroy_<%= file_name %>
42
+ assert_difference('<%= class_name %>.count', -1) do
43
+ delete :destroy, :id => <%= table_name %>(:one).id
44
+ end
45
+
46
+ assert_redirected_to <%= table_name %>_path
47
+ end
48
+ end
49
+ =end
@@ -0,0 +1,2 @@
1
+ module <%= controller_class_name %>Helper
2
+ end
metadata ADDED
@@ -0,0 +1,142 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: reactive
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Pascal Hurni
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-05-14 00:00:00 +02:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: activesupport
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.4.0
23
+ version:
24
+ - !ruby/object:Gem::Dependency
25
+ name: rubigen
26
+ version_requirement:
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: 1.0.0
32
+ version:
33
+ - !ruby/object:Gem::Dependency
34
+ name: hoe
35
+ version_requirement:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 1.5.1
41
+ version:
42
+ description: Reactive is a desktop application framework that gives everything needed to create database-backed applications according to the Model-View-Control pattern of separation. Reactive is highly inspired and also uses code of Rails, the famous Web-Framework for ruby. In Reactive, the model is handled by what's called an object-relational mapping layer. Reactive doesn't impose any ORM, you may choose the one you like but Reactive defaults to Active Record. This means it has baked in support for it, without forcing you to use it. The view part is independant of Reactive, this means that the application has to choose a view provider and feed it into Reactive. This leads to complete freedom for the GUI part. View providers are packaged as gems, so that it is easy for the developer to choose and install them. Look for reactive_view_* to discover some view providers (at this early alpha stage, only reactive_view_wx is available) The controller is part of Reactive and is loosely coupled to the view. Simple convention set up the link.
43
+ email:
44
+ - phi@ruby-reactive.org
45
+ executables:
46
+ - reactive
47
+ extensions: []
48
+
49
+ extra_rdoc_files:
50
+ - History.txt
51
+ - Manifest.txt
52
+ - README.txt
53
+ files:
54
+ - History.txt
55
+ - MIT-LICENSE
56
+ - Manifest.txt
57
+ - README.txt
58
+ - Rakefile
59
+ - app_generators/reactive/USAGE
60
+ - app_generators/reactive/reactive_generator.rb
61
+ - app_generators/reactive/templates/README
62
+ - app_generators/reactive/templates/Rakefile
63
+ - app_generators/reactive/templates/app/controllers/application_controller.rb
64
+ - app_generators/reactive/templates/app/helpers/application_helper.rb
65
+ - app_generators/reactive/templates/config/boot.rb
66
+ - app_generators/reactive/templates/config/databases/frontbase.yml
67
+ - app_generators/reactive/templates/config/databases/mysql.yml
68
+ - app_generators/reactive/templates/config/databases/oracle.yml
69
+ - app_generators/reactive/templates/config/databases/postgresql.yml
70
+ - app_generators/reactive/templates/config/databases/sqlite2.yml
71
+ - app_generators/reactive/templates/config/databases/sqlite3.yml
72
+ - app_generators/reactive/templates/config/empty.log
73
+ - app_generators/reactive/templates/config/environment.rb
74
+ - app_generators/reactive/templates/script/destroy
75
+ - app_generators/reactive/templates/script/generate
76
+ - app_generators/reactive/templates/script/run
77
+ - app_generators/reactive/templates/script/win_script.cmd
78
+ - bin/reactive
79
+ - lib/code_statistics.rb
80
+ - lib/controller.rb
81
+ - lib/controller/base.rb
82
+ - lib/controller/filters.rb
83
+ - lib/controller/flash.rb
84
+ - lib/controller/helpers.rb
85
+ - lib/controller/layout.rb
86
+ - lib/dispatcher.rb
87
+ - lib/generated_attribute.rb
88
+ - lib/initializer.rb
89
+ - lib/named_base_generator.rb
90
+ - lib/reactive.rb
91
+ - lib/request.rb
92
+ - lib/source_annotation_extractor.rb
93
+ - lib/tasks/annotations.rake
94
+ - lib/tasks/databases.rake
95
+ - lib/tasks/log.rake
96
+ - lib/tasks/misc.rake
97
+ - lib/tasks/reactive.rb
98
+ - lib/tasks/statistics.rake
99
+ - lib/tasks/testing.rake
100
+ - lib/version.rb
101
+ - lib/view.rb
102
+ - lib/view/base.rb
103
+ - reactive_generators/model/USAGE
104
+ - reactive_generators/model/model_generator.rb
105
+ - reactive_generators/model/templates/fixtures.yml
106
+ - reactive_generators/model/templates/migration.rb
107
+ - reactive_generators/model/templates/model.rb
108
+ - reactive_generators/model/templates/unit_test.rb
109
+ - reactive_generators/scaffold/USAGE
110
+ - reactive_generators/scaffold/scaffold_generator.rb
111
+ - reactive_generators/scaffold/templates/controller.rb
112
+ - reactive_generators/scaffold/templates/functional_test.rb
113
+ - reactive_generators/scaffold/templates/helper.rb
114
+ has_rdoc: true
115
+ homepage: www.ruby-reactive.org
116
+ post_install_message:
117
+ rdoc_options:
118
+ - --main
119
+ - README.txt
120
+ require_paths:
121
+ - lib
122
+ required_ruby_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: "0"
127
+ version:
128
+ required_rubygems_version: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: "0"
133
+ version:
134
+ requirements: []
135
+
136
+ rubyforge_project: reactive
137
+ rubygems_version: 1.0.1
138
+ signing_key:
139
+ specification_version: 2
140
+ summary: Reactive is a desktop application framework that gives everything needed to create database-backed applications according to the Model-View-Control pattern of separation
141
+ test_files: []
142
+