typus 3.1.0.rc18 → 3.1.0.rc19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. data/.gitignore +14 -11
  2. data/.travis.yml +12 -0
  3. data/CHANGELOG +253 -0
  4. data/Gemfile +69 -0
  5. data/Guardfile +11 -0
  6. data/README.md +14 -26
  7. data/Rakefile +24 -100
  8. data/app/assets/javascripts/typus/application.js +8 -2
  9. data/app/assets/javascripts/typus/custom.js +2 -0
  10. data/app/assets/javascripts/typus/jquery.application.js +14 -0
  11. data/app/assets/stylesheets/typus/application.css +18 -10
  12. data/app/assets/stylesheets/typus/content.css +0 -1
  13. data/app/assets/stylesheets/typus/custom.css +11 -0
  14. data/app/assets/stylesheets/typus/errors.css +1 -1
  15. data/app/assets/stylesheets/typus/forms.css +17 -5
  16. data/app/assets/stylesheets/typus/hacks.css +4 -0
  17. data/app/assets/stylesheets/typus/header.css +8 -2
  18. data/app/assets/stylesheets/typus/pagination.css +3 -3
  19. data/app/assets/stylesheets/typus/sidebar.css +4 -0
  20. data/app/assets/stylesheets/typus/tables.css +0 -1
  21. data/app/controllers/admin/account_controller.rb +1 -2
  22. data/app/controllers/admin/base_controller.rb +5 -2
  23. data/app/controllers/admin/dashboard_controller.rb +5 -0
  24. data/app/controllers/admin/resource_controller.rb +1 -2
  25. data/app/controllers/admin/resources_controller.rb +36 -51
  26. data/app/controllers/admin/session_controller.rb +2 -3
  27. data/app/helpers/admin/base_helper.rb +2 -5
  28. data/app/helpers/admin/resources/data_types/belongs_to_helper.rb +35 -27
  29. data/app/helpers/admin/resources/data_types/dragonfly_helper.rb +16 -3
  30. data/app/helpers/admin/resources/data_types/has_and_belongs_to_many_helper.rb +45 -13
  31. data/app/helpers/admin/resources/data_types/has_many_helper.rb +27 -19
  32. data/app/helpers/admin/resources/data_types/has_one_helper.rb +24 -11
  33. data/app/helpers/admin/resources/data_types/paperclip_helper.rb +1 -1
  34. data/app/helpers/admin/resources/data_types/string_helper.rb +1 -1
  35. data/app/helpers/admin/resources/data_types/text_helper.rb +1 -1
  36. data/app/helpers/admin/resources/data_types/transversal_helper.rb +1 -1
  37. data/app/helpers/admin/resources/data_types/tree_helper.rb +1 -1
  38. data/app/helpers/admin/resources/display_helper.rb +10 -9
  39. data/app/helpers/admin/resources/filters_helper.rb +3 -10
  40. data/app/helpers/admin/resources/form_helper.rb +12 -2
  41. data/app/helpers/admin/resources/list_helper.rb +13 -5
  42. data/app/helpers/admin/resources/relationships_helper.rb +0 -21
  43. data/app/helpers/admin/resources_helper.rb +3 -3
  44. data/app/mailers/admin/mailer.rb +9 -4
  45. data/app/views/admin/base/user_guide.html.erb +1 -1
  46. data/app/views/admin/dashboard/{show.html.erb → index.html.erb} +0 -0
  47. data/app/views/admin/dashboard/widgets/_applications.html.erb +32 -10
  48. data/app/views/admin/mailer/reset_password_instructions.html.erb +9 -0
  49. data/app/views/admin/mailer/reset_password_instructions.text.erb +9 -0
  50. data/app/views/admin/resources/edit.html.erb +3 -13
  51. data/app/views/admin/resources/index.html.erb +11 -4
  52. data/app/views/admin/resources/new.html.erb +2 -2
  53. data/app/views/admin/resources/show.html.erb +1 -1
  54. data/app/views/admin/shared/_head.html.erb +2 -2
  55. data/app/views/admin/templates/_belongs_to.html.erb +6 -9
  56. data/app/views/admin/templates/_dragonfly.html.erb +1 -1
  57. data/app/views/admin/templates/_dragonfly_form_preview.html.erb +21 -0
  58. data/app/views/admin/templates/_dragonfly_preview.html.erb +1 -1
  59. data/app/views/admin/templates/_has_and_belongs_to_many.html.erb +15 -0
  60. data/app/views/admin/templates/{_has_n.html.erb → _has_many.html.erb} +0 -0
  61. data/app/views/admin/templates/_password.html.erb +1 -1
  62. data/app/views/admin/templates/_selector.html.erb +1 -11
  63. data/app/views/admin/templates/_string.html.erb +2 -20
  64. data/app/views/admin/templates/_string_with_preview.html.erb +2 -3
  65. data/app/views/admin/templates/_text.html.erb +1 -8
  66. data/app/views/admin/templates/_text_with_ckeditor.html.erb +1 -1
  67. data/app/views/admin/templates/_text_with_ckeditor_and_assets.html.erb +12 -9
  68. data/app/views/helpers/admin/base/_apps.html.erb +12 -4
  69. data/app/views/helpers/admin/base/_login_info.html.erb +1 -1
  70. data/app/views/helpers/admin/resources/_filters.html.erb +2 -1
  71. data/app/views/helpers/admin/resources/_sidebar.html.erb +25 -41
  72. data/app/views/layouts/admin/base.html.erb +1 -1
  73. data/config/locales/typus.ca.yml +1 -1
  74. data/config/locales/typus.de.yml +40 -35
  75. data/config/locales/typus.el.yml +1 -1
  76. data/config/locales/typus.es.yml +1 -1
  77. data/config/locales/typus.fr.yml +1 -1
  78. data/config/locales/typus.hu.yml +1 -1
  79. data/config/locales/typus.it.yml +1 -1
  80. data/config/locales/typus.locale.models.yml.template +17 -0
  81. data/config/locales/typus.locale.yml.template +80 -0
  82. data/config/locales/typus.pt-BR.yml +1 -1
  83. data/config/locales/typus.pt-PT.yml +2 -2
  84. data/config/locales/typus.ru.yml +1 -1
  85. data/config/locales/typus.zh-CN.yml +1 -1
  86. data/config/routes.rb +5 -1
  87. data/lib/generators/templates/config/initializers/typus.rb +9 -0
  88. data/lib/generators/templates/config/typus/README +0 -6
  89. data/lib/support/active_record.rb +2 -10
  90. data/lib/support/string.rb +6 -1
  91. data/lib/typus.rb +49 -10
  92. data/lib/typus/authentication/base.rb +0 -4
  93. data/lib/typus/authentication/none_with_role.rb +15 -0
  94. data/lib/typus/configuration.rb +3 -7
  95. data/lib/typus/controller/ancestry.rb +1 -1
  96. data/lib/typus/controller/bulk.rb +6 -2
  97. data/lib/typus/controller/format.rb +38 -25
  98. data/lib/typus/orm/active_record/class_methods.rb +0 -1
  99. data/lib/typus/orm/active_record/search.rb +6 -2
  100. data/lib/typus/orm/base.rb +4 -3
  101. data/lib/typus/orm/mongoid.rb +4 -0
  102. data/lib/typus/orm/{mongo → mongoid}/class_methods.rb +4 -3
  103. data/lib/typus/resources.rb +9 -0
  104. data/lib/typus/version.rb +1 -1
  105. data/typus.gemspec +13 -13
  106. data/vendor/assets/chosen/chosen-sprite.png +0 -0
  107. data/vendor/assets/chosen/chosen.css +334 -0
  108. data/vendor/assets/chosen/chosen.jquery.min.js +10 -0
  109. data/vendor/assets/fancybox/jquery.fancybox-1.3.4.css +17 -17
  110. metadata +57 -131
  111. data/.gitmodules +0 -6
  112. data/app/assets/javascripts/typus.js +0 -8
  113. data/app/assets/stylesheets/typus.css +0 -20
  114. data/app/assets/stylesheets/typus/actions.css +0 -11
  115. data/app/views/admin/mailer/reset_password_link.text.erb +0 -9
  116. data/app/views/admin/templates/_belongs_to_with_autocomplete.html.erb +0 -26
  117. data/lib/typus/controller/associations.rb +0 -146
  118. data/lib/typus/controller/autocomplete.rb +0 -16
  119. data/vendor/assets/fancybox/jquery.easing-1.3.pack.js +0 -72
  120. data/vendor/assets/fancybox/jquery.fancybox-1.3.4.js +0 -1156
  121. data/vendor/assets/fancybox/jquery.mousewheel-3.0.4.pack.js +0 -14
  122. data/vendor/assets/formalize/css/_formalize.sass +0 -332
  123. data/vendor/assets/formalize/css/demo.css +0 -47
  124. data/vendor/assets/formalize/css/reset.css +0 -202
  125. data/vendor/assets/formalize/css/text.css +0 -81
  126. data/vendor/assets/formalize/js/dojo.formalize.js +0 -166
  127. data/vendor/assets/formalize/js/dojo.formalize.min.js +0 -1
  128. data/vendor/assets/formalize/js/extjs.formalize.js +0 -163
  129. data/vendor/assets/formalize/js/extjs.formalize.min.js +0 -1
  130. data/vendor/assets/formalize/js/jquery.formalize.js +0 -150
  131. data/vendor/assets/formalize/js/mootools.formalize.js +0 -155
  132. data/vendor/assets/formalize/js/mootools.formalize.min.js +0 -1
  133. data/vendor/assets/formalize/js/prototype.formalize.js +0 -163
  134. data/vendor/assets/formalize/js/prototype.formalize.min.js +0 -1
  135. data/vendor/assets/formalize/js/yui.formalize.js +0 -152
  136. data/vendor/assets/formalize/js/yui.formalize.min.js +0 -1
  137. data/vendor/assets/jquery-tokeninput/jquery.tokeninput.js +0 -736
  138. data/vendor/assets/jquery-tokeninput/token-input.css +0 -120
data/.gitignore CHANGED
@@ -1,12 +1,15 @@
1
- # Bundler stuff
2
- .bundle
3
- vendor/gems
4
- Gemfile.lock
5
-
6
- # Generated stuff
7
- *.gem
8
- db/*.sqlite3
1
+ .bundle/
9
2
  log/*.log
10
- test/fixtures/rails_app/public/system/*
11
- test/fixtures/rails_app/tmp/*
12
- tmp/**/*
3
+ pkg/
4
+
5
+ test/dummy/config/email.yml
6
+ test/dummy/config/mongoid.yml
7
+ test/dummy/db/*.sqlite3
8
+ test/dummy/log/*.log
9
+ test/dummy/public/system/
10
+ test/dummy/tmp/
11
+
12
+ vendor/bundle
13
+
14
+ # This is a RubyGem so there's no need to keep the `Gemfile.lock`.
15
+ Gemfile.lock
@@ -0,0 +1,12 @@
1
+ rvm:
2
+ - 1.8.7
3
+ - ree
4
+ - 1.9.2
5
+
6
+ notifications:
7
+ recipients:
8
+ - support@typuscms.com
9
+
10
+ branches:
11
+ only:
12
+ - master
@@ -0,0 +1,253 @@
1
+ = 3.2.0 (unreleased)
2
+
3
+ * [PLANNED] Models without a controller defined should use the "Resources"
4
+ controller.
5
+
6
+ * [PLANNED] New theme and theme support.
7
+
8
+ = 3.1.0 (unreleased)
9
+
10
+ * [PLANNED] Block changing uploaded files.
11
+
12
+ * [PLANNED] Use roles when using `:none` authentication.
13
+
14
+ * [PLANNED] Fix bulk actions combo separator. (UI)
15
+
16
+ * [PLANNED] Remove "Versions" stuff from demo sidebar.
17
+
18
+ * [PLANNED] Fix selector UI problems.
19
+
20
+ * [PLANNED] Reload data on forms only if data has changed. (UI)
21
+
22
+ * [PLANNED] Take back "Add New" on "BelongsTo" associations.
23
+
24
+ * [PLANNED] Document: `text_with_ckeditor_with_assets`.
25
+
26
+ * [PLANNED] Document: Migrate from `3.0` to `3.1`.
27
+
28
+ * [PLANNED] Document: How to test an admin controller?
29
+
30
+ * [PLANNED] Namespace filters to avoid collision with model attributes.
31
+
32
+ * [PLANNED] Helpers for `display_dragonfly` and `display_paperclip`.
33
+
34
+ * [NEW] Mountable apps support!
35
+
36
+ * [NEW] Filter with scopes.
37
+
38
+ * [NEW] Three different actions to save a record.
39
+
40
+ * [CHANGED] Now we have a dashboard for every installed application.
41
+
42
+ * [CHANGED] Associations are now cleaner. No more "relate" and "unrelate".
43
+
44
+ * [NEW] 960.gs (http://960.gs/)
45
+
46
+ * [NEW] Formalize (http://formalize.me/)
47
+
48
+ * [NEW] Chosen (http://harvesthq.github.com/chosen/)
49
+
50
+ * [CHANGED] We now support data types, which is basically a cleaner way to
51
+ add support to future data models. (Eg. CarrierWave)
52
+
53
+ * [CHANGED] Dragonfly attachments now also show details. (Size, date ...)
54
+
55
+ * [CHANGED] Improved usability by using Fancybox to add new related records.
56
+
57
+ * [NEW] Bulk actions.
58
+
59
+ * [CHANGED] Controllers are now splitted into modules so we can have a library
60
+ of common use cases.
61
+
62
+ * [CHANGED] WillPaginate has been replaced by Kaminari.
63
+
64
+ * [CHANGED] TypusCMS becomes TypusCMF.
65
+
66
+ * [NEW] Applications tabs can be sorted!
67
+
68
+ * [NEW] Models can be hidden from sidebars and dashboard.
69
+
70
+ * [NEW] Module to enable Trash functionality. Need the rails-trash plugin.
71
+
72
+ * [FIXED] We should be able to use namespaced models with more than 2 levels
73
+ of namespace.
74
+
75
+ * [CHANGED] We can't longer set models as "Read Only" from the configuration
76
+ files, this was interesting but not really usefull as anyone could mass-assign
77
+ attributes. Now to set an attribute as "Read Only" you only need to protect
78
+ it using "attr_protected".
79
+
80
+ * [NEW] Detect "attr_protected" roles.
81
+
82
+ * [NEW] Asset pipeline usage. (Yes, we are in Rails 3.1)
83
+
84
+ * [CHANGED] Removed "Autocomplete" module.
85
+
86
+ * [NEW] Typus is now tested with Travis-CI.
87
+
88
+ * [NEW] Improved MongoDB support.
89
+
90
+ * [NEW] Improved Devise support out of the box.
91
+
92
+ * [CHANGED] Improved how exporters work. Exporting only works if we define it
93
+ on the model, otherwise will raise a 422 error.
94
+
95
+ * [CHANGED] Updated mailer templates and renamed them. We are using the
96
+ templates provided by Devise.
97
+
98
+ * [CHANGED] We can set image sizes.
99
+
100
+ * [CHANGED] Moved demo application to "test/dummy" following "enginex"
101
+ conventions.
102
+
103
+ * [CHANGED] We are not longer using FasterCSV on Ruby 1.8.7.
104
+
105
+ * [NEW] Introduced the concept of "Widgets". Dashboard is now a "Widget".
106
+
107
+ * [CHANGED] Custom actions are back!
108
+
109
+ = 3.0.12
110
+
111
+ * [FIXED] Use will_paginate 3.0.0.
112
+
113
+ = 3.0.9
114
+
115
+ * [NEW] Refactored and renamed `User` extensions to `AdminUserV1`.
116
+
117
+ * [NEW] `AdminUserV2` which uses `bcrypt` and it's simpler. This will be the
118
+ default authentication mechanism for my new apps.
119
+
120
+ = 3.0.8 (unreleased)
121
+
122
+ * [FIXED] Missing alias. (Commit 2af7d4cfd98bb0)
123
+
124
+ = 3.0.7
125
+
126
+ *[CHANGED] Updated assets. Please run the `typus:assets` generator in order
127
+ to create the new files on the new location.
128
+
129
+ = 3.0.3
130
+
131
+ * [NEW] Support for has many through relationships. [jmeiss]
132
+
133
+ * [CHANGED] Removed typus pagination module and use `will_paginate` one.
134
+ Pagination options can be configure overriding `Typus.pagination` variable.
135
+
136
+ * [FIXED] Queries are now using the table name. [tyx]
137
+
138
+ * [NEW] All queries are `unscoped` so we can separate completely the frontend
139
+ from the backend.
140
+
141
+ * [NEW] We can disable sortable tables.
142
+
143
+ * [FIXED] Url generation bug when using namespaced STI models. [masone]
144
+
145
+ * [NEW] Raise an exception if config for model cannot be found. [masone]
146
+
147
+ * [FIXED] Minor bug fixes and re-styling ...
148
+
149
+ * [NEW] Layouts contain metatag with generator information.
150
+
151
+ * [NEW] Added missing csrf_meta_tag in `session.html.erb` layout.
152
+
153
+ * [NEW] Added constrain to database to avoid duplicated emails.
154
+
155
+ * [FIXED] Dates on tables are localized.
156
+
157
+ * [FIXED] `@resource.classify.constantize` becomes `@resource.constantize`.
158
+
159
+ * [CHANGED] Updated `typus_preview` to display original filaname when file is
160
+ not an image.
161
+
162
+ * [NEW] Support for Dragonfly attachments. Template for this kind of attribute
163
+ is `_dragonfly.html.erb`.
164
+
165
+ * [CHANGED] Paperclip attachments are detected as `:paperclip` thus the form
166
+ template is not `_paperclip.html.erb`.
167
+
168
+ * [NEW] 中文 (zh-CN) translation. [ZoOL]
169
+
170
+ * [CHANGED] `action_after_save` by default is `index`. This has been changed
171
+ after a usability test with a client.
172
+
173
+ * [NEW] Greek (el) translation. [Spyros Livathinos]
174
+
175
+ * [CHANGED] Updated jQuery to v1.4.4
176
+
177
+ * [CHANGED] Updated fancybox to v1.3.4
178
+
179
+ * [NEW] New generator: `rails generate typus:assets`.
180
+
181
+ * [NEW] Created UserVoice (http://typuscms.uservoice.com/)
182
+
183
+ * [CHANGED] Table of contents on documentation for easier access.
184
+
185
+ * [CHANGED] Display `—` where no content is available.
186
+
187
+ * [NEW] `Admin::ResourcesController` includes `Typus::Extensions` if available.
188
+
189
+ * [CHANGED] Removed `remove_filter_link` helper in favour of predefined links
190
+ to filters.
191
+
192
+ * [NEW] Custom actions can be injected into table actions. This needs some
193
+ refector to be more powerful (roles) but it works for now.
194
+
195
+ * [CHANGED] `current_user` is now `admin_user`.
196
+
197
+ * [CHANGED] All available locales are shown to the user.
198
+
199
+ * [CHANGED] All the I18n stuff of `typus` is now under Typus::I18n namespace.
200
+
201
+ * [CHANGED] `/admin/help` is now `/admin/user_guide`.
202
+
203
+ * [NEW] Link to `/admin/user_guide` from the sidebar.
204
+
205
+ * [CHANGED] AdminUser::LANGUAGES becomes AdminUser::LOCALE so you'll have to
206
+ update your AdminUser.
207
+
208
+ * [NEW] Better application templates.
209
+
210
+ = 3.0.2
211
+
212
+ * [FIXED] Use Arel to get the data on lists. After moving to will_paginate I
213
+ broke the data method, on each list we where "selecting ALL on the table of
214
+ the current model" (Really ugly bug) [Reported by NateW]
215
+
216
+ * [FIXED]* If @current_user was being set many times on each request, thanks
217
+ to Rails caching mechanism this was not affecting to the performance. Now we
218
+ only see the @current_user once. (As it should be.)
219
+
220
+ = 3.0.1
221
+
222
+ * [FIXED] After moving from a vendored paginator to will_paginate I removed
223
+ some stuff which shouldn't be removed, so the 3.0.0 gem is totally broken.
224
+
225
+ * [FIXED] Force query with postgresql adapter to not be case sensitive [jmeiss]
226
+
227
+ = 3.0.0
228
+
229
+ * [NEW] New gem version compatible with Rails 3.
230
+
231
+ = Previously
232
+
233
+ Why a 3.0.0 version? After considering the work done for the Rails 3 transition
234
+ I though it would be a good idea to keep versions syncronized with Rails.
235
+
236
+ Typus will have the same version numbers as Rails as I considered it's pretty
237
+ tied to it. With each release of Rails, we will take the latest features into
238
+ Typus.
239
+
240
+ Pending stuff that someday will be done, donations and collaborations are
241
+ accepted.
242
+
243
+ * Add AJAX, specially when removing and adding new relationships.
244
+
245
+ * Transversal search and full models search.
246
+
247
+ * Test the helpers and add some functional testing.
248
+
249
+ * Nested models.
250
+
251
+ * Contextual content depending on the role logged.
252
+
253
+ * Replace typus authentication by devise.
data/Gemfile ADDED
@@ -0,0 +1,69 @@
1
+ source 'http://rubygems.org'
2
+
3
+ # Declare your gem's dependencies in typus.gemspec.
4
+ # Bundler will treat runtime dependencies like base dependencies, and
5
+ # development dependencies will be added by default to the :development group.
6
+ gemspec
7
+
8
+ # Gems used only for assets and not required
9
+ # in production environments by default.
10
+ group :assets do
11
+ gem 'sass-rails', " ~> 3.1.0"
12
+ gem 'coffee-rails', "~> 3.1.0"
13
+ gem 'uglifier'
14
+ end
15
+
16
+ # Database adapters
17
+ platforms :jruby do
18
+ gem 'activerecord-jdbcmysql-adapter'
19
+ gem 'activerecord-jdbcpostgresql-adapter'
20
+ gem 'activerecord-jdbcsqlite3-adapter'
21
+
22
+ gem 'jruby-openssl' # JRuby limited openssl loaded. http://jruby.org/openssl
23
+ end
24
+
25
+ platforms :ruby do
26
+ gem 'mysql2'
27
+ gem 'pg'
28
+ gem 'sqlite3'
29
+ end
30
+
31
+ # And this stuff needed for the demo application.
32
+ gem "acts_as_list"
33
+ gem "acts_as_tree"
34
+ gem "factory_girl_rails", "~> 1.1.0"
35
+ gem "rails-permalink", "~> 1.0.0"
36
+ gem "rails-trash", "~> 1.1.2"
37
+
38
+ # For some reason I also need to define the `jquery-rails` gem here.
39
+ gem "jquery-rails"
40
+
41
+ # Rich Text Editor
42
+ gem "ckeditor-rails", "0.0.2"
43
+
44
+ # Alternative authentication
45
+ gem "devise", "~> 1.4.3"
46
+
47
+ # Asset Management with Dragonfly
48
+ gem "dragonfly", "~> 0.9"
49
+ gem "rack-cache", :require => "rack/cache"
50
+
51
+ # Asset Management with Paperclip
52
+ gem "paperclip", "~> 2.3.16"
53
+
54
+ # MongoDB
55
+ gem "mongoid", "~> 2.1"
56
+ gem "bson_ext", "~> 1.3"
57
+
58
+ group :test do
59
+ gem "shoulda-context", "~> 1.0.0.beta1"
60
+ gem "mocha" # Make sure mocha is loaded at the end ...
61
+ end
62
+
63
+ # Remember to install the Chrome or Safari extension, otherwise it doesn't
64
+ # make sense to have this here.
65
+ group :development do
66
+ gem "guard-livereload"
67
+ gem "rb-fsevent"
68
+ gem "growl_notify"
69
+ end
@@ -0,0 +1,11 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'livereload' do
5
+ watch(%r{app/.+\.(erb|haml)})
6
+ watch(%r{app/helpers/.+\.rb})
7
+ watch(%r{(public/|app/assets).+\.(css|js|html)})
8
+ watch(%r{(app/assets/.+\.css)\.s[ac]ss}) { |m| m[1] }
9
+ watch(%r{(app/assets/.+\.js)\.coffee}) { |m| m[1] }
10
+ watch(%r{config/locales/.+\.yml})
11
+ end
data/README.md CHANGED
@@ -22,16 +22,14 @@ You can try a demo [here][typus_demo].
22
22
  - Customizable and extensible templates.
23
23
  - Integrated [paperclip][paperclip] and [dragonfly][dragonfly] attachments viewer.
24
24
  - Works with `Rails 3.1.X`.
25
- - Tested with latest Rubies. (`1.8.7-p352`, `ree-1.8.7-2011.03`, `1.9.2-p290`, `jruby-1.6.3`)
26
- - Tested with `SQLite`, `MySQL` and `PostgreSQL`.
27
25
 
28
26
  ## Installing
29
27
 
30
28
  Add **Typus** to your `Gemfile`
31
29
 
32
- gem 'typus', '~> 3.1.0.rc'
30
+ gem 'typus'
33
31
 
34
- # Bundle edge typus instead:
32
+ # Bundle edge Typus instead:
35
33
  # gem 'typus', :git => 'git://github.com/typus/typus.git'
36
34
 
37
35
  Update your bundle, run the generator and start the application server:
@@ -42,6 +40,14 @@ Update your bundle, run the generator and start the application server:
42
40
 
43
41
  and go to <http://0.0.0.0:3000/admin>.
44
42
 
43
+ ## Testing
44
+
45
+ To test clone the git repo and run the following commands:
46
+
47
+ $ git clone git://github.com/typus/typus.git
48
+ $ bundle install --path vendor/bundle
49
+ $ bundle exec rake
50
+
45
51
  ## Links
46
52
 
47
53
  - [Documentation](https://github.com/typus/typus/wiki)
@@ -49,32 +55,14 @@ and go to <http://0.0.0.0:3000/admin>.
49
55
  - [Source Code][typus] and [RubyGems][typus_gem]
50
56
  - [Mailing List](http://groups.google.com/group/typus)
51
57
  - [Contributors List](http://github.com/typus/typus/contributors)
58
+ - [Travis Builds](http://travis-ci.org/#!/typus/typus)
52
59
 
53
- ## MIT License
54
-
55
- Copyright (c) 2007-2011 Francesc Esplugas Marti
56
-
57
- Permission is hereby granted, free of charge, to any person obtaining
58
- a copy of this software and associated documentation files (the
59
- "Software"), to deal in the Software without restriction, including
60
- without limitation the rights to use, copy, modify, merge, publish,
61
- distribute, sublicense, and/or sell copies of the Software, and to
62
- permit persons to whom the Software is furnished to do so, subject to
63
- the following conditions:
64
-
65
- The above copyright notice and this permission notice shall be
66
- included in all copies or substantial portions of the Software.
60
+ ## License
67
61
 
68
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
69
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
70
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
71
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
72
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
73
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
74
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
62
+ Typus is released under the MIT license.
75
63
 
76
64
  [typus]: http://github.com/typus/typus
77
- [typus_demo]: http://demo.typuscms.com/
65
+ [typus_demo]: http://demo.typuscmf.com/
78
66
  [typus_demo_code]: https://github.com/typus/demo
79
67
  [typus_locales]: https://github.com/typus/typus/tree/master/config/locales
80
68
  [typus_gem]: http://rubygems.org/gems/typus
data/Rakefile CHANGED
@@ -1,114 +1,38 @@
1
- require 'bundler/gem_tasks'
2
- require 'rake/testtask'
3
- require 'rdoc/task'
1
+ begin
2
+ require 'bundler/setup'
3
+ require 'bundler/gem_tasks'
4
+ rescue LoadError
5
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
+ end
4
7
 
5
- task :default => :test
8
+ begin
9
+ require 'rdoc/task'
10
+ rescue LoadError
11
+ require 'rdoc/rdoc'
12
+ require 'rake/rdoctask'
13
+ RDoc::Task = Rake::RDocTask
14
+ end
6
15
 
7
- Rake::TestTask.new do |t|
8
- t.libs << "test"
16
+ require 'rake/testtask'
17
+
18
+ Rake::TestTask.new(:test) do |t|
19
+ t.libs << 'lib'
20
+ t.libs << 'test'
21
+ # t.pattern = 'test/**/*_test.rb'
9
22
  t.test_files = FileList['test/app/controllers/**/*_test.rb',
10
23
  'test/app/models/**/*_test.rb',
11
24
  'test/app/mailers/**/*_test.rb',
12
25
  'test/config/*_test.rb',
13
26
  'test/lib/**/*_test.rb']
14
- t.verbose = true
27
+ t.verbose = false
15
28
  end
16
29
 
17
- RDoc::Task.new do |rdoc|
30
+ task :default => :test
31
+
32
+ RDoc::Task.new(:rdoc) do |rdoc|
18
33
  rdoc.rdoc_dir = 'rdoc'
19
34
  rdoc.title = 'Typus'
20
- rdoc.options << '--line-numbers' << '--inline-source'
35
+ rdoc.options << '--line-numbers'
21
36
  rdoc.rdoc_files.include('README.rdoc')
22
37
  rdoc.rdoc_files.include('lib/**/*.rb')
23
38
  end
24
-
25
- namespace :setup do
26
-
27
- desc "Setup CI Joe"
28
- task :cijoe do
29
- system "git config --replace-all cijoe.runner 'rake test:rubies'"
30
- end
31
-
32
- end
33
-
34
- namespace :install do
35
-
36
- desc "Install REE on Mac OS X Lion"
37
- task :ree_on_lion do
38
- system "rvm remove ree"
39
- system "export CC=/usr/bin/gcc-4.2"
40
- system "rvm install --force ree"
41
- end
42
-
43
- desc "Install JRuby and update Rubygems to latest version."
44
- task :jruby_on_lion do
45
- system "rvm remove jruby"
46
- system "rvm install --force jruby"
47
- system "rvm use jruby"
48
- system "gem install rubygems-update"
49
- system "update_rubygems"
50
- system "gem update --system"
51
- end
52
-
53
- desc "Install common Rubies"
54
- task :rubies do
55
- system "rvm install 1.8.7,ree,1.9.2,jruby"
56
- end
57
-
58
- desc "Install latest Rubygems"
59
- task :latest_rubygems do
60
- system "rvm ruby gem update --system"
61
- end
62
-
63
- desc "Install bundler and rake"
64
- task :bundler_and_rake do
65
- system "rvm ruby gem install --no-ri --no-rdoc bundler rake"
66
- end
67
-
68
- desc "Run bundle in all Ruby versions."
69
- task :gems do
70
- system "rvm ruby bundle install --gemfile=test/fixtures/rails_app/Gemfile"
71
- end
72
-
73
- end
74
-
75
- namespace :test do
76
-
77
- # Typus should be compatible with Ruby 1.8.7 and 1.9.2. Currently tests only
78
- # pass when using 1.9.2 because on 1.8.7 we get an error because `fastercsv`
79
- # is not loaded. This is because I've not added that library in the Gemfile.
80
- desc "Test officially supported Ruby versions and database adapters"
81
- task :supported do
82
- system "rvm 1.9.2 rake test DB=sqlite3"
83
- system "rvm 1.9.2 rake test DB=postgresql"
84
- system "rvm 1.9.2 rake test DB=mysql"
85
- end
86
-
87
- # We want to test Typus with all supported databases:
88
- #
89
- # - Postgresql
90
- # - MySQL
91
- # - SQLite3
92
- #
93
- task :rubies do
94
- system "rvm ruby rake DB=sqlite3"
95
- system "rvm ruby rake DB=postgresql"
96
- system "rvm ruby rake DB=mysql"
97
- end
98
-
99
- end
100
-
101
- namespace :submodules do
102
-
103
- desc "Update submodules"
104
- task :update do
105
- system "git pull && git submodule update --init"
106
- end
107
-
108
- desc "Upgrade submodules"
109
- task :upgrade do
110
- system "git submodule foreach 'git pull origin master'"
111
- system "git ci -m 'Updated submodules' ."
112
- end
113
-
114
- end