sharepoint-ruby 0.1.2 → 0.2.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 06a548cde4c7aede93cbc0f46fd90e5343faff5f64e4d18bb877cf4ce4bdbf7e
4
- data.tar.gz: 5b34f39ca74c0583f3dc5d509639f1dbe73972477aa2a259e6a741b7a0cbd649
3
+ metadata.gz: b395db257ebda33c64b88dbd20a458d93029e062346e9761dbeb1c5783e60ae8
4
+ data.tar.gz: be1fde7c525cc0b28905bd40d98914528142d3ef4a14e345e73cc376aff0d224
5
5
  SHA512:
6
- metadata.gz: '0708c3ab5cf9238fd35617ebf07d634ef7ad0c766efec37f47ed4050938fc4aaecddc793b1a9ff4ce5e2ccc32cc0c829e650ad87ecf73abe3b5b1b6e4c857446'
7
- data.tar.gz: ef28ea0e00baee2d803a30a36fedbb8b48e03e637972033e002db56fd401f8af33214bc30fb525275f41cb0503e8e3f5833e06bb6bef3cf46df21c94b7dcfdfb
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', 'sites/blog'
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 ressources
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
@@ -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('#{URI::encode(name.to_s)}')"
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='#{URI::encode(name.to_s)}')"
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
 
@@ -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
- url += "$#{key}=#{URI::encode value.to_s}"
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.encode name}')"
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.encode name}')"
236
+ @site.query :post, "#{__metadata['uri']}/removeviewfield('#{URI::Parser.new.escape name}')"
233
237
  end
234
238
  end
235
239
  end
@@ -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.encode value.gsub("'", %q(\\\')))}'"
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.encode id}')"
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.encode name}')"
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?
@@ -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
- @url = "#{@server_url}/#{@name}"
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.2
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: 2021-01-03 00:00:00.000000000 Z
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.10
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.10
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
- - BSD
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
- rubyforge_project:
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