schedular 0.1.1

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 (74) hide show
  1. data/.document +7 -0
  2. data/.gitignore +25 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +17 -0
  5. data/Rakefile +57 -0
  6. data/VERSION +1 -0
  7. data/app/views/schedular/events/_calendar.html.erb +28 -0
  8. data/app/views/schedular/events/_form.html.erb +22 -0
  9. data/app/views/schedular/events/edit.html.erb +13 -0
  10. data/app/views/schedular/events/index.html.erb +26 -0
  11. data/app/views/schedular/events/new.html.erb +12 -0
  12. data/app/views/schedular/events/show.html.erb +29 -0
  13. data/config/routes.rb +5 -0
  14. data/generators/schedular_migrations/schedular_migrations_generator.rb +7 -0
  15. data/generators/schedular_migrations/templates/schedular_migrations.rb +27 -0
  16. data/generators/schedular_views/schedular_views_generator.rb +20 -0
  17. data/lib/schedular.rb +17 -0
  18. data/lib/schedular/event.rb +39 -0
  19. data/lib/schedular/events_controller.rb +93 -0
  20. data/lib/schedular/locale/schedular.es.yml +22 -0
  21. data/lib/schedular/time.rb +25 -0
  22. data/rails/init.rb +1 -0
  23. data/test/helper.rb +15 -0
  24. data/test/rails_app/README +243 -0
  25. data/test/rails_app/Rakefile +10 -0
  26. data/test/rails_app/app/controllers/application_controller.rb +10 -0
  27. data/test/rails_app/app/helpers/application_helper.rb +3 -0
  28. data/test/rails_app/app/views/layouts/application.html.erb +17 -0
  29. data/test/rails_app/config/boot.rb +110 -0
  30. data/test/rails_app/config/database.yml +22 -0
  31. data/test/rails_app/config/environment.rb +41 -0
  32. data/test/rails_app/config/environments/development.rb +17 -0
  33. data/test/rails_app/config/environments/production.rb +28 -0
  34. data/test/rails_app/config/environments/test.rb +28 -0
  35. data/test/rails_app/config/initializers/backtrace_silencers.rb +7 -0
  36. data/test/rails_app/config/initializers/inflections.rb +10 -0
  37. data/test/rails_app/config/initializers/mime_types.rb +5 -0
  38. data/test/rails_app/config/initializers/new_rails_defaults.rb +21 -0
  39. data/test/rails_app/config/initializers/session_store.rb +15 -0
  40. data/test/rails_app/config/locales/en.yml +5 -0
  41. data/test/rails_app/config/routes.rb +43 -0
  42. data/test/rails_app/doc/README_FOR_APP +2 -0
  43. data/test/rails_app/lib/event.rb +3 -0
  44. data/test/rails_app/public/404.html +30 -0
  45. data/test/rails_app/public/422.html +30 -0
  46. data/test/rails_app/public/500.html +30 -0
  47. data/test/rails_app/public/favicon.ico +0 -0
  48. data/test/rails_app/public/images/rails.png +0 -0
  49. data/test/rails_app/public/index.html +275 -0
  50. data/test/rails_app/public/javascripts/application.js +2 -0
  51. data/test/rails_app/public/javascripts/controls.js +963 -0
  52. data/test/rails_app/public/javascripts/dragdrop.js +973 -0
  53. data/test/rails_app/public/javascripts/effects.js +1128 -0
  54. data/test/rails_app/public/javascripts/prototype.js +4320 -0
  55. data/test/rails_app/public/robots.txt +5 -0
  56. data/test/rails_app/script/about +4 -0
  57. data/test/rails_app/script/console +3 -0
  58. data/test/rails_app/script/dbconsole +3 -0
  59. data/test/rails_app/script/destroy +3 -0
  60. data/test/rails_app/script/generate +3 -0
  61. data/test/rails_app/script/performance/benchmarker +3 -0
  62. data/test/rails_app/script/performance/profiler +3 -0
  63. data/test/rails_app/script/plugin +3 -0
  64. data/test/rails_app/script/runner +3 -0
  65. data/test/rails_app/script/server +3 -0
  66. data/test/rails_app/test/performance/browsing_test.rb +9 -0
  67. data/test/rails_app/test/test_helper.rb +38 -0
  68. data/test/rails_app/tmp/restart.txt +0 -0
  69. data/test/support/migrations.rb +22 -0
  70. data/test/test_event.rb +107 -0
  71. data/test/test_events_controller.rb +280 -0
  72. data/test/test_partials.rb +54 -0
  73. data/test/test_time.rb +62 -0
  74. metadata +217 -0
@@ -0,0 +1,54 @@
1
+ require 'helper'
2
+
3
+ class PartialsTest < ActionView::TestCase
4
+ include CalendarHelper
5
+
6
+ def setup
7
+ @event = Schedular::Event.new :dates => '10 enero 2010', :name => 'evento 1'
8
+ end
9
+
10
+ context 'rendering month partial' do
11
+ should 'render day numbers with empty events' do
12
+ html = <<-HTML
13
+ <table id="events-calendar">
14
+ <thead>
15
+ <tr><th>dom</th><th>lun</th><th>mar</th><th>mie</th><th>jue</th><th>vie</th><th>sab</th></tr>
16
+ </thead>
17
+ <tbody>
18
+ <tr><td class="notmonth weekend"><span class="day-number">27</span></td><td class="notmonth"><span class="day-number">28</span></td><td class="notmonth"><span class="day-number">29</span></td><td class="notmonth"><span class="day-number">30</span></td><td class="notmonth"><span class="day-number">31</span></td><td><span class="day-number">1</span></td><td class="weekend"><span class="day-number">2</span></td></tr>
19
+ <tr><td class="weekend"><span class="day-number">3</span></td><td><span class="day-number">4</span></td><td><span class="day-number">5</span></td><td><span class="day-number">6</span></td><td><span class="day-number">7</span></td><td><span class="day-number">8</span></td><td class="weekend"><span class="day-number">9</span></td></tr>
20
+ <tr><td class="weekend"><span class="day-number">10</span></td><td><span class="day-number">11</span></td><td><span class="day-number">12</span></td><td><span class="day-number">13</span></td><td><span class="day-number">14</span></td><td><span class="day-number">15</span></td><td class="weekend"><span class="day-number">16</span></td></tr>
21
+ <tr><td class="weekend"><span class="day-number">17</span></td><td><span class="day-number">18</span></td><td><span class="day-number">19</span></td><td><span class="day-number">20</span></td><td><span class="day-number">21</span></td><td><span class="day-number">22</span></td><td class="weekend"><span class="day-number">23</span></td></tr>
22
+ <tr><td class="weekend"><span class="day-number">24</span></td><td><span class="day-number">25</span></td><td><span class="day-number">26</span></td><td><span class="day-number">27</span></td><td><span class="day-number">28</span></td><td><span class="day-number">29</span></td><td class="weekend"><span class="day-number">30</span></td></tr>
23
+ <tr><td class="weekend"><span class="day-number">31</span></td><td class="notmonth"><span class="day-number">1</span></td><td class="notmonth"><span class="day-number">2</span></td><td class="notmonth"><span class="day-number">3</span></td><td class="notmonth"><span class="day-number">4</span></td><td class="notmonth"><span class="day-number">5</span></td><td class="notmonth weekend"><span class="day-number">6</span></td></tr>
24
+ </tbody>
25
+ </table>
26
+ HTML
27
+
28
+ assert_dom_equal html, render('schedular/events/month', :events => [], :year => 2010, :month => 1)
29
+ end
30
+
31
+ should 'render day numbers with events' do
32
+ html = <<-HTML
33
+ <table id="events-calendar">
34
+ <thead>
35
+ <tr><th>dom</th><th>lun</th><th>mar</th><th>mie</th><th>jue</th><th>vie</th><th>sab</th></tr>
36
+ </thead>
37
+ <tbody>
38
+ <tr><td class="notmonth weekend"><span class="day-number">27</span></td><td class="notmonth"><span class="day-number">28</span></td><td class="notmonth"><span class="day-number">29</span></td><td class="notmonth"><span class="day-number">30</span></td><td class="notmonth"><span class="day-number">31</span></td><td><span class="day-number">1</span></td><td class="weekend"><span class="day-number">2</span></td></tr>
39
+ <tr><td class="weekend"><span class="day-number">3</span></td><td><span class="day-number">4</span></td><td><span class="day-number">5</span></td><td><span class="day-number">6</span></td><td><span class="day-number">7</span></td><td><span class="day-number">8</span></td><td class="weekend"><span class="day-number">9</span></td></tr>
40
+ <tr><td class="weekend"><a href="/events/2010/1/10" class="day-number">10</a></td><td><span class="day-number">11</span></td><td><span class="day-number">12</span></td><td><span class="day-number">13</span></td><td><span class="day-number">14</span></td><td><span class="day-number">15</span></td><td class="weekend"><span class="day-number">16</span></td></tr>
41
+ <tr><td class="weekend"><span class="day-number">17</span></td><td><span class="day-number">18</span></td><td><span class="day-number">19</span></td><td><span class="day-number">20</span></td><td><span class="day-number">21</span></td><td><span class="day-number">22</span></td><td class="weekend"><span class="day-number">23</span></td></tr>
42
+ <tr><td class="weekend"><span class="day-number">24</span></td><td><span class="day-number">25</span></td><td><span class="day-number">26</span></td><td><span class="day-number">27</span></td><td><span class="day-number">28</span></td><td><span class="day-number">29</span></td><td class="weekend"><span class="day-number">30</span></td></tr>
43
+ <tr><td class="weekend"><span class="day-number">31</span></td><td class="notmonth"><span class="day-number">1</span></td><td class="notmonth"><span class="day-number">2</span></td><td class="notmonth"><span class="day-number">3</span></td><td class="notmonth"><span class="day-number">4</span></td><td class="notmonth"><span class="day-number">5</span></td><td class="notmonth weekend"><span class="day-number">6</span></td></tr>
44
+ </tbody>
45
+ </table>
46
+ HTML
47
+
48
+ assert_dom_equal html, render('schedular/events/month', :events => [@event], :year => 2010, :month => 1)
49
+ end
50
+ end
51
+
52
+ end
53
+
54
+
@@ -0,0 +1,62 @@
1
+ require 'helper'
2
+
3
+ class Schedular::TimeTest < Test::Unit::TestCase
4
+ context 'date parsing' do
5
+ setup do
6
+ Schedular::Event.destroy_all
7
+ Schedular::Time.destroy_all
8
+ @time = Schedular::Time.new :value => Date.civil(2010), :all_day => true
9
+ end
10
+ subject { @time }
11
+
12
+ should_have_and_belong_to_many :events
13
+
14
+ context 'named scopes' do
15
+ setup do
16
+ @event = Schedular::Event.create! :dates => '1 de enero 2010 a las 10:00', :name => 'Evento 1'
17
+ @event2 = Schedular::Event.create! :dates => 'enero y febrero 2010', :name => 'Evento 2'
18
+ end
19
+
20
+ should 'have 60 times' do
21
+ assert_equal 60, Schedular::Time.count
22
+ end
23
+
24
+ should 'find by time or period (Range)' do
25
+ assert_equal 32, Schedular::Time.by_time_or_period(Date.civil(2010)..Date.civil(2010, 2)).size
26
+ end
27
+
28
+ should 'find by time or period (Date)' do
29
+ assert_equal 2, Schedular::Time.by_time_or_period(Date.civil(2010)).size
30
+ end
31
+
32
+ should 'find by time or period (DateTime)' do
33
+ assert_equal 1, Schedular::Time.by_time_or_period(DateTime.civil(2010, 1, 1, 10)).size
34
+ end
35
+
36
+ should 'find by all day' do
37
+ assert_equal 59, Schedular::Time.all_day(true).size
38
+ end
39
+
40
+ should 'find by not all day' do
41
+ assert_equal 1, Schedular::Time.all_day(false).size
42
+ end
43
+
44
+ should 'find by params with month' do
45
+ day = Date.civil(2010)
46
+ assert_equal Schedular::Time.by_time_or_period(day..day >> 1), Schedular::Time.by_params(:year => '2010', :month => '1')
47
+ end
48
+
49
+ should 'find by params with day' do
50
+ day = Date.civil(2010, 3, 2)
51
+ assert_equal Schedular::Time.by_time_or_period(day..day + 1), Schedular::Time.by_params(:year => '2010', :month => '3', :day => '2')
52
+ end
53
+ end
54
+
55
+ should 'allways order by value' do
56
+ Schedular::Time.destroy_all
57
+ times = [Date.today << 1, Date.today, Date.today >> 1]
58
+ times.sort_by{ rand }.each{ |t| Schedular::Time.create(:value => t) }
59
+ assert_equal times.map(&:month), Schedular::Time.find(:all).map{ |d| d.value.month }
60
+ end
61
+ end
62
+ end
metadata ADDED
@@ -0,0 +1,217 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: schedular
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 1
9
+ version: 0.1.1
10
+ platform: ruby
11
+ authors:
12
+ - Macario Ortega
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-09-08 00:00:00 -05:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: shoulda
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :development
31
+ version_requirements: *id001
32
+ - !ruby/object:Gem::Dependency
33
+ name: table_builder
34
+ prerelease: false
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ segments:
40
+ - 0
41
+ - 2
42
+ - 3
43
+ version: 0.2.3
44
+ type: :runtime
45
+ version_requirements: *id002
46
+ - !ruby/object:Gem::Dependency
47
+ name: eventual
48
+ prerelease: false
49
+ requirement: &id003 !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ segments:
54
+ - 0
55
+ - 5
56
+ - 3
57
+ version: 0.5.3
58
+ type: :runtime
59
+ version_requirements: *id003
60
+ - !ruby/object:Gem::Dependency
61
+ name: es-mx-locale
62
+ prerelease: false
63
+ requirement: &id004 !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ segments:
68
+ - 0
69
+ - 1
70
+ - 1
71
+ version: 0.1.1
72
+ type: :runtime
73
+ version_requirements: *id004
74
+ description: Bare Bones Events CMS Rails Engine, event dates can be inputed as text in spanish, english date recognition is next.
75
+ email: macarui@gmail.com
76
+ executables: []
77
+
78
+ extensions: []
79
+
80
+ extra_rdoc_files:
81
+ - LICENSE
82
+ - README.rdoc
83
+ files:
84
+ - .document
85
+ - .gitignore
86
+ - LICENSE
87
+ - README.rdoc
88
+ - Rakefile
89
+ - VERSION
90
+ - app/views/schedular/events/_calendar.html.erb
91
+ - app/views/schedular/events/_form.html.erb
92
+ - app/views/schedular/events/edit.html.erb
93
+ - app/views/schedular/events/index.html.erb
94
+ - app/views/schedular/events/new.html.erb
95
+ - app/views/schedular/events/show.html.erb
96
+ - config/routes.rb
97
+ - generators/schedular_migrations/schedular_migrations_generator.rb
98
+ - generators/schedular_migrations/templates/schedular_migrations.rb
99
+ - generators/schedular_views/schedular_views_generator.rb
100
+ - lib/schedular.rb
101
+ - lib/schedular/event.rb
102
+ - lib/schedular/events_controller.rb
103
+ - lib/schedular/locale/schedular.es.yml
104
+ - lib/schedular/time.rb
105
+ - rails/init.rb
106
+ - test/helper.rb
107
+ - test/rails_app/README
108
+ - test/rails_app/Rakefile
109
+ - test/rails_app/app/controllers/application_controller.rb
110
+ - test/rails_app/app/helpers/application_helper.rb
111
+ - test/rails_app/app/views/layouts/application.html.erb
112
+ - test/rails_app/config/boot.rb
113
+ - test/rails_app/config/database.yml
114
+ - test/rails_app/config/environment.rb
115
+ - test/rails_app/config/environments/development.rb
116
+ - test/rails_app/config/environments/production.rb
117
+ - test/rails_app/config/environments/test.rb
118
+ - test/rails_app/config/initializers/backtrace_silencers.rb
119
+ - test/rails_app/config/initializers/inflections.rb
120
+ - test/rails_app/config/initializers/mime_types.rb
121
+ - test/rails_app/config/initializers/new_rails_defaults.rb
122
+ - test/rails_app/config/initializers/session_store.rb
123
+ - test/rails_app/config/locales/en.yml
124
+ - test/rails_app/config/routes.rb
125
+ - test/rails_app/db/development.sqlite3
126
+ - test/rails_app/db/seeds.rb
127
+ - test/rails_app/doc/README_FOR_APP
128
+ - test/rails_app/lib/event.rb
129
+ - test/rails_app/log/production.log
130
+ - test/rails_app/log/server.log
131
+ - test/rails_app/log/test.log
132
+ - test/rails_app/public/404.html
133
+ - test/rails_app/public/422.html
134
+ - test/rails_app/public/500.html
135
+ - test/rails_app/public/favicon.ico
136
+ - test/rails_app/public/images/rails.png
137
+ - test/rails_app/public/index.html
138
+ - test/rails_app/public/javascripts/application.js
139
+ - test/rails_app/public/javascripts/controls.js
140
+ - test/rails_app/public/javascripts/dragdrop.js
141
+ - test/rails_app/public/javascripts/effects.js
142
+ - test/rails_app/public/javascripts/prototype.js
143
+ - test/rails_app/public/robots.txt
144
+ - test/rails_app/script/about
145
+ - test/rails_app/script/console
146
+ - test/rails_app/script/dbconsole
147
+ - test/rails_app/script/destroy
148
+ - test/rails_app/script/generate
149
+ - test/rails_app/script/performance/benchmarker
150
+ - test/rails_app/script/performance/profiler
151
+ - test/rails_app/script/plugin
152
+ - test/rails_app/script/runner
153
+ - test/rails_app/script/server
154
+ - test/rails_app/test/performance/browsing_test.rb
155
+ - test/rails_app/test/test_helper.rb
156
+ - test/rails_app/tmp/restart.txt
157
+ - test/support/migrations.rb
158
+ - test/test_event.rb
159
+ - test/test_events_controller.rb
160
+ - test/test_partials.rb
161
+ - test/test_time.rb
162
+ has_rdoc: true
163
+ homepage: http://github.com/maca/schedular
164
+ licenses: []
165
+
166
+ post_install_message:
167
+ rdoc_options:
168
+ - --charset=UTF-8
169
+ require_paths:
170
+ - lib
171
+ required_ruby_version: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ segments:
176
+ - 0
177
+ version: "0"
178
+ required_rubygems_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ segments:
183
+ - 0
184
+ version: "0"
185
+ requirements: []
186
+
187
+ rubyforge_project:
188
+ rubygems_version: 1.3.6
189
+ signing_key:
190
+ specification_version: 3
191
+ summary: Bare Bones Events CMS Rails Engine
192
+ test_files:
193
+ - test/helper.rb
194
+ - test/rails_app/app/controllers/application_controller.rb
195
+ - test/rails_app/app/helpers/application_helper.rb
196
+ - test/rails_app/config/boot.rb
197
+ - test/rails_app/config/environment.rb
198
+ - test/rails_app/config/environments/development.rb
199
+ - test/rails_app/config/environments/production.rb
200
+ - test/rails_app/config/environments/test.rb
201
+ - test/rails_app/config/initializers/backtrace_silencers.rb
202
+ - test/rails_app/config/initializers/inflections.rb
203
+ - test/rails_app/config/initializers/mime_types.rb
204
+ - test/rails_app/config/initializers/new_rails_defaults.rb
205
+ - test/rails_app/config/initializers/session_store.rb
206
+ - test/rails_app/config/routes.rb
207
+ - test/rails_app/db/migrate/20100630185951_schedular_migrations.rb
208
+ - test/rails_app/db/schema.rb
209
+ - test/rails_app/db/seeds.rb
210
+ - test/rails_app/lib/event.rb
211
+ - test/rails_app/test/performance/browsing_test.rb
212
+ - test/rails_app/test/test_helper.rb
213
+ - test/support/migrations.rb
214
+ - test/test_event.rb
215
+ - test/test_events_controller.rb
216
+ - test/test_partials.rb
217
+ - test/test_time.rb