stasis 0.1.9 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -276,6 +276,9 @@ Push to the server (in Ruby):
276
276
  # Paths to render
277
277
  :paths => [ "index.html.haml", "subdirectory" ],
278
278
 
279
+ # Made available to views as `params`
280
+ :params => {},
281
+
279
282
  # Redis address
280
283
  :redis => "localhost:6379/0",
281
284
 
data/config/gemspec.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  name: stasis
2
- version: 0.1.9
2
+ version: 0.1.10
3
3
  authors:
4
4
  - Winton Welsh
5
5
  email: mail@wintoni.us
@@ -12,8 +12,18 @@ class Stasis
12
12
  # `String` -- If present, render this path instead of the default.
13
13
  attr_accessor :_render
14
14
 
15
- def initialize(stasis)
15
+ # `Hash` -- Parameters to be made available to the scope, usually through
16
+ # `Stasis::Server`.
17
+ attr_accessor :params
18
+
19
+ def initialize(stasis, options={})
16
20
  @_stasis = stasis
21
+ @params = options[:params] || {}
22
+
23
+ @params = @params.inject({}) do |options, (key, value)|
24
+ options[(key.to_sym rescue key) || key] = value
25
+ options
26
+ end
17
27
 
18
28
  # Some plugins define methods to be made available to action scopes. This call
19
29
  # binds those methods.
data/lib/stasis/server.rb CHANGED
@@ -35,6 +35,7 @@ class Stasis
35
35
  params = request['paths'] + [
36
36
  {
37
37
  :collect => request['return'] || request['force'],
38
+ :params => request['params'],
38
39
  :write => request['write']
39
40
  }
40
41
  ]
data/lib/stasis.rb CHANGED
@@ -162,7 +162,7 @@ class Stasis
162
162
  end
163
163
 
164
164
  # Create an `Action` instance, the scope for rendering the view.
165
- @action = Action.new(self)
165
+ @action = Action.new(self, :params => render_options[:params])
166
166
 
167
167
  # Set the extension if the `@path` extension is supported by [Tilt][ti].
168
168
  ext =
@@ -0,0 +1,2 @@
1
+ params
2
+ = params.inspect
@@ -27,6 +27,16 @@ describe Stasis::Server do
27
27
  new_time_from_file.should_not == time
28
28
  end
29
29
 
30
+ it "should pass params" do
31
+ params = Stasis::Server.push(
32
+ :paths => [ 'params.html.haml' ],
33
+ :params => { :test => true },
34
+ :redis => 'localhost:6379/0',
35
+ :return => true
36
+ )['params.html.haml'].split("params")[1].strip
37
+ eval(params).should == { :test => true }
38
+ end
39
+
30
40
  it "should expire after ttl" do
31
41
  time = Stasis::Server.push(
32
42
  :paths => [ 'time.html.haml' ],
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stasis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
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-09-14 00:00:00.000000000Z
12
+ date: 2011-09-22 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: directory_watcher
16
- requirement: &70138389573200 !ruby/object:Gem::Requirement
16
+ requirement: &70220140230080 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.4.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70138389573200
24
+ version_requirements: *70220140230080
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: redis
27
- requirement: &70138389572740 !ruby/object:Gem::Requirement
27
+ requirement: &70220140229620 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.2.1
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70138389572740
35
+ version_requirements: *70220140229620
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: slop
38
- requirement: &70138389572300 !ruby/object:Gem::Requirement
38
+ requirement: &70220140229180 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.1.0
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70138389572300
46
+ version_requirements: *70220140229180
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: tilt
49
- requirement: &70138389571860 !ruby/object:Gem::Requirement
49
+ requirement: &70220140228740 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '1.3'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70138389571860
57
+ version_requirements: *70220140228740
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: yajl-ruby
60
- requirement: &70138389571420 !ruby/object:Gem::Requirement
60
+ requirement: &70220140228300 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.8.2
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70138389571420
68
+ version_requirements: *70220140228300
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
- requirement: &70138389570840 !ruby/object:Gem::Requirement
71
+ requirement: &70220140227720 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 0.8.7
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70138389570840
79
+ version_requirements: *70220140227720
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rspec
82
- requirement: &70138389570400 !ruby/object:Gem::Requirement
82
+ requirement: &70220140227280 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: '1.0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70138389570400
90
+ version_requirements: *70220140227280
91
91
  description: Stasis is a dynamic framework for static sites.
92
92
  email: mail@wintoni.us
93
93
  executables:
@@ -140,6 +140,7 @@ files:
140
140
  - spec/fixtures/project/layout_controller_from_subdirectory.html.haml
141
141
  - spec/fixtures/project/no_controller/index.html.haml
142
142
  - spec/fixtures/project/not_dynamic.html
143
+ - spec/fixtures/project/params.html.haml
143
144
  - spec/fixtures/project/plugin.rb
144
145
  - spec/fixtures/project/subdirectory/_partial.html.haml
145
146
  - spec/fixtures/project/subdirectory/before_render_partial.html.haml
@@ -203,6 +204,7 @@ test_files:
203
204
  - spec/fixtures/project/layout_controller_from_subdirectory.html.haml
204
205
  - spec/fixtures/project/no_controller/index.html.haml
205
206
  - spec/fixtures/project/not_dynamic.html
207
+ - spec/fixtures/project/params.html.haml
206
208
  - spec/fixtures/project/plugin.rb
207
209
  - spec/fixtures/project/subdirectory/_partial.html.haml
208
210
  - spec/fixtures/project/subdirectory/before_render_partial.html.haml