railsdav 0.0.5 → 0.0.6

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
@@ -175,7 +175,8 @@ is_webdav_request? checks whether an Incoming request is issued by a WebDAV clie
175
175
 
176
176
  ## Changelog
177
177
 
178
- * 0.0.5: Rails 3.1.x compatibility, add encoding hints, fix ResourceDescriptor load error
178
+ * 0.0.6: Fix update_all for Rails 3.2
179
+ * 0.0.5: Rails 3.2.x compatibility, add encoding hints, fix ResourceDescriptor load error
179
180
  * 0.0.4: Basic support for allprop in PROPFIND
180
181
  * 0.0.3: Change the API within the responder block to a more concise one
181
182
  * 0.0.2: More or less a complete rewrite: Use more sensible API, modularize the renderer code, get rid of controller monkey patching
@@ -50,21 +50,29 @@ class ActionDispatch::Routing::Mapper
50
50
  end
51
51
 
52
52
  module Resources
53
- CANONICAL_ACTIONS << :update_all
53
+ CANONICAL_ACTIONS << 'update_all'
54
54
 
55
55
  class WebDAVResource < Resource
56
56
  DEFAULT_ACTIONS = [:index, :create, :new, :show, :update, :destroy, :edit, :update_all]
57
+
58
+ def default_actions
59
+ DEFAULT_ACTIONS
60
+ end
57
61
  end
58
62
 
59
63
  class WebDAVSingletonResource < SingletonResource
60
64
  DEFAULT_ACTIONS = [:show, :create, :update, :destroy, :new, :edit]
65
+
66
+ def default_actions
67
+ DEFAULT_ACTIONS
68
+ end
61
69
  end
62
70
 
63
71
  def resource_scope?
64
72
  [:webdav_resource, :webdav_resources, :resource, :resources].include?(@scope[:scope_level])
65
73
  end
66
74
 
67
- if Rails.version <= '3.1.0'
75
+ if Rails.version < '3.2'
68
76
  # Rails versions after 3.1 expect two arguments here, the first being :resource, :resources,
69
77
  # :webdav_resource etc.so we don't need the inferring logic anymore in newer versions.
70
78
  def resource_scope(resource)
@@ -87,7 +95,7 @@ class ActionDispatch::Routing::Mapper
87
95
  end
88
96
 
89
97
  def dav_options_response(*allowed_http_verbs)
90
- lambda { [200, {'Allow' => allowed_http_verbs.flatten.map{|s| s.to_s.upcase}.join(' '), 'DAV' => '1'}, ''] }
98
+ proc { [200, {'Allow' => allowed_http_verbs.flatten.map{|s| s.to_s.upcase}.join(' '), 'DAV' => '1'}, ['']] }
91
99
  end
92
100
 
93
101
  def dav_match(*args)
@@ -96,13 +104,13 @@ class ActionDispatch::Routing::Mapper
96
104
  end
97
105
 
98
106
  def webdav_resource(*resources, &block)
99
- options = resources.extract_options!
107
+ options = resources.extract_options!.dup
100
108
 
101
109
  if apply_common_behavior_for(:webdav_resource, resources, options, &block)
102
110
  return self
103
111
  end
104
112
 
105
- sub_block = lambda do
113
+ sub_block = proc do
106
114
  yield if block_given?
107
115
 
108
116
  if parent_resource.actions.include?(:create)
@@ -127,7 +135,7 @@ class ActionDispatch::Routing::Mapper
127
135
  end
128
136
  end
129
137
 
130
- if Rails.version <= '3.1'
138
+ if Rails.version < '3.2'
131
139
  resource_scope(WebDAVSingletonResource.new(resources.pop, options), &sub_block)
132
140
  else
133
141
  resource_scope(:webdav_resource, WebDAVSingletonResource.new(resources.pop, options), &sub_block)
@@ -143,7 +151,7 @@ class ActionDispatch::Routing::Mapper
143
151
  return self
144
152
  end
145
153
 
146
- sub_block = lambda do
154
+ sub_block = proc do
147
155
  yield if block_given?
148
156
 
149
157
  opts = []
@@ -161,6 +169,8 @@ class ActionDispatch::Routing::Mapper
161
169
  if parent_resource.actions.include?(:update_all)
162
170
  put :index, :action => :update_all
163
171
  opts << :put
172
+ else
173
+ puts "parent_resource #{parent_resource.inspect} does not include update_all: #{parent_resource.actions}"
164
174
  end
165
175
  dav_options :index, :to => dav_options_response(opts)
166
176
  end
@@ -200,7 +210,7 @@ class ActionDispatch::Routing::Mapper
200
210
  end
201
211
  end
202
212
 
203
- if Rails.version <= '3.1'
213
+ if Rails.version < '3.2'
204
214
  resource_scope(WebDAVResource.new(resources.pop, options), &sub_block)
205
215
  else
206
216
  resource_scope(:webdav_resources, WebDAVResource.new(resources.pop, options), &sub_block)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: railsdav
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-18 00:00:00.000000000 Z
12
+ date: 2013-06-24 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Provides basic Rails 3/Rails 4 extensions for making your business resources
15
15
  accessible via WebDAV. This gem does by no means by no means implement the full