sharepoint-ruby 0.1.2 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/sharepoint-files.rb +2 -2
- data/lib/sharepoint-lists.rb +7 -3
- data/lib/sharepoint-object.rb +3 -3
- data/lib/sharepoint-ruby.rb +4 -3
- metadata +6 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b395db257ebda33c64b88dbd20a458d93029e062346e9761dbeb1c5783e60ae8
|
4
|
+
data.tar.gz: be1fde7c525cc0b28905bd40d98914528142d3ef4a14e345e73cc376aff0d224
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb0514576fad6f8727632ff7adc2170f635f43420bd54122cb88040309730096b1325d359c9e49736cd254096c996b450e937f7ff650ff49f29fdbcda8fa033f
|
7
|
+
data.tar.gz: ffb84d515c7163fffb3fd70869175197d484f381d59dac264486e98b35cadc21821e420bdcb526b48bceff6efe71f9ddbb8e3253508b00812d363553aadfb623
|
data/README.md
CHANGED
@@ -12,7 +12,7 @@ require 'sharepoint-ruby'
|
|
12
12
|
site = Sharepoint::Site.new 'mysite.sharepoint.com', 'server-relative-site-url'
|
13
13
|
site.session.authenticate 'mylogin', 'mypassword'
|
14
14
|
|
15
|
-
blog = Sharepoint::Site.new 'mytenant.sharepoint.com', '
|
15
|
+
blog = Sharepoint::Site.new 'mytenant.sharepoint.com', 'blog', prefix: "sites"
|
16
16
|
blog.session.authenticate 'user', 'pwd'
|
17
17
|
lists = blog.lists
|
18
18
|
for l in lists
|
@@ -98,7 +98,7 @@ The `copy` method can duplicate an existing object. If you send it a Sharepoint:
|
|
98
98
|
Some of the properties of the OData object are 'deferred', which means that the property only provides a link to a ressource that you would have to get for yourself.
|
99
99
|
Not with the sharepoint-ruby gem however: the first time you try to access a deferred property, the object will on it's own go look for the corresponding remote ressource: the result will be stored for later uses, and then be returned to you.
|
100
100
|
|
101
|
-
### Modifying Sharepoint's
|
101
|
+
### Modifying Sharepoint's resources
|
102
102
|
The Sharepoint REST API provides us with methods to create, update or delete resources. In the Sharepoint::Object, these behaviours are implemented through the save and delete methods.
|
103
103
|
|
104
104
|
##### Updating objects
|
data/lib/sharepoint-files.rb
CHANGED
@@ -13,11 +13,11 @@ module Sharepoint
|
|
13
13
|
method :recycle
|
14
14
|
|
15
15
|
def file_from_name name
|
16
|
-
@site.query :get, "#{__metadata['uri']}/files/getbyurl('#{
|
16
|
+
@site.query :get, "#{__metadata['uri']}/files/getbyurl('#{CGI.escape(name.to_s)}')"
|
17
17
|
end
|
18
18
|
|
19
19
|
def add_file name, content
|
20
|
-
uri = "#{__metadata['uri']}/files/add(overwrite=true,url='#{
|
20
|
+
uri = "#{__metadata['uri']}/files/add(overwrite=true,url='#{CGI.escape(name.to_s)}')"
|
21
21
|
@site.query :post, uri, content
|
22
22
|
end
|
23
23
|
|
data/lib/sharepoint-lists.rb
CHANGED
@@ -157,7 +157,11 @@ module Sharepoint
|
|
157
157
|
has_options = false
|
158
158
|
options.each do |key,value|
|
159
159
|
url += if has_options then '&' else '?' end
|
160
|
-
|
160
|
+
<<<<<<< Updated upstream
|
161
|
+
url += "$#{key}=#{CGI.escape value.to_s}"
|
162
|
+
=======
|
163
|
+
url += "$#{key}=#{CGI::escape value.to_s}"
|
164
|
+
>>>>>>> Stashed changes
|
161
165
|
has_options = true
|
162
166
|
end
|
163
167
|
url
|
@@ -214,7 +218,7 @@ module Sharepoint
|
|
214
218
|
belongs_to :view
|
215
219
|
|
216
220
|
def add_view_field name
|
217
|
-
@site.query :post, "#{__metadata['uri']}/addviewfield('#{URI.
|
221
|
+
@site.query :post, "#{__metadata['uri']}/addviewfield('#{URI::Parser.new.escape name}')"
|
218
222
|
end
|
219
223
|
|
220
224
|
def move_view_field_to name, index
|
@@ -229,7 +233,7 @@ module Sharepoint
|
|
229
233
|
end
|
230
234
|
|
231
235
|
def remove_view_field name
|
232
|
-
@site.query :post, "#{__metadata['uri']}/removeviewfield('#{URI.
|
236
|
+
@site.query :post, "#{__metadata['uri']}/removeviewfield('#{URI::Parser.new.escape name}')"
|
233
237
|
end
|
234
238
|
end
|
235
239
|
end
|
data/lib/sharepoint-object.rb
CHANGED
@@ -44,7 +44,7 @@ module Sharepoint
|
|
44
44
|
action += ',' unless params.keys.first == key
|
45
45
|
action += key + '='
|
46
46
|
action += (if (value.class < String) or (value.class < Symbol)
|
47
|
-
"'#{(URI.
|
47
|
+
"'#{(URI::Parser.new.escape value.gsub("'", %q(\\\')))}'"
|
48
48
|
else
|
49
49
|
value
|
50
50
|
end)
|
@@ -70,7 +70,7 @@ module Sharepoint
|
|
70
70
|
if id =~ /^[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}$/
|
71
71
|
self.query :get, "#{options[:getter]}(guid'#{id}')"
|
72
72
|
else
|
73
|
-
self.query :get, "#{options[:get_from_name]}('#{URI.
|
73
|
+
self.query :get, "#{options[:get_from_name]}('#{URI::Parser.new.escape id}')"
|
74
74
|
end
|
75
75
|
end
|
76
76
|
end
|
@@ -83,7 +83,7 @@ module Sharepoint
|
|
83
83
|
resource.site.query :get, "#{resource.__metadata['uri']}/#{method_name}"
|
84
84
|
end
|
85
85
|
define_singleton_method "get_from_#{resource_name}" do |resource, name|
|
86
|
-
resource.site.query :get, "#{resource.__metadata['uri']}/#{method_name}('#{URI.
|
86
|
+
resource.site.query :get, "#{resource.__metadata['uri']}/#{method_name}('#{URI::Parser.new.escape name}')"
|
87
87
|
end
|
88
88
|
define_method "create_uri" do
|
89
89
|
unless self.parent.nil?
|
data/lib/sharepoint-ruby.rb
CHANGED
@@ -13,10 +13,11 @@ module Sharepoint
|
|
13
13
|
attr_accessor :name
|
14
14
|
attr_accessor :verbose
|
15
15
|
|
16
|
-
def initialize server_url, site_name
|
16
|
+
def initialize server_url, site_name, prefix: "sites"
|
17
17
|
@server_url = server_url
|
18
18
|
@name = site_name
|
19
|
-
|
19
|
+
uri_prefix = unless prefix.empty? then prefix + '/' else '' end
|
20
|
+
@url = "#{@server_url}/#{uri_prefix}#{@name}"
|
20
21
|
@session = Session.new self
|
21
22
|
@web_context = nil
|
22
23
|
@protocol = 'https'
|
@@ -61,7 +62,7 @@ module Sharepoint
|
|
61
62
|
if method != :get
|
62
63
|
curl.headers["Content-Type"] = curl.headers["Accept"]
|
63
64
|
curl.headers["X-RequestDigest"] = form_digest unless @getting_form_digest == true
|
64
|
-
curl.headers["Authorization"] = "Bearer " + form_digest unless @getting_form_digest == true
|
65
|
+
curl.headers["Authorization"] = "Bearer " + form_digest unless @getting_form_digest == true
|
65
66
|
end
|
66
67
|
curl.verbose = @verbose
|
67
68
|
@session.send :curl, curl unless not @session.methods.include? :curl
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sharepoint-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Martin Moro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-03-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curb
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '0.8'
|
20
20
|
- - "<="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.9.
|
22
|
+
version: 0.9.11
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '0.8'
|
30
30
|
- - "<="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0.9.
|
32
|
+
version: 0.9.11
|
33
33
|
description: Client for Sharepoint's REST API
|
34
34
|
email: michael@unetresgrossebite.com
|
35
35
|
executables: []
|
@@ -54,7 +54,7 @@ files:
|
|
54
54
|
- lib/soap/authenticate.xml.erb
|
55
55
|
homepage: https://github.com/Plaristote/sharepoint-ruby
|
56
56
|
licenses:
|
57
|
-
-
|
57
|
+
- 0BSD
|
58
58
|
metadata: {}
|
59
59
|
post_install_message:
|
60
60
|
rdoc_options: []
|
@@ -71,8 +71,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: '0'
|
73
73
|
requirements: []
|
74
|
-
|
75
|
-
rubygems_version: 2.7.9
|
74
|
+
rubygems_version: 3.0.9
|
76
75
|
signing_key:
|
77
76
|
specification_version: 4
|
78
77
|
summary: sharepoint client
|