stasis 0.1.9 → 0.1.10

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