teamon-merb-flash 0.1.2 → 0.1.3

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.
data/README.textile CHANGED
@@ -4,11 +4,15 @@ A plugin for the Merb framework that provides rails-like flash messages
4
4
 
5
5
  h3. Instalation
6
6
 
7
- @gem sources -a http://gems.githhub.com@
8
- @sudo gem install teamon-merb-flash@
7
+ <pre><code>
8
+ gem sources -a http://gems.githhub.com
9
+ sudo gem install teamon-merb-flash
10
+ </pre></code>
9
11
 
10
- _config/dependencies.rb_
11
- @dependency "teamon-merb-flash", :require_as => "merb-flash"@
12
+ <pre><code>
13
+ # config/dependencies.rb
14
+ dependency "teamon-merb-flash", :require_as => "merb-flash"
15
+ </pre></code>
12
16
 
13
17
  h3. Usage
14
18
 
data/Rakefile CHANGED
@@ -5,10 +5,10 @@ require 'merb-core'
5
5
  require 'merb-core/tasks/merb'
6
6
 
7
7
  GEM_NAME = "merb-flash"
8
- GEM_VERSION = "0.1.2"
9
- AUTHOR = "Tymon <teamon> Tobolski"
8
+ GEM_VERSION = "0.1.3"
9
+ AUTHOR = "Tymon Tobolski"
10
10
  EMAIL = "i@teamon.eu"
11
- HOMEPAGE = "http://teamon.eu/"
11
+ HOMEPAGE = "http://blog.teamon.eu/projekty/"
12
12
  SUMMARY = "Merb plugin that provides rails-like flash messages"
13
13
 
14
14
  spec = Gem::Specification.new do |s|
@@ -26,7 +26,6 @@ spec = Gem::Specification.new do |s|
26
26
  s.add_dependency('merb-core', '>= 1.0')
27
27
  s.require_path = 'lib'
28
28
  s.files = %w(LICENSE README.textile Rakefile TODO) + Dir.glob("{lib,spec}/**/*")
29
-
30
29
  end
31
30
 
32
31
  Rake::GemPackageTask.new(spec) do |pkg|
@@ -49,3 +48,8 @@ task :gemspec do
49
48
  file.puts spec.to_ruby
50
49
  end
51
50
  end
51
+
52
+ desc "Run specs"
53
+ task :spec do
54
+ system("spec -O spec/spec.opts spec")
55
+ end
data/TODO CHANGED
@@ -1 +0,0 @@
1
- TODO:
data/lib/merb-flash.rb CHANGED
@@ -5,7 +5,48 @@ if defined?(Merb::Plugins)
5
5
  Merb::Plugins.config[:merb_flash] = {}
6
6
 
7
7
  Merb::BootLoader.before_app_loads do
8
- require 'merb-flash/request_controller.rb'
8
+ class Merb::Request
9
+ def message
10
+ @_message ||= {}
11
+ end
12
+
13
+ def message=(msg)
14
+ @_message = msg
15
+ end
16
+ end
17
+
18
+ module Merb::RedirectWithSessionFlash
19
+ def redirect(url, opts = {})
20
+ if opts[:message]
21
+ msg = opts.delete(:message)
22
+ unless msg.is_a?(Hash)
23
+ if msg.is_a?(String)
24
+ msg = Mash.new(:notice => msg)
25
+ else
26
+ raise ArgumentError
27
+ end
28
+ end
29
+ session[:flash] = msg
30
+ end
31
+
32
+ super
33
+ end
34
+ end
35
+
36
+ class Merb::Controller
37
+ override! :redirect
38
+ include Merb::RedirectWithSessionFlash
39
+
40
+ before :process_flash
41
+
42
+ protected
43
+
44
+ def process_flash
45
+ request.message = session[:flash]
46
+ session[:flash] = {}
47
+ end
48
+ end
49
+
9
50
  end
10
51
 
11
52
  end
@@ -1,5 +1,7 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper'
2
- require File.join(File.dirname(__FILE__), "..", "lib", "merb-flash", "request_controller.rb")
2
+ require File.join(File.dirname(__FILE__), "..", "lib", "merb-flash")
3
+
4
+ Merb::BootLoader::BeforeAppLoads.run
3
5
 
4
6
  class FlashTestController < Merb::Controller
5
7
  def standard
@@ -17,7 +19,7 @@ describe "merb-flash" do
17
19
  @controller.headers["Location"].should == "/"
18
20
  end
19
21
 
20
- it "shouldn have message in session" do
22
+ it "should have message in session" do
21
23
  @controller = dispatch_to(FlashTestController, :standard)
22
24
  @controller.session.should == Mash.new(:flash => {:notice => "Chunky bacon!"})
23
25
  end
@@ -26,5 +28,4 @@ describe "merb-flash" do
26
28
  @controller = dispatch_to(FlashTestController, :shortcut)
27
29
  @controller.session.should == Mash.new(:flash => {:notice => "Chunky bacon?"})
28
30
  end
29
-
30
31
  end
metadata CHANGED
@@ -1,19 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teamon-merb-flash
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
- - Tymon <teamon> Tobolski
7
+ - Tymon Tobolski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-17 00:00:00 -08:00
12
+ date: 2009-05-29 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: merb-core
17
+ type: :runtime
17
18
  version_requirement:
18
19
  version_requirements: !ruby/object:Gem::Requirement
19
20
  requirements:
@@ -36,14 +37,12 @@ files:
36
37
  - README.textile
37
38
  - Rakefile
38
39
  - TODO
39
- - lib/merb-flash
40
- - lib/merb-flash/request_controller.rb
41
40
  - lib/merb-flash.rb
42
41
  - spec/merb-flash_spec.rb
43
42
  - spec/spec.opts
44
43
  - spec/spec_helper.rb
45
44
  has_rdoc: true
46
- homepage: http://teamon.eu/
45
+ homepage: http://blog.teamon.eu/projekty/
47
46
  post_install_message:
48
47
  rdoc_options: []
49
48
 
@@ -66,7 +65,7 @@ requirements: []
66
65
  rubyforge_project: merb
67
66
  rubygems_version: 1.2.0
68
67
  signing_key:
69
- specification_version: 2
68
+ specification_version: 3
70
69
  summary: Merb plugin that provides rails-like flash messages
71
70
  test_files: []
72
71
 
@@ -1,38 +0,0 @@
1
- class Merb::Request
2
- def message
3
- @_message ||= {}
4
- end
5
-
6
- def message=(msg)
7
- @_message = msg
8
- end
9
- end
10
-
11
- class Merb::Controller
12
- before :process_flash
13
-
14
- alias :orig_redirect :redirect
15
-
16
- def redirect(url, opts = {})
17
- if opts[:message]
18
- msg = opts.delete(:message)
19
- unless msg.is_a?(Hash)
20
- if msg.is_a?(String)
21
- msg = Mash.new(:notice => msg)
22
- else
23
- raise ArgumentError
24
- end
25
- end
26
- session[:flash] = msg
27
- end
28
-
29
- orig_redirect(url, opts)
30
- end
31
-
32
- protected
33
-
34
- def process_flash
35
- request.message = session[:flash]
36
- session[:flash] = {}
37
- end
38
- end