piano 0.10.6 → 0.10.7

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
File without changes
@@ -190,6 +190,34 @@ Another helper you may find useful is <tt>extract("source_text/html", word_count
190
190
 
191
191
  %p= extract content, 25
192
192
 
193
+ === <tt>flash</tt> & <tt>flash?</tt>
194
+
195
+ Most times on a POST request the server performs an action and you want to give the user some feedback about that action. The data for that feedback has become known as "flash text" steming from the Rails argot.
196
+
197
+ Piano provides <tt>flash</tt> for you, ease to use. A sample
198
+
199
+ ==== Pianofile
200
+
201
+ post "/article/new" do
202
+ Article.create params # ActiveRecord-like article creation
203
+
204
+ flash "The article was created" # You set the flash text by calling `flash`
205
+ # with an argument
206
+ end
207
+
208
+ ==== articles.haml
209
+
210
+ %html
211
+ %head
212
+ %title Articles index
213
+ %body
214
+ - if flash? # Checks if any flash text is setted
215
+ %output= flash
216
+
217
+ <tt>flash</tt> called without an argument destructively returns the flash text. Destructively so further request to <tt>/articles</tt> (which in this case will bring up <tt>articles.haml</tt>) will not display the flash text.
218
+
219
+ Internally, <tt>flash</tt> and <tt>flash?</tt> set and check the <tt>session[:flash]</tt> object.
220
+
193
221
  Code is poetry.
194
222
 
195
223
  === Etags
data/Rakefile CHANGED
File without changes
data/bin/piano~ CHANGED
File without changes
File without changes
File without changes
File without changes
@@ -1,3 +1,3 @@
1
1
  module Piano
2
- VERSION = "0.10.6"
2
+ VERSION = "0.10.7"
3
3
  end
@@ -131,10 +131,29 @@ module Sinatra
131
131
  end
132
132
  end
133
133
 
134
+ # Returns the session[:flash] if is defined, nil otherwise
135
+ def flash?
136
+ session[:flash]
137
+ end
138
+
139
+ # If an argument is passed, it sets the `session[:flash]` to the passed argument
140
+ #
141
+ # Otherwise, returns `session[:flash]` and removes `:flash` from the `session`
142
+ # hash to make it available for subsequent requests.
143
+ def flash data = nil
144
+ if data
145
+ session[:flash] = data
146
+ else
147
+ flash_text = session[:flash]
148
+ session.delete :flash
149
+ return flash_text
150
+ end
151
+ end
152
+
134
153
  # Non implemented yet
135
154
  def t(key)
136
155
  I18n.translate key
137
- end
156
+ end
138
157
  end
139
158
 
140
159
  register Piano
File without changes
File without changes
File without changes
File without changes
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: piano
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.6
4
+ version: 0.10.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-16 00:00:00.000000000 Z
12
+ date: 2011-12-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra
16
- requirement: &16774000 !ruby/object:Gem::Requirement
16
+ requirement: &70397330 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.2.6
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *16774000
24
+ version_requirements: *70397330
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: haml
27
- requirement: &16772720 !ruby/object:Gem::Requirement
27
+ requirement: &70397010 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 3.1.1
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *16772720
35
+ version_requirements: *70397010
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: sass
38
- requirement: &16770960 !ruby/object:Gem::Requirement
38
+ requirement: &70396690 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 3.1.1
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *16770960
46
+ version_requirements: *70396690
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: coffee-script
49
- requirement: &16770080 !ruby/object:Gem::Requirement
49
+ requirement: &70396360 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.2.0
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *16770080
57
+ version_requirements: *70396360
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: i18n
60
- requirement: &16769340 !ruby/object:Gem::Requirement
60
+ requirement: &70449840 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.6.0
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *16769340
68
+ version_requirements: *70449840
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: polyglot
71
- requirement: &16768600 !ruby/object:Gem::Requirement
71
+ requirement: &70449430 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 0.3.1
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *16768600
79
+ version_requirements: *70449430
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: metafun
82
- requirement: &16756100 !ruby/object:Gem::Requirement
82
+ requirement: &70448730 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *16756100
90
+ version_requirements: *70448730
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rspec
93
- requirement: &16755220 !ruby/object:Gem::Requirement
93
+ requirement: &70448160 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,7 +98,7 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *16755220
101
+ version_requirements: *70448160
102
102
  description: Out-of-the-box sinatra server for web site sketching using haml + sass
103
103
  + coffee-script
104
104
  email:
@@ -150,4 +150,3 @@ specification_version: 3
150
150
  summary: Out-of-the-box sinatra server for web site sketching using haml + sass +
151
151
  coffee-script
152
152
  test_files: []
153
- has_rdoc: