siteleaf 0.9.7 → 0.9.8

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.
@@ -37,9 +37,11 @@ module Siteleaf
37
37
  end
38
38
 
39
39
  def call(env)
40
+ require 'uri'
41
+
40
42
  site = Siteleaf::Site.new({:id => self.site_id})
41
43
 
42
- url = env['PATH_INFO']
44
+ url = URI.unescape(env['PATH_INFO'])
43
45
  path = url.gsub(/\/\z|\A\//, '') #strip beginning and trailing slashes
44
46
 
45
47
  if !['sitemap.xml','feed.xml'].include?(path) and !File.directory?(path) and File.exist?(path)
@@ -49,10 +51,13 @@ module Siteleaf
49
51
  is_asset = /^(?!(sitemap|feed)\.xml)(assets|.*\.)/.match(path)
50
52
 
51
53
  if is_asset
52
- if asset = site.resolve(url) and asset_url = asset['file']['url']
54
+ output = site.resolve(url)
55
+ if output.code == 200
53
56
  require 'open-uri'
54
- output = open(asset_url)
55
- [200, {'Content-Type' => output.content_type}, [output.read]]
57
+ asset = open(output['file']['url'])
58
+ [output.code, {'Content-Type' => asset.content_type}, [asset.read]]
59
+ else
60
+ [output.code, {'Content-Type' => 'text/html'}, [output.to_s]]
56
61
  end
57
62
  else
58
63
  if template_data = resolve_template(url)
@@ -64,10 +69,10 @@ module Siteleaf
64
69
  end
65
70
 
66
71
  output = site.preview(url, template_data)
67
- if output.respond_to?('headers')
68
- [200, {'Content-Type' => output.headers[:content_type]}, [output]]
72
+ if output.code == 200
73
+ [output.code, {'Content-Type' => output.headers[:content_type]}, [output]]
69
74
  else
70
- [200, {'Content-Type' => 'text/html'}, [output]]
75
+ [output.code, {'Content-Type' => 'text/html'}, [output]]
71
76
  end
72
77
  end
73
78
  end
@@ -1,3 +1,3 @@
1
1
  module Siteleaf
2
- VERSION = "0.9.7"
2
+ VERSION = "0.9.8"
3
3
  end
metadata CHANGED
@@ -1,71 +1,104 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: siteleaf
3
- version: !ruby/object:Gem::Version
4
- version: 0.9.7
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.8
5
+ prerelease:
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Siteleaf
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
-
12
- date: 2013-06-28 00:00:00 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+ date: 2013-07-01 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
15
  name: json
16
- prerelease: false
17
- requirement: &id001 !ruby/object:Gem::Requirement
18
- requirements:
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
19
  - - ~>
20
- - !ruby/object:Gem::Version
20
+ - !ruby/object:Gem::Version
21
21
  version: 1.7.7
22
22
  type: :runtime
23
- version_requirements: *id001
24
- - !ruby/object:Gem::Dependency
25
- name: httparty
26
23
  prerelease: false
27
- requirement: &id002 !ruby/object:Gem::Requirement
28
- requirements:
29
- - &id003
30
- - ">="
31
- - !ruby/object:Gem::Version
32
- version: "0"
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 1.7.7
30
+ - !ruby/object:Gem::Dependency
31
+ name: httparty
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
33
38
  type: :runtime
34
- version_requirements: *id002
35
- - !ruby/object:Gem::Dependency
36
- name: httmultiparty
37
39
  prerelease: false
38
- requirement: &id004 !ruby/object:Gem::Requirement
39
- requirements:
40
- - *id003
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: httmultiparty
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
41
54
  type: :runtime
42
- version_requirements: *id004
43
- - !ruby/object:Gem::Dependency
44
- name: zip
45
55
  prerelease: false
46
- requirement: &id005 !ruby/object:Gem::Requirement
47
- requirements:
48
- - *id003
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: zip
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
49
70
  type: :runtime
50
- version_requirements: *id005
51
- - !ruby/object:Gem::Dependency
52
- name: rack
53
71
  prerelease: false
54
- requirement: &id006 !ruby/object:Gem::Requirement
55
- requirements:
56
- - *id003
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: rack
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
57
86
  type: :runtime
58
- version_requirements: *id006
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
59
94
  description: A Ruby interface and command line utility for the Siteleaf API.
60
- email:
95
+ email:
61
96
  - api@siteleaf.com
62
- executables:
97
+ executables:
63
98
  - siteleaf
64
99
  extensions: []
65
-
66
100
  extra_rdoc_files: []
67
-
68
- files:
101
+ files:
69
102
  - .gitignore
70
103
  - Gemfile
71
104
  - LICENSE.txt
@@ -84,28 +117,26 @@ files:
84
117
  - siteleaf.gemspec
85
118
  homepage: http://siteleaf.com
86
119
  licenses: []
87
-
88
- metadata: {}
89
-
90
120
  post_install_message:
91
121
  rdoc_options: []
92
-
93
- require_paths:
122
+ require_paths:
94
123
  - lib
95
- required_ruby_version: !ruby/object:Gem::Requirement
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: "1.8"
100
- required_rubygems_version: !ruby/object:Gem::Requirement
101
- requirements:
102
- - *id003
124
+ required_ruby_version: !ruby/object:Gem::Requirement
125
+ none: false
126
+ requirements:
127
+ - - ! '>='
128
+ - !ruby/object:Gem::Version
129
+ version: '1.8'
130
+ required_rubygems_version: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ! '>='
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
103
136
  requirements: []
104
-
105
137
  rubyforge_project:
106
- rubygems_version: 2.0.3
138
+ rubygems_version: 1.8.23
107
139
  signing_key:
108
- specification_version: 4
140
+ specification_version: 3
109
141
  summary: Siteleaf Ruby interface
110
142
  test_files: []
111
-
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- data.tar.gz: b05eb5577c086807281dd10c51123f12982811fd
4
- metadata.gz: 7fde2f67bb1838330bfe9ca92a3619f7754ccd2e
5
- SHA512:
6
- data.tar.gz: 39ee781df4d1e71a853033865291f1cbe4059ae4c52e677601dc11819c7abc9b59fafe170d1280623a4bb2e414ecf96b61d5193b0f461d174377bc0205c425e5
7
- metadata.gz: da7a9342af8ceddb79652d90279573d34d472f76aff06db6acb6c8413e470e7e3f4b62cbcab019cbf0230d75e5813293ecc5431a789967384f8afc3e76e4dd8c