enju_news 0.1.0.pre3 → 0.1.0.pre4

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. 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