enju_news 0.1.0.pre3 → 0.1.0.pre4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/app/models/news_post.rb +6 -1
  3. data/lib/enju_news/engine.rb +1 -1
  4. data/lib/enju_news/version.rb +1 -1
  5. data/spec/cassette_library/NewsFeed/should_fetch_feeds.yml +496 -872
  6. data/spec/cassette_library/NewsFeed/should_get_content.yml +463 -806
  7. data/spec/cassette_library/NewsFeed/should_not_get_content_if_the_feed_is_invalid.yml +35 -68
  8. data/spec/cassette_library/NewsFeed/should_reload_content.yml +463 -806
  9. data/spec/dummy/app/controllers/application_controller.rb +2 -48
  10. data/spec/dummy/app/models/user.rb +5 -91
  11. data/spec/dummy/config/application.rb +1 -2
  12. data/spec/dummy/config/application.yml +42 -0
  13. data/spec/dummy/config/initializers/devise.rb +2 -0
  14. data/spec/dummy/db/migrate/059_create_libraries.rb +28 -0
  15. data/spec/dummy/db/migrate/069_create_shelves.rb +15 -0
  16. data/spec/dummy/db/migrate/080_create_library_groups.rb +1 -3
  17. data/spec/dummy/db/migrate/120_create_baskets.rb +12 -0
  18. data/spec/dummy/db/migrate/124_create_bookstores.rb +17 -0
  19. data/spec/dummy/db/migrate/130_create_request_status_types.rb +12 -0
  20. data/spec/dummy/db/migrate/131_create_request_types.rb +12 -0
  21. data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +17 -0
  22. data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +14 -0
  23. data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +17 -0
  24. data/spec/dummy/db/migrate/20091202124834_create_versions.rb +18 -0
  25. data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +9 -0
  26. data/spec/dummy/db/migrate/20100314190054_add_opening_hour_to_library.rb +9 -0
  27. data/spec/dummy/db/migrate/20111201155456_create_users.rb +0 -8
  28. data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +5 -0
  29. data/spec/dummy/db/migrate/20120129014038_create_budget_types.rb +12 -0
  30. data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +14 -0
  31. data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +5 -0
  32. data/spec/dummy/db/migrate/20130221154434_add_additional_attributes_to_user.rb +26 -0
  33. data/spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb +6 -0
  34. data/spec/dummy/db/schema.rb +185 -15
  35. data/spec/dummy/db/test.sqlite3 +0 -0
  36. data/spec/factories/library.rb +13 -0
  37. data/spec/factories/user.rb +33 -11
  38. data/spec/fixtures/libraries.yml +102 -0
  39. data/spec/fixtures/user_groups.yml +45 -0
  40. data/spec/spec_helper.rb +16 -17
  41. metadata +96 -53
  42. data/lib/generators/enju_news/views_generator.rb +0 -18
  43. data/spec/dummy/app/models/library_group.rb +0 -86
  44. data/spec/dummy/app/models/role.rb +0 -46
  45. data/spec/dummy/app/models/user_group.rb +0 -40
  46. data/spec/dummy/app/models/user_has_role.rb +0 -5
  47. data/spec/dummy/db/development.sqlite3 +0 -0
  48. data/spec/dummy/lib/master_model.rb +0 -19
  49. data/spec/dummy/lib/url_validator.rb +0 -10
metadata CHANGED
@@ -1,120 +1,137 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enju_news
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre3
4
+ version: 0.1.0.pre4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kosuke Tanabe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-16 00:00:00.000000000 Z
11
+ date: 2014-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rails
14
+ name: enju_seed
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.2'
19
+ version: 0.1.1.pre8
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '3.2'
26
+ version: 0.1.1.pre8
27
27
  - !ruby/object:Gem::Dependency
28
- name: enju_core
28
+ name: sqlite3
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.1.1.pre3
34
- type: :runtime
33
+ version: '0'
34
+ type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.1.1.pre3
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: sqlite3
42
+ name: rspec-rails
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rspec-rails
56
+ name: factory_girl_rails
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: factory_girl_rails
70
+ name: vcr
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: vcr
84
+ name: fakeweb
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: fakeweb
98
+ name: sunspot-rails-tester
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: enju_leaf
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 1.1.0.rc7
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 1.1.0.rc7
111
125
  description: News article management for Next-L Enju
112
126
  email:
113
- - tanabe@mwr.mediacom.keio.ac.jp
127
+ - kosuke@e23.jp
114
128
  executables: []
115
129
  extensions: []
116
130
  extra_rdoc_files: []
117
131
  files:
132
+ - MIT-LICENSE
133
+ - README.rdoc
134
+ - Rakefile
118
135
  - app/controllers/news_feeds_controller.rb
119
136
  - app/controllers/news_posts_controller.rb
120
137
  - app/helpers/news_feeds_helper.rb
@@ -145,30 +162,23 @@ files:
145
162
  - db/migrate/20081031033632_create_news_feeds.rb
146
163
  - db/migrate/20090126071155_create_news_posts.rb
147
164
  - db/migrate/20110220103937_add_url_to_news_post.rb
165
+ - lib/enju_news.rb
148
166
  - lib/enju_news/engine.rb
149
167
  - lib/enju_news/version.rb
150
- - lib/enju_news.rb
151
- - lib/generators/enju_news/views_generator.rb
152
168
  - lib/tasks/enju_news_tasks.rake
153
- - MIT-LICENSE
154
- - Rakefile
155
- - README.rdoc
156
169
  - spec/cassette_library/NewsFeed/should_fetch_feeds.yml
157
170
  - spec/cassette_library/NewsFeed/should_get_content.yml
158
171
  - spec/cassette_library/NewsFeed/should_not_get_content_if_the_feed_is_invalid.yml
159
172
  - spec/cassette_library/NewsFeed/should_reload_content.yml
160
173
  - spec/controllers/news_feeds_controller_spec.rb
161
174
  - spec/controllers/news_posts_controller_spec.rb
175
+ - spec/dummy/Rakefile
162
176
  - spec/dummy/app/assets/javascripts/application.js
163
177
  - spec/dummy/app/assets/stylesheets/application.css
164
178
  - spec/dummy/app/controllers/application_controller.rb
165
179
  - spec/dummy/app/helpers/application_helper.rb
166
180
  - spec/dummy/app/models/ability.rb
167
- - spec/dummy/app/models/library_group.rb
168
- - spec/dummy/app/models/role.rb
169
181
  - spec/dummy/app/models/user.rb
170
- - spec/dummy/app/models/user_group.rb
171
- - spec/dummy/app/models/user_has_role.rb
172
182
  - spec/dummy/app/views/layouts/application.html.erb
173
183
  - spec/dummy/app/views/page/403.html.erb
174
184
  - spec/dummy/app/views/page/403.mobile.erb
@@ -176,7 +186,9 @@ files:
176
186
  - spec/dummy/app/views/page/404.html.erb
177
187
  - spec/dummy/app/views/page/404.mobile.erb
178
188
  - spec/dummy/app/views/page/404.xml.erb
189
+ - spec/dummy/config.ru
179
190
  - spec/dummy/config/application.rb
191
+ - spec/dummy/config/application.yml
180
192
  - spec/dummy/config/boot.rb
181
193
  - spec/dummy/config/database.yml
182
194
  - spec/dummy/config/environment.rb
@@ -192,33 +204,49 @@ files:
192
204
  - spec/dummy/config/initializers/wrap_parameters.rb
193
205
  - spec/dummy/config/locales/en.yml
194
206
  - spec/dummy/config/routes.rb
195
- - spec/dummy/config.ru
196
- - spec/dummy/db/development.sqlite3
207
+ - spec/dummy/db/migrate/059_create_libraries.rb
208
+ - spec/dummy/db/migrate/069_create_shelves.rb
197
209
  - spec/dummy/db/migrate/077_create_user_groups.rb
198
210
  - spec/dummy/db/migrate/080_create_library_groups.rb
211
+ - spec/dummy/db/migrate/120_create_baskets.rb
212
+ - spec/dummy/db/migrate/124_create_bookstores.rb
213
+ - spec/dummy/db/migrate/130_create_request_status_types.rb
214
+ - spec/dummy/db/migrate/131_create_request_types.rb
215
+ - spec/dummy/db/migrate/20081006090811_create_subscriptions.rb
216
+ - spec/dummy/db/migrate/20081006093246_create_subscribes.rb
217
+ - spec/dummy/db/migrate/20081023092436_create_search_engines.rb
218
+ - spec/dummy/db/migrate/20091202124834_create_versions.rb
219
+ - spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb
220
+ - spec/dummy/db/migrate/20100314190054_add_opening_hour_to_library.rb
199
221
  - spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb
200
222
  - spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb
201
223
  - spec/dummy/db/migrate/20111201121844_create_roles.rb
202
224
  - spec/dummy/db/migrate/20111201155456_create_users.rb
203
225
  - spec/dummy/db/migrate/20111201155513_add_devise_to_users.rb
204
226
  - spec/dummy/db/migrate/20111201163718_create_user_has_roles.rb
227
+ - spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb
228
+ - spec/dummy/db/migrate/20120129014038_create_budget_types.rb
229
+ - spec/dummy/db/migrate/20120319173203_create_accepts.rb
230
+ - spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb
231
+ - spec/dummy/db/migrate/20130221154434_add_additional_attributes_to_user.rb
232
+ - spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb
205
233
  - spec/dummy/db/schema.rb
206
234
  - spec/dummy/db/test.sqlite3
207
- - spec/dummy/lib/master_model.rb
208
- - spec/dummy/lib/url_validator.rb
209
235
  - spec/dummy/public/404.html
210
236
  - spec/dummy/public/422.html
211
237
  - spec/dummy/public/500.html
212
238
  - spec/dummy/public/favicon.ico
213
- - spec/dummy/Rakefile
214
239
  - spec/dummy/script/rails
240
+ - spec/factories/library.rb
215
241
  - spec/factories/news_feed.rb
216
242
  - spec/factories/news_post.rb
217
243
  - spec/factories/user.rb
244
+ - spec/fixtures/libraries.yml
218
245
  - spec/fixtures/library_groups.yml
219
246
  - spec/fixtures/news_feeds.yml
220
247
  - spec/fixtures/news_posts.yml
221
248
  - spec/fixtures/roles.yml
249
+ - spec/fixtures/user_groups.yml
222
250
  - spec/fixtures/user_has_roles.yml
223
251
  - spec/fixtures/users.yml
224
252
  - spec/models/news_feed_spec.rb
@@ -235,17 +263,17 @@ require_paths:
235
263
  - lib
236
264
  required_ruby_version: !ruby/object:Gem::Requirement
237
265
  requirements:
238
- - - '>='
266
+ - - ">="
239
267
  - !ruby/object:Gem::Version
240
268
  version: '0'
241
269
  required_rubygems_version: !ruby/object:Gem::Requirement
242
270
  requirements:
243
- - - '>'
271
+ - - ">"
244
272
  - !ruby/object:Gem::Version
245
273
  version: 1.3.1
246
274
  requirements: []
247
275
  rubyforge_project:
248
- rubygems_version: 2.0.0
276
+ rubygems_version: 2.2.0
249
277
  signing_key:
250
278
  specification_version: 4
251
279
  summary: enju_news plugin
@@ -261,11 +289,7 @@ test_files:
261
289
  - spec/dummy/app/controllers/application_controller.rb
262
290
  - spec/dummy/app/helpers/application_helper.rb
263
291
  - spec/dummy/app/models/ability.rb
264
- - spec/dummy/app/models/library_group.rb
265
- - spec/dummy/app/models/role.rb
266
292
  - spec/dummy/app/models/user.rb
267
- - spec/dummy/app/models/user_group.rb
268
- - spec/dummy/app/models/user_has_role.rb
269
293
  - spec/dummy/app/views/layouts/application.html.erb
270
294
  - spec/dummy/app/views/page/403.html.erb
271
295
  - spec/dummy/app/views/page/403.mobile.erb
@@ -274,6 +298,7 @@ test_files:
274
298
  - spec/dummy/app/views/page/404.mobile.erb
275
299
  - spec/dummy/app/views/page/404.xml.erb
276
300
  - spec/dummy/config/application.rb
301
+ - spec/dummy/config/application.yml
277
302
  - spec/dummy/config/boot.rb
278
303
  - spec/dummy/config/database.yml
279
304
  - spec/dummy/config/environment.rb
@@ -290,32 +315,50 @@ test_files:
290
315
  - spec/dummy/config/locales/en.yml
291
316
  - spec/dummy/config/routes.rb
292
317
  - spec/dummy/config.ru
293
- - spec/dummy/db/development.sqlite3
318
+ - spec/dummy/db/migrate/059_create_libraries.rb
319
+ - spec/dummy/db/migrate/069_create_shelves.rb
294
320
  - spec/dummy/db/migrate/077_create_user_groups.rb
295
321
  - spec/dummy/db/migrate/080_create_library_groups.rb
322
+ - spec/dummy/db/migrate/120_create_baskets.rb
323
+ - spec/dummy/db/migrate/124_create_bookstores.rb
324
+ - spec/dummy/db/migrate/130_create_request_status_types.rb
325
+ - spec/dummy/db/migrate/131_create_request_types.rb
326
+ - spec/dummy/db/migrate/20081006090811_create_subscriptions.rb
327
+ - spec/dummy/db/migrate/20081006093246_create_subscribes.rb
328
+ - spec/dummy/db/migrate/20081023092436_create_search_engines.rb
329
+ - spec/dummy/db/migrate/20091202124834_create_versions.rb
330
+ - spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb
331
+ - spec/dummy/db/migrate/20100314190054_add_opening_hour_to_library.rb
296
332
  - spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb
297
333
  - spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb
298
334
  - spec/dummy/db/migrate/20111201121844_create_roles.rb
299
335
  - spec/dummy/db/migrate/20111201155456_create_users.rb
300
336
  - spec/dummy/db/migrate/20111201155513_add_devise_to_users.rb
301
337
  - spec/dummy/db/migrate/20111201163718_create_user_has_roles.rb
338
+ - spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb
339
+ - spec/dummy/db/migrate/20120129014038_create_budget_types.rb
340
+ - spec/dummy/db/migrate/20120319173203_create_accepts.rb
341
+ - spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb
342
+ - spec/dummy/db/migrate/20130221154434_add_additional_attributes_to_user.rb
343
+ - spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb
302
344
  - spec/dummy/db/schema.rb
303
345
  - spec/dummy/db/test.sqlite3
304
- - spec/dummy/lib/master_model.rb
305
- - spec/dummy/lib/url_validator.rb
306
346
  - spec/dummy/public/404.html
307
347
  - spec/dummy/public/422.html
308
348
  - spec/dummy/public/500.html
309
349
  - spec/dummy/public/favicon.ico
310
350
  - spec/dummy/Rakefile
311
351
  - spec/dummy/script/rails
352
+ - spec/factories/library.rb
312
353
  - spec/factories/news_feed.rb
313
354
  - spec/factories/news_post.rb
314
355
  - spec/factories/user.rb
356
+ - spec/fixtures/libraries.yml
315
357
  - spec/fixtures/library_groups.yml
316
358
  - spec/fixtures/news_feeds.yml
317
359
  - spec/fixtures/news_posts.yml
318
360
  - spec/fixtures/roles.yml
361
+ - spec/fixtures/user_groups.yml
319
362
  - spec/fixtures/user_has_roles.yml
320
363
  - spec/fixtures/users.yml
321
364
  - spec/models/news_feed_spec.rb
@@ -1,18 +0,0 @@
1
- module EnjuNews
2
- module Generators
3
- class ViewsGenerator < Rails::Generators::Base
4
- source_root File.expand_path('../../../../app/views', __FILE__)
5
-
6
- def copy_files
7
- directories = %w(
8
- news_feeds
9
- news_posts
10
- )
11
-
12
- directories.each do |dir|
13
- directory dir, "app/views/#{dir}"
14
- end
15
- end
16
- end
17
- end
18
- end
@@ -1,86 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- class LibraryGroup < ActiveRecord::Base
3
- attr_accessible :name, :display_name, :short_name, :email, :my_networks,
4
- :login_banner, :note, :country_id, :admin_networks, :url
5
-
6
- #include Singleton
7
- #include Configurator
8
- include MasterModel
9
-
10
- has_many :libraries
11
- belongs_to :country
12
-
13
- validates :email, :format => {:with => /\A([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})\z/i}, :presence => true
14
- validates :url, :presence => true, :url => true
15
- after_save :clear_site_config_cache
16
-
17
- def clear_site_config_cache
18
- Rails.cache.delete('library_site_config')
19
- end
20
-
21
- def self.site_config
22
- #if Rails.env == 'production'
23
- # Rails.cache.fetch('library_site_config'){LibraryGroup.find(1)}
24
- #else
25
- LibraryGroup.find(1)
26
- #end
27
- rescue ActiveRecord::RecordNotFound
28
- nil
29
- end
30
-
31
- def self.system_name(locale = I18n.locale)
32
- LibraryGroup.site_config.display_name.localize(locale)
33
- end
34
-
35
- def config?
36
- true if self == LibraryGroup.site_config
37
- end
38
-
39
- def real_libraries
40
- # 物理的な図書館 = IDが1以外
41
- libraries.where('id != 1').all
42
- end
43
-
44
- def network_access_allowed?(ip_address, options = {})
45
- options = {:network_type => :lan}.merge(options)
46
- client_ip = IPAddr.new(ip_address)
47
- case options[:network_type]
48
- when :admin
49
- allowed_networks = self.admin_networks.to_s.split
50
- else
51
- allowed_networks = self.my_networks.to_s.split
52
- end
53
- allowed_networks.each do |allowed_network|
54
- begin
55
- network = IPAddr.new(allowed_network)
56
- return true if network.include?(client_ip)
57
- rescue ArgumentError
58
- nil
59
- end
60
- end
61
- return false
62
- end
63
- end
64
-
65
-
66
- # == Schema Information
67
- #
68
- # Table name: library_groups
69
- #
70
- # id :integer not null, primary key
71
- # name :string(255) not null
72
- # display_name :text
73
- # short_name :string(255) not null
74
- # email :string(255)
75
- # my_networks :text
76
- # login_banner :text
77
- # note :text
78
- # country_id :integer
79
- # created_at :datetime not null
80
- # updated_at :datetime not null
81
- # admin_networks :text
82
- # allow_bookmark_external_url :boolean default(FALSE), not null
83
- # position :integer
84
- # url :string(255) default("http://localhost:3000/")
85
- #
86
-
@@ -1,46 +0,0 @@
1
- class Role < ActiveRecord::Base
2
- include MasterModel
3
- default_scope :order => "roles.position"
4
- has_many :user_has_roles
5
- has_many :users, :through => :user_has_roles
6
- after_save :clear_all_cache
7
- after_destroy :clear_all_cache
8
-
9
- extend FriendlyId
10
- friendly_id :name
11
-
12
- def localized_name
13
- display_name.localize
14
- end
15
-
16
- def self.all_cache
17
- if Rails.env == 'production'
18
- Rails.cache.fetch('role_all'){Role.select(:name).all}
19
- else
20
- Role.select(:name)
21
- end
22
- end
23
-
24
- def clear_all_cache
25
- Rails.cache.delete('role_all')
26
- end
27
-
28
- def self.default_role
29
- Rails.cache.fetch('default_role'){Role.find('Guest')}
30
- end
31
- end
32
-
33
- # == Schema Information
34
- #
35
- # Table name: roles
36
- #
37
- # id :integer not null, primary key
38
- # name :string(255) not null
39
- # display_name :string(255)
40
- # note :text
41
- # created_at :datetime
42
- # updated_at :datetime
43
- # score :integer default(0), not null
44
- # position :integer
45
- #
46
-
@@ -1,40 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- class UserGroup < ActiveRecord::Base
3
- attr_accessible :name, :display_name, :note, :valid_period_for_new_user,
4
- :expired_at, :number_of_day_to_notify_overdue,
5
- :number_of_day_to_notify_overdue,
6
- :number_of_day_to_notify_due_date,
7
- :number_of_time_to_notify_overdue
8
-
9
- include MasterModel
10
- default_scope :order => "user_groups.position"
11
- has_many :users
12
-
13
- validates_numericality_of :valid_period_for_new_user,
14
- :greater_than_or_equal_to => 0,
15
- :allow_blank => true
16
-
17
- def self.per_page
18
- 10
19
- end
20
- end
21
-
22
- # == Schema Information
23
- #
24
- # Table name: user_groups
25
- #
26
- # id :integer not null, primary key
27
- # name :string(255)
28
- # display_name :text
29
- # note :text
30
- # position :integer
31
- # created_at :datetime
32
- # updated_at :datetime
33
- # deleted_at :datetime
34
- # valid_period_for_new_user :integer default(0), not null
35
- # expired_at :datetime
36
- # number_of_day_to_notify_overdue :integer default(1), not null
37
- # number_of_day_to_notify_due_date :integer default(7), not null
38
- # number_of_time_to_notify_overdue :integer default(3), not null
39
- #
40
-
@@ -1,5 +0,0 @@
1
- class UserHasRole < ActiveRecord::Base
2
- attr_accessible :user_id, :role_id
3
- belongs_to :user
4
- belongs_to :role
5
- end
Binary file
@@ -1,19 +0,0 @@
1
- module MasterModel
2
- def self.included(base)
3
- #base.extend ClassMethods
4
- base.send :include, InstanceMethods
5
- base.class_eval do
6
- acts_as_list
7
- validates_uniqueness_of :name, :case_sensitive => false
8
- validates_presence_of :name, :display_name
9
- before_validation :set_display_name, :on => :create
10
- normalize_attributes :name
11
- end
12
- end
13
-
14
- module InstanceMethods
15
- def set_display_name
16
- self.display_name = "#{I18n.locale}: #{self.name}" if self.display_name.blank?
17
- end
18
- end
19
- end
@@ -1,10 +0,0 @@
1
- class UrlValidator < ActiveModel::EachValidator
2
- def validate_each(record, attribute, value)
3
- url = ::Addressable::URI.parse(value)
4
- if url
5
- unless ['http', 'https'].include?(url.scheme)
6
- record.errors.add(attribute.to_sym)
7
- end
8
- end
9
- end
10
- end