muck-engine 0.2.22 → 0.2.23

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.22
1
+ 0.2.23
@@ -9,4 +9,9 @@ I18n.load_path += Dir[ File.join(File.dirname(__FILE__), '..', 'rails_i18n', '*.
9
9
  Mime::Type.register "application/rdf+xml", :rdf
10
10
  Mime::Type.register "text/xml", :opml
11
11
  Mime::Type.register "text/javascript", :pjs
12
- Mime::Type.register_alias "text/html", :iphone
12
+ Mime::Type.register_alias "text/html", :iphone
13
+
14
+ # Use to determine whether or not ssl should be used
15
+ def muck_routes_protocol
16
+ @@routes_protocol ||= GlobalConfig.enable_ssl ? (ENV["RAILS_ENV"] =~ /(development|test)/ ? "http" : "https") : 'http'
17
+ end
@@ -209,9 +209,27 @@ end
209
209
 
210
210
  Factory.define :content_permission do |f|
211
211
  f.content { |a| a.association(:content) }
212
- f.user {|a| a.association(:user)}
212
+ f.user { |a| a.association(:user) }
213
213
  end
214
214
 
215
215
  Factory.define :invitee do |f|
216
216
  f.email { Factory.next(:email) }
217
+ end
218
+
219
+ Factory.define :group do |f|
220
+ f.creator {|a| a.association(:user)}
221
+ f.name { Factory.next(:name) }
222
+ f.member_count 0
223
+ end
224
+
225
+ Factory.define :membership_requests do |f|
226
+ f.group {|a| a.association(:group)}
227
+ f.user {|a| a.association(:user)}
228
+ end
229
+
230
+ Factory.define :memberships do |f|
231
+ f.group {|a| a.association(:group)}
232
+ f.user {|a| a.association(:user)}
233
+ f.banned false
234
+ f.role "member"
217
235
  end
@@ -1,9 +1,5 @@
1
1
  module MuckTestMethods
2
2
 
3
- def ensure_flash(val)
4
- assert_contains flash.values, val, ", Flash: #{flash.inspect}"
5
- end
6
-
7
3
  def login_as(user)
8
4
  success = UserSession.create(user)
9
5
  if !success
@@ -1,8 +1,18 @@
1
1
  module MuckControllerMacros
2
2
 
3
+ # Ensure a login is required for the given actions
4
+ # Parameters:
5
+ # Pass the following as arguements
6
+ # :login_url => '/login' -- url the user should be redirected to if they aren't logged in. Defaults to '/login'
7
+ # :get => 'index'
8
+ # :post => 'create'
9
+ #
10
+ # Example:
11
+ # should_require_login :login_url => '/signup', :get => 'index'
3
12
  def should_require_login(*args)
4
13
  args = Hash[*args]
5
14
  login_url = args.delete :login_url
15
+ login_url ||= '/login'
6
16
  args.each do |action, verb|
7
17
  should "Require login for '#{action}' action" do
8
18
  if [:put, :delete].include?(verb) # put and delete require an id even if it is a bogus one
@@ -15,12 +25,37 @@ module MuckControllerMacros
15
25
  end
16
26
  end
17
27
 
18
- def should_require_role(role, redirect_url, *actions)
19
- actions.each do |action|
28
+ # Ensure the user is in a given role for the given actions. The test user will need to be logged in.
29
+ # Parameters:
30
+ # role: The role required for the user
31
+ #
32
+ # Pass the following as arguements
33
+ # :login_url => '/login' -- url the user should be redirected to if they aren't logged in. Defaults to '/login'
34
+ # :get => 'index'
35
+ # :post => 'create'
36
+ #
37
+ # Example:
38
+ # context "logged in not admin" do
39
+ # setup do
40
+ # @user = Factory(:user)
41
+ # activate_authlogic
42
+ # login_as @user
43
+ # end
44
+ # should_require_role('admin', :redirect_url => '/login', :index => :get)
45
+ # end
46
+ def should_require_role(role, *args)
47
+ args = Hash[*args]
48
+ redirect_url = args.delete :redirect_url
49
+ redirect_url ||= '/login'
50
+ args.each do |action, verb|
20
51
  should "require role for '#{action}' action" do
21
- get(action)
52
+ if [:put, :delete].include?(verb) # put and delete require an id even if it is a bogus one
53
+ send(verb, action, :id => 1)
54
+ else
55
+ send(verb, action)
56
+ end
22
57
  ensure_flash(/permission/i)
23
- assert_response :redirect
58
+ assert_redirected_to(redirect_url)
24
59
  end
25
60
  end
26
61
  end
@@ -1,6 +1,6 @@
1
1
  # Named scopes tested by these macros:
2
2
  #
3
- # named_scope :by_title, :order => "name ASC"
3
+ # named_scope :by_title, :order => "title ASC"
4
4
  # named_scope :by_name, :order => "name ASC"
5
5
  # named_scope :recent, lambda { { :conditions => ['created_at > ?', 1.week.ago] } }
6
6
  # named_scope :newest, :order => "created_at DESC"
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{muck-engine}
8
- s.version = "0.2.22"
8
+ s.version = "0.2.23"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Justin Ball", "Joel Duffin"]
12
- s.date = %q{2009-12-21}
12
+ s.date = %q{2010-01-06}
13
13
  s.description = %q{The base engine for the muck system. Contains common tables, custom for, css and javascript.}
14
14
  s.email = %q{justin@tatemae.com}
15
15
  s.extra_rdoc_files = [
@@ -180,6 +180,7 @@ Gem::Specification.new do |s|
180
180
  "public/images/service_icons/16/diigo.png",
181
181
  "public/images/service_icons/16/facebook.png",
182
182
  "public/images/service_icons/16/feed.png",
183
+ "public/images/service_icons/16/fireeagle.png",
183
184
  "public/images/service_icons/16/flickr.png",
184
185
  "public/images/service_icons/16/fotolog.png",
185
186
  "public/images/service_icons/16/friendfeed.png",
@@ -245,6 +246,7 @@ Gem::Specification.new do |s|
245
246
  "public/images/service_icons/24/diigo.png",
246
247
  "public/images/service_icons/24/facebook.png",
247
248
  "public/images/service_icons/24/feed.png",
249
+ "public/images/service_icons/24/fireeagle.png",
248
250
  "public/images/service_icons/24/flickr.png",
249
251
  "public/images/service_icons/24/fotolog.png",
250
252
  "public/images/service_icons/24/friendfeed.png",
@@ -310,6 +312,7 @@ Gem::Specification.new do |s|
310
312
  "public/images/service_icons/48/diigo.png",
311
313
  "public/images/service_icons/48/facebook.png",
312
314
  "public/images/service_icons/48/feed.png",
315
+ "public/images/service_icons/48/fireeagle.png",
313
316
  "public/images/service_icons/48/flickr.png",
314
317
  "public/images/service_icons/48/fotolog.png",
315
318
  "public/images/service_icons/48/friendfeed.png",
@@ -375,6 +378,7 @@ Gem::Specification.new do |s|
375
378
  "public/images/service_icons/60/diigo.png",
376
379
  "public/images/service_icons/60/facebook.png",
377
380
  "public/images/service_icons/60/feed.png",
381
+ "public/images/service_icons/60/fireeagle.png",
378
382
  "public/images/service_icons/60/flickr.png",
379
383
  "public/images/service_icons/60/fotolog.png",
380
384
  "public/images/service_icons/60/friendfeed.png",
@@ -452,6 +456,7 @@ Gem::Specification.new do |s|
452
456
  "public/images/service_icons/source/diigo.png",
453
457
  "public/images/service_icons/source/facebook.png",
454
458
  "public/images/service_icons/source/feed.png",
459
+ "public/images/service_icons/source/fireeagle.psd",
455
460
  "public/images/service_icons/source/flickr.png",
456
461
  "public/images/service_icons/source/fotolog.png",
457
462
  "public/images/service_icons/source/friendfeed.png",
@@ -1,14 +1,15 @@
1
1
  development:
2
- adapter: sqlite3
3
- database: db/development.sqlite3
4
- timeout: 5000
2
+ adapter: mysql
3
+ database: muck_engine_development
4
+ username: root
5
+ password:
6
+ host: localhost
7
+ encoding: utf8
5
8
 
6
9
  test:
7
- adapter: sqlite3
8
- database: db/test.sqlite3
9
- timeout: 5000
10
-
11
- production:
12
- adapter: sqlite3
13
- database: db/production.sqlite3
14
- timeout: 5000
10
+ adapter: mysql
11
+ database: muck_engine_test
12
+ username: root
13
+ password:
14
+ host: localhost
15
+ encoding: utf8
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: muck-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.22
4
+ version: 0.2.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Ball
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-12-21 00:00:00 -07:00
13
+ date: 2010-01-06 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -216,6 +216,7 @@ files:
216
216
  - public/images/service_icons/16/diigo.png
217
217
  - public/images/service_icons/16/facebook.png
218
218
  - public/images/service_icons/16/feed.png
219
+ - public/images/service_icons/16/fireeagle.png
219
220
  - public/images/service_icons/16/flickr.png
220
221
  - public/images/service_icons/16/fotolog.png
221
222
  - public/images/service_icons/16/friendfeed.png
@@ -281,6 +282,7 @@ files:
281
282
  - public/images/service_icons/24/diigo.png
282
283
  - public/images/service_icons/24/facebook.png
283
284
  - public/images/service_icons/24/feed.png
285
+ - public/images/service_icons/24/fireeagle.png
284
286
  - public/images/service_icons/24/flickr.png
285
287
  - public/images/service_icons/24/fotolog.png
286
288
  - public/images/service_icons/24/friendfeed.png
@@ -346,6 +348,7 @@ files:
346
348
  - public/images/service_icons/48/diigo.png
347
349
  - public/images/service_icons/48/facebook.png
348
350
  - public/images/service_icons/48/feed.png
351
+ - public/images/service_icons/48/fireeagle.png
349
352
  - public/images/service_icons/48/flickr.png
350
353
  - public/images/service_icons/48/fotolog.png
351
354
  - public/images/service_icons/48/friendfeed.png
@@ -411,6 +414,7 @@ files:
411
414
  - public/images/service_icons/60/diigo.png
412
415
  - public/images/service_icons/60/facebook.png
413
416
  - public/images/service_icons/60/feed.png
417
+ - public/images/service_icons/60/fireeagle.png
414
418
  - public/images/service_icons/60/flickr.png
415
419
  - public/images/service_icons/60/fotolog.png
416
420
  - public/images/service_icons/60/friendfeed.png
@@ -488,6 +492,7 @@ files:
488
492
  - public/images/service_icons/source/diigo.png
489
493
  - public/images/service_icons/source/facebook.png
490
494
  - public/images/service_icons/source/feed.png
495
+ - public/images/service_icons/source/fireeagle.psd
491
496
  - public/images/service_icons/source/flickr.png
492
497
  - public/images/service_icons/source/fotolog.png
493
498
  - public/images/service_icons/source/friendfeed.png