ecm_courses 0.0.1.pre

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 (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: