ecm_courses 0.0.1.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +45 -0
  3. data/Rakefile +33 -0
  4. data/app/admin/ecm_courses_course_categories.rb +82 -0
  5. data/app/admin/ecm_courses_course_dates.rb +47 -0
  6. data/app/admin/ecm_courses_courses.rb +58 -0
  7. data/app/assets/images/ecm_courses/course_categories/last_node.png +0 -0
  8. data/app/assets/images/ecm_courses/course_categories/node.png +0 -0
  9. data/app/assets/images/ecm_courses/course_categories/vertical_line.png +0 -0
  10. data/app/assets/stylesheets/ecm_courses/courses_categories.css.erb +30 -0
  11. data/app/assets/stylesheets/ecm_courses.css +1 -0
  12. data/app/controllers/ecm/courses/course_categories_controller.rb +16 -0
  13. data/app/controllers/ecm/courses/course_dates_controller.rb +9 -0
  14. data/app/controllers/ecm/courses/courses_controller.rb +19 -0
  15. data/app/models/ecm/courses/course.rb +47 -0
  16. data/app/models/ecm/courses/course_category.rb +57 -0
  17. data/app/models/ecm/courses/course_date.rb +52 -0
  18. data/app/views/ecm/courses/course_categories/_course_category.html.erb +29 -0
  19. data/app/views/ecm/courses/course_categories/index.de.html.erb +7 -0
  20. data/app/views/ecm/courses/course_categories/show.de.html.erb +19 -0
  21. data/app/views/ecm/courses/course_dates/_course_date.html.erb +7 -0
  22. data/app/views/ecm/courses/course_dates/index.de.html.erb +5 -0
  23. data/app/views/ecm/courses/course_dates/show.de.html.erb +11 -0
  24. data/app/views/ecm/courses/courses/_course.html.erb +15 -0
  25. data/app/views/ecm/courses/courses/calendar.de.html.erb +6 -0
  26. data/app/views/ecm/courses/courses/index.de.html.erb +3 -0
  27. data/app/views/ecm/courses/courses/show.de.html.erb +13 -0
  28. data/config/locales/absence_validator.de.yml +5 -0
  29. data/config/locales/absence_validator.en.yml +5 -0
  30. data/config/locales/ecm.courses.course.de.yml +24 -0
  31. data/config/locales/ecm.courses.course.en.yml +24 -0
  32. data/config/locales/ecm.courses.course_category.de.yml +24 -0
  33. data/config/locales/ecm.courses.course_category.en.yml +24 -0
  34. data/config/locales/ecm.courses.course_date.de.yml +19 -0
  35. data/config/locales/ecm.courses.course_date.en.yml +19 -0
  36. data/config/locales/ecm.courses.de.yml +14 -0
  37. data/config/locales/ecm.courses.en.yml +14 -0
  38. data/config/locales/ecm.courses.routes.de.yml +5 -0
  39. data/config/locales/ecm.courses.routes.en.yml +5 -0
  40. data/db/migrate/001_create_ecm_courses_course_categories.rb +22 -0
  41. data/db/migrate/002_create_ecm_courses_courses.rb +22 -0
  42. data/db/migrate/003_create_ecm_courses_course_dates.rb +17 -0
  43. data/lib/absence_validator.rb +5 -0
  44. data/lib/ecm/courses/engine.rb +15 -0
  45. data/lib/ecm/courses/routing.rb +33 -0
  46. data/lib/ecm/courses/version.rb +5 -0
  47. data/lib/ecm_courses.rb +19 -0
  48. data/lib/tasks/ecm_courses_tasks.rake +4 -0
  49. metadata +289 -0
@@ -0,0 +1,5 @@
1
+ en:
2
+ activerecord:
3
+ errors:
4
+ messages:
5
+ absence: "is not blank"
@@ -0,0 +1,24 @@
1
+ ---
2
+ de:
3
+ activerecord:
4
+ attributes:
5
+ ecm/courses/course:
6
+ created_at: Erstellt am
7
+ description: Beschreibung
8
+ ecm_courses_course_category: Kurs Kategorie
9
+ ecm_courses_course_dates: Kurs Termine
10
+ ecm_courses_course_dates_count: Kurs Termine
11
+ locale: Sprache
12
+ name: Name
13
+ position: Position
14
+ slug: Freundliche ID
15
+ updated_at: Aktualisiert am
16
+ ecm_courses_course_category_id: Kurs Kategorie
17
+ models:
18
+ ecm/courses/course:
19
+ one: Kurs
20
+ other: Kurse
21
+ formtastic:
22
+ hints:
23
+ ecm/courses/course:
24
+ name: "z.B. Kochen für Anfänger"
@@ -0,0 +1,24 @@
1
+ ---
2
+ en:
3
+ activerecord:
4
+ attributes:
5
+ ecm/courses/course:
6
+ created_at: created at
7
+ description: description
8
+ ecm_courses_course_category: course category
9
+ ecm_courses_course_dates: course dates
10
+ ecm_courses_course_dates_count: course dates
11
+ locale: language
12
+ name: name
13
+ position: position
14
+ slug: friendly id
15
+ updated_at: updated at
16
+ ecm_courses_course_category_id: course category
17
+ models:
18
+ ecm/courses/course:
19
+ one: "Course"
20
+ other: "Courses"
21
+ formtastic:
22
+ hints:
23
+ ecm/courses/course:
24
+ name: "i.e. Cooking for beginners"
@@ -0,0 +1,24 @@
1
+ ---
2
+ de:
3
+ activerecord:
4
+ attributes:
5
+ ecm/courses/course_category:
6
+ children: "Unter Kategorien"
7
+ created_at: Erstellt am
8
+ depth: Tiefe
9
+ description: Beschreibung
10
+ ecm_courses_courses: Kurse
11
+ ecm_courses_courses_count: Kurse
12
+ lft: Links
13
+ locale: Sprache
14
+ name: Name
15
+ parent: Über Kategorie
16
+ parent_id: Über Kategorie
17
+ position: Position
18
+ rgt: Rechts
19
+ slug: Freundliche ID
20
+ updated_at: Aktualsiert am
21
+ models:
22
+ ecm/courses/course_category:
23
+ one: "Kurs Kategorie"
24
+ other: "Kurs Kategorien"
@@ -0,0 +1,24 @@
1
+ ---
2
+ en:
3
+ activerecord:
4
+ attributes:
5
+ ecm/courses/course_category:
6
+ children: "sub categories"
7
+ created_at: created at
8
+ depth: depth
9
+ description: description
10
+ ecm_courses_courses: courses
11
+ ecm_courses_courses_count: courses
12
+ lft: left
13
+ locale: language
14
+ name: name
15
+ parent: parent category
16
+ parent_id: parent cateogory
17
+ position: position
18
+ rgt: right
19
+ slug: friendly id
20
+ updated_at: updated at
21
+ models:
22
+ ecm/courses/course_category:
23
+ one: "course category"
24
+ other: "course_categories"
@@ -0,0 +1,19 @@
1
+ ---
2
+ de:
3
+ activerecord:
4
+ attributes:
5
+ ecm/courses/course_date:
6
+ created_at: Erstellt am
7
+ description: Beschreibung
8
+ duration_in_minutes: Dauer
9
+ ecm_courses_course: Kurs
10
+ ecm_courses_course_category: Kurs Kategorie
11
+ ecm_courses_course_id: Kurs
12
+ end_at: Endet um
13
+ name: Name
14
+ start_at: Beginnt um
15
+ updated_at: Aktualisiert am
16
+ models:
17
+ ecm/courses/course_date:
18
+ one: "Kurs Termin"
19
+ other: "Kurs Termine"
@@ -0,0 +1,19 @@
1
+ ---
2
+ en:
3
+ activerecord:
4
+ attributes:
5
+ ecm/courses/course_date:
6
+ created_at: created at
7
+ description: description
8
+ duration_in_minutes: duration
9
+ ecm_courses_course: course
10
+ ecm_courses_course_category: course category
11
+ ecm_courses_course_id: course
12
+ end_at: end at
13
+ name: name
14
+ start_at: begin at
15
+ updated_at: updated at
16
+ models:
17
+ ecm/courses/course_date:
18
+ one: "course date"
19
+ other: "course dates"
@@ -0,0 +1,14 @@
1
+ de:
2
+ ecm:
3
+ courses:
4
+ active_admin:
5
+ menu: "Kurse"
6
+ course:
7
+ messages:
8
+ not_found: "Download \"%{name}\" nicht gefunden."
9
+ course_category:
10
+ actions:
11
+ back_to_index: "Zurück zur Übersicht"
12
+ messages:
13
+ not_found: "Kurs Kategorie \"%{name}\" nicht gefunden."
14
+ no_courses_available: "Keine Kurse in dieser Kategorie vorhanden."
@@ -0,0 +1,14 @@
1
+ en:
2
+ ecm:
3
+ courses:
4
+ active_admin:
5
+ menu: "courses"
6
+ course:
7
+ messages:
8
+ not_found: "Course \"%{name}\" not found."
9
+ course_category:
10
+ actions:
11
+ back_to_index: "Back to the index"
12
+ messages:
13
+ not_found: "Course category \"%{name}\" not found."
14
+ no_courses_available: "There are now courses in this category."
@@ -0,0 +1,5 @@
1
+ de:
2
+ resources:
3
+ ecm_courses_courses: "kurse"
4
+ ecm_courses_course_categories: "kurs-kategorien"
5
+ ecm_courses_course_dates: "kurs-termine"
@@ -0,0 +1,5 @@
1
+ en:
2
+ resources:
3
+ ecm_courses_courses: "courses"
4
+ ecm_courses_course_categories: "course-categories"
5
+ ecm_courses_course_dates: "course-dates"
@@ -0,0 +1,22 @@
1
+ class CreateEcmCoursesCourseCategories < ActiveRecord::Migration
2
+ def change
3
+ create_table :ecm_courses_course_categories do |t|
4
+ t.string :name
5
+ t.text :description
6
+ t.string :locale
7
+ t.integer :position
8
+ t.integer :ecm_courses_courses_count, :default => 0, :null => false
9
+
10
+ # awesome nested set
11
+ t.integer :parent_id
12
+ t.integer :lft
13
+ t.integer :rgt
14
+ t.integer :depth
15
+
16
+ # friendly id
17
+ t.string :slug
18
+
19
+ t.timestamps
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ class CreateEcmCoursesCourses < ActiveRecord::Migration
2
+ def change
3
+ create_table :ecm_courses_courses do |t|
4
+ t.string :name
5
+ t.text :description
6
+ t.string :locale
7
+
8
+ # references
9
+ t.integer :ecm_courses_course_dates_count, :default => 0, :null => false
10
+ t.references :ecm_courses_course_category
11
+
12
+ # acts as list
13
+ t.integer :position
14
+
15
+ # friendly id
16
+ t.string :slug
17
+
18
+ t.timestamps
19
+ end
20
+ add_index :ecm_courses_courses, :ecm_courses_course_category_id
21
+ end
22
+ end
@@ -0,0 +1,17 @@
1
+ class CreateEcmCoursesCourseDates < ActiveRecord::Migration
2
+ def change
3
+ create_table :ecm_courses_course_dates do |t|
4
+ t.timestamp :start_at
5
+ t.timestamp :end_at
6
+ t.text :description
7
+
8
+ # references
9
+ t.integer :ecm_courses_course_id
10
+
11
+ # # friendly id
12
+ # t.string :slug
13
+
14
+ t.timestamps
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,5 @@
1
+ class AbsenceValidator < ActiveModel::EachValidator
2
+ def validate_each(record, attribute, value)
3
+ record.errors.add(attribute, options[:message] || :absence) unless value.blank?
4
+ end
5
+ end
@@ -0,0 +1,15 @@
1
+ module Ecm
2
+ module Courses
3
+ class Engine < Rails::Engine
4
+ # active admin
5
+ initializer :ecm_courses_engine do
6
+ ActiveAdmin.setup do |active_admin_config|
7
+ active_admin_config.load_paths += Dir[File.dirname(__FILE__) + '/../../../app/admin']
8
+ end
9
+ end
10
+
11
+ # locales
12
+ paths["config/locales"] << File.dirname(__FILE__) + '/../../../config/locales'
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,33 @@
1
+ module Ecm
2
+ module Courses
3
+ class Routing
4
+ # Creates the routes for courses and categories. You can pass options to
5
+ # specify the actions for both courses and/or categories.
6
+ #
7
+ # Ecm::Courses::Routing.routes(self, { :course_category_actions => [ :show ]})
8
+ #
9
+ # This will only create the show action for course categories, but omit the index action.
10
+ def self.routes(router, options = {})
11
+ options.reverse_merge!(
12
+ {
13
+ :course_category_actions => [:index, :show],
14
+ :course_date_actions => [:index, :show],
15
+ :course_actions => [:calendar, :index, :show]
16
+ }
17
+ )
18
+
19
+ router.resources :ecm_courses_course_categories, :only => options[:course_category_actions], :controller => 'ecm/courses/course_categories'
20
+ router.resources :ecm_courses_courses, :only => options[:course_actions], :controller => 'ecm/courses/courses' do
21
+ router.member do
22
+ if options[:course_actions].include?(:calendar)
23
+ router.get "calendar", :action => :calendar
24
+ router.get "calendar/:year/:month", :action => :calendar
25
+ end
26
+ end
27
+ end
28
+
29
+ router.resources :ecm_courses_course_dates, :only => options[:course_date_actions], :controller => 'ecm/courses/course_dates'
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,5 @@
1
+ module Ecm
2
+ module Courses
3
+ VERSION = "0.0.1.pre"
4
+ end
5
+ end
@@ -0,0 +1,19 @@
1
+ require 'rubygems'
2
+
3
+ require 'absence_validator'
4
+ require 'acts_as_list'
5
+ require 'awesome_nested_set'
6
+ require 'awesome_nested_set-tools'
7
+ require 'friendly_id'
8
+
9
+ require 'active_admin-acts_as_list'
10
+
11
+ # Ecm::Admin should do this!
12
+ require 'activeadmin'
13
+ require 'sass-rails'
14
+ require 'meta_search'
15
+
16
+ require 'ecm/courses/engine'
17
+ require 'ecm/courses/routing'
18
+
19
+
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :ecm_courses do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,289 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ecm_courses
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: 6
5
+ version: 0.0.1.pre
6
+ platform: ruby
7
+ authors:
8
+ - Roberto Vasquez Angel
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2012-07-29 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rails
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 3.2.6
24
+ type: :runtime
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
27
+ name: acts_as_list
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ~>
33
+ - !ruby/object:Gem::Version
34
+ version: 0.1.6
35
+ type: :runtime
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
38
+ name: active_admin-acts_as_list
39
+ prerelease: false
40
+ requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 0.0.6
46
+ type: :runtime
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
49
+ name: active_admin-awesome_nested_set
50
+ prerelease: false
51
+ requirement: &id004 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: "0"
57
+ type: :runtime
58
+ version_requirements: *id004
59
+ - !ruby/object:Gem::Dependency
60
+ name: awesome_nested_set
61
+ prerelease: false
62
+ requirement: &id005 !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ~>
66
+ - !ruby/object:Gem::Version
67
+ version: 2.1.3
68
+ type: :runtime
69
+ version_requirements: *id005
70
+ - !ruby/object:Gem::Dependency
71
+ name: awesome_nested_set-tools
72
+ prerelease: false
73
+ requirement: &id006 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: "0"
79
+ type: :runtime
80
+ version_requirements: *id006
81
+ - !ruby/object:Gem::Dependency
82
+ name: ecm_calendar_helper
83
+ prerelease: false
84
+ requirement: &id007 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 0.0.1.pre
90
+ type: :runtime
91
+ version_requirements: *id007
92
+ - !ruby/object:Gem::Dependency
93
+ name: friendly_id
94
+ prerelease: false
95
+ requirement: &id008 !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ~>
99
+ - !ruby/object:Gem::Version
100
+ version: 4.0.7
101
+ type: :runtime
102
+ version_requirements: *id008
103
+ - !ruby/object:Gem::Dependency
104
+ name: sqlite3
105
+ prerelease: false
106
+ requirement: &id009 !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: "0"
112
+ type: :development
113
+ version_requirements: *id009
114
+ - !ruby/object:Gem::Dependency
115
+ name: thin
116
+ prerelease: false
117
+ requirement: &id010 !ruby/object:Gem::Requirement
118
+ none: false
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: "0"
123
+ type: :development
124
+ version_requirements: *id010
125
+ - !ruby/object:Gem::Dependency
126
+ name: yard
127
+ prerelease: false
128
+ requirement: &id011 !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: "0"
134
+ type: :development
135
+ version_requirements: *id011
136
+ - !ruby/object:Gem::Dependency
137
+ name: sass-rails
138
+ prerelease: false
139
+ requirement: &id012 !ruby/object:Gem::Requirement
140
+ none: false
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: "0"
145
+ type: :development
146
+ version_requirements: *id012
147
+ - !ruby/object:Gem::Dependency
148
+ name: meta_search
149
+ prerelease: false
150
+ requirement: &id013 !ruby/object:Gem::Requirement
151
+ none: false
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: 1.1.0.pre
156
+ type: :development
157
+ version_requirements: *id013
158
+ - !ruby/object:Gem::Dependency
159
+ name: rspec-rails
160
+ prerelease: false
161
+ requirement: &id014 !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ~>
165
+ - !ruby/object:Gem::Version
166
+ version: "2.0"
167
+ type: :development
168
+ version_requirements: *id014
169
+ - !ruby/object:Gem::Dependency
170
+ name: factory_girl_rails
171
+ prerelease: false
172
+ requirement: &id015 !ruby/object:Gem::Requirement
173
+ none: false
174
+ requirements:
175
+ - - ~>
176
+ - !ruby/object:Gem::Version
177
+ version: "3.0"
178
+ type: :development
179
+ version_requirements: *id015
180
+ - !ruby/object:Gem::Dependency
181
+ name: shoulda-matchers
182
+ prerelease: false
183
+ requirement: &id016 !ruby/object:Gem::Requirement
184
+ none: false
185
+ requirements:
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: "0"
189
+ type: :development
190
+ version_requirements: *id016
191
+ - !ruby/object:Gem::Dependency
192
+ name: capybara
193
+ prerelease: false
194
+ requirement: &id017 !ruby/object:Gem::Requirement
195
+ none: false
196
+ requirements:
197
+ - - ">="
198
+ - !ruby/object:Gem::Version
199
+ version: "0"
200
+ type: :development
201
+ version_requirements: *id017
202
+ description: Couse management module for active admin.
203
+ email:
204
+ - roberto@vasquez-angel.de
205
+ executables: []
206
+
207
+ extensions: []
208
+
209
+ extra_rdoc_files: []
210
+
211
+ files:
212
+ - app/controllers/ecm/courses/course_dates_controller.rb
213
+ - app/controllers/ecm/courses/courses_controller.rb
214
+ - app/controllers/ecm/courses/course_categories_controller.rb
215
+ - app/views/ecm/courses/course_categories/_course_category.html.erb
216
+ - app/views/ecm/courses/course_categories/index.de.html.erb
217
+ - app/views/ecm/courses/course_categories/show.de.html.erb
218
+ - app/views/ecm/courses/course_dates/index.de.html.erb
219
+ - app/views/ecm/courses/course_dates/show.de.html.erb
220
+ - app/views/ecm/courses/course_dates/_course_date.html.erb
221
+ - app/views/ecm/courses/courses/_course.html.erb
222
+ - app/views/ecm/courses/courses/index.de.html.erb
223
+ - app/views/ecm/courses/courses/show.de.html.erb
224
+ - app/views/ecm/courses/courses/calendar.de.html.erb
225
+ - app/models/ecm/courses/course_category.rb
226
+ - app/models/ecm/courses/course_date.rb
227
+ - app/models/ecm/courses/course.rb
228
+ - app/admin/ecm_courses_courses.rb
229
+ - app/admin/ecm_courses_course_categories.rb
230
+ - app/admin/ecm_courses_course_dates.rb
231
+ - app/assets/images/ecm_courses/course_categories/last_node.png
232
+ - app/assets/images/ecm_courses/course_categories/node.png
233
+ - app/assets/images/ecm_courses/course_categories/vertical_line.png
234
+ - app/assets/stylesheets/ecm_courses/courses_categories.css.erb
235
+ - app/assets/stylesheets/ecm_courses.css
236
+ - config/locales/ecm.courses.en.yml
237
+ - config/locales/absence_validator.de.yml
238
+ - config/locales/ecm.courses.course.en.yml
239
+ - config/locales/absence_validator.en.yml
240
+ - config/locales/ecm.courses.de.yml
241
+ - config/locales/ecm.courses.course_date.en.yml
242
+ - config/locales/ecm.courses.course.de.yml
243
+ - config/locales/ecm.courses.routes.de.yml
244
+ - config/locales/ecm.courses.course_date.de.yml
245
+ - config/locales/ecm.courses.course_category.en.yml
246
+ - config/locales/ecm.courses.course_category.de.yml
247
+ - config/locales/ecm.courses.routes.en.yml
248
+ - db/migrate/003_create_ecm_courses_course_dates.rb
249
+ - db/migrate/002_create_ecm_courses_courses.rb
250
+ - db/migrate/001_create_ecm_courses_course_categories.rb
251
+ - lib/ecm_courses.rb
252
+ - lib/tasks/ecm_courses_tasks.rake
253
+ - lib/ecm/courses/engine.rb
254
+ - lib/ecm/courses/version.rb
255
+ - lib/ecm/courses/routing.rb
256
+ - lib/absence_validator.rb
257
+ - MIT-LICENSE
258
+ - Rakefile
259
+ - README.rdoc
260
+ homepage: https://github.com/robotex82/ecm_courses
261
+ licenses: []
262
+
263
+ post_install_message:
264
+ rdoc_options: []
265
+
266
+ require_paths:
267
+ - lib
268
+ required_ruby_version: !ruby/object:Gem::Requirement
269
+ none: false
270
+ requirements:
271
+ - - ">="
272
+ - !ruby/object:Gem::Version
273
+ version: "0"
274
+ required_rubygems_version: !ruby/object:Gem::Requirement
275
+ none: false
276
+ requirements:
277
+ - - ">"
278
+ - !ruby/object:Gem::Version
279
+ version: 1.3.1
280
+ requirements: []
281
+
282
+ rubyforge_project:
283
+ rubygems_version: 1.8.24
284
+ signing_key:
285
+ specification_version: 3
286
+ summary: Course management module.
287
+ test_files: []
288
+
289
+ has_rdoc: