sharepoint_api 1.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f8c46ee759a2cb1b84211e88137406512de21a48a4a759d109097c54273259f
4
- data.tar.gz: 444dbfaee8eff930e0a030ad5cb5450cedc71268eb0ff05ab346af8297c032c9
3
+ metadata.gz: a6e03f01804cbcdcbe4ab35aa6073790f1a57b1500438930c3b48107a4745416
4
+ data.tar.gz: 7e38e7750fc347cbf61f6fa51bd543cb7614151c718b81d2c48f4953a2f5dae2
5
5
  SHA512:
6
- metadata.gz: e1f6ff11efc7b37027928325908e1b05cb5318d1ff4f84fb0a0a10b2253544e54606c7c7043ea1d40257469443412dddebb268629a9cd118331fa4453702b5cb
7
- data.tar.gz: 9f7b3f87f4eaeaf4271a4266ae5f4a054805a5967c471bffde71ca10649e099ce917db9c1aede8e3d8e8dd099ce091f510149ef110a0df3276cf1189bb505b55
6
+ metadata.gz: 8c2a532ddd27e3e66d6bc43631e8598a4c868b5dca7f0ff5a4041ebf8d742853da41dc100b1586e37c78d2d6313d48e993ee1a391cd063772d798703796b1398
7
+ data.tar.gz: dccd4a1f20f644860ecc8a23112987ceaba68474cfbbc7d389dea5a71631e9d4a06ae73a2ade777f1596d9744aa7e0e3931e3c007cd66f6f64245dba710f20aa
data/.pryrc ADDED
@@ -0,0 +1,46 @@
1
+ #!/usr/env/bin ruby
2
+
3
+ # user = `echo "$USER"`.strip
4
+ class ProgrammerError < StandardError; end
5
+
6
+ if defined?(Pry)
7
+ Pry.config.editor = 'vim'
8
+
9
+ # Hit enter to repeat the last command.
10
+ Pry::Commands.command(/^$/, 'Repeat last command.') do
11
+ pry_instance.run_command Pry.history.to_a.last
12
+ end
13
+
14
+ Pry::Commands.command('args', 'Display local variables.') do
15
+ pry_instance.run_command 'ls -l'
16
+ end
17
+
18
+ Pry.commands.alias_command 'ss', 'show-source'
19
+ Pry.commands.alias_command 'q', 'quit'
20
+ Pry.commands.alias_command 'w', 'whereami'
21
+ Pry.commands.alias_command 'r', 'reload-code'
22
+ Pry.commands.alias_command 'ed', 'edit'
23
+ Pry.commands.alias_command 'ec', 'edit -c' # open current file in editor
24
+ end
25
+
26
+ if defined?(PryByebug)
27
+ Pry.commands.alias_command 'b', 'backtrace'
28
+ Pry.commands.alias_command 'c', 'continue'
29
+ Pry.commands.alias_command 'n', 'next'
30
+ Pry.commands.alias_command 's', 'step'
31
+ end
32
+
33
+ class String
34
+ def gitize
35
+ gsub(/\W+$/, ''). # kill trailing whitespace
36
+ gsub(/\W+/, '-'). # replace whitespace with -
37
+ gsub(/([A-Z])/, '-\1'). # prepend dash to capitals
38
+ gsub(/^-/, ''). # strip leading dash
39
+ gsub(/-+/, '-'). # compress multiple dashes to a single dash
40
+ downcase
41
+ end
42
+
43
+ def prize
44
+ gsub(/\W+$/, '').gsub(/\W+/, ' ').gsub(/\b(?<!['’`])[a-z]/, &:capitalize)
45
+ end
46
+ end
data/CHANGELOG.md CHANGED
@@ -1,2 +1,18 @@
1
+ ## [2.1.0] - 2021-07-06
2
+ * Drop feature of add_file creating a folder if one didn't exist as it introduced a security issue where a folder could be created that didn't have access restricted to routing participants.
3
+
4
+ ## [2.0.0] - 2021-06-28
5
+ * Update proof-sharepoint-ruby to escape apostrophes.
6
+ * Change usage of apostrophe escaping.
7
+
8
+ ## [1.0.3] - 2021-01-12
9
+ * Handle edge case where FileInfo file#modified_by refers to a user that no longer exists.
10
+
11
+ ## [1.0.2] - 2021-01-04
12
+ * Handle edge case where FileInfo file/file version refers to a user that no longer exists.
13
+
14
+ ## [1.0.1] - 2020-12-14
15
+ * Added new method called fetch_role_assignments => allows a user to get all the current role assignments on a SharePoint folder
16
+
1
17
  ## [1.0.0] - 2020-12-07
2
18
  * Initial Release
data/Gemfile CHANGED
@@ -5,9 +5,14 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
5
5
  # Specify your gem's dependencies in sharepoint_api.gemspec
6
6
  gemspec
7
7
 
8
- gem 'faker'
8
+ gem 'faker', '~> 2.15'
9
+ gem 'guard', '~> 2.16'
10
+ gem 'guard-rspec', '~> 4.7'
11
+ gem 'pry', '~> 0.13.1'
12
+ gem 'pry-byebug', '~> 3.9'
13
+ gem 'pry-rescue', '~> 1.5'
9
14
  gem 'rake', '~> 13.0'
10
15
  gem 'rspec', '~> 3.6'
11
- gem 'rspec-collection_matchers'
16
+ gem 'rspec-collection_matchers', '~> 1.2'
12
17
  gem 'rubocop', '~> 1.5'
13
18
  gem 'rubocop-rspec', '~> 2.0'
data/Gemfile.lock CHANGED
@@ -1,31 +1,71 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- SharepointApi (0.1.0)
4
+ sharepoint_api (2.1.0)
5
5
  addressable (~> 2.7)
6
- proof-sharepoint-ruby (~> 1.0)
6
+ proof-sharepoint-ruby (~> 2.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- addressable (2.7.0)
11
+ addressable (2.8.0)
12
12
  public_suffix (>= 2.0.2, < 5.0)
13
13
  ast (2.4.1)
14
+ byebug (11.1.3)
15
+ coderay (1.1.3)
14
16
  concurrent-ruby (1.1.7)
15
17
  curb (0.9.10)
16
18
  diff-lcs (1.4.4)
17
19
  faker (2.15.1)
18
20
  i18n (>= 1.6, < 2)
21
+ ffi (1.14.2)
22
+ formatador (0.2.5)
23
+ guard (2.16.2)
24
+ formatador (>= 0.2.4)
25
+ listen (>= 2.7, < 4.0)
26
+ lumberjack (>= 1.0.12, < 2.0)
27
+ nenv (~> 0.1)
28
+ notiffany (~> 0.0)
29
+ pry (>= 0.9.12)
30
+ shellany (~> 0.0)
31
+ thor (>= 0.18.1)
32
+ guard-compat (1.2.1)
33
+ guard-rspec (4.7.3)
34
+ guard (~> 2.1)
35
+ guard-compat (~> 1.1)
36
+ rspec (>= 2.99.0, < 4.0)
19
37
  i18n (1.8.5)
20
38
  concurrent-ruby (~> 1.0)
39
+ interception (0.5)
40
+ listen (3.4.0)
41
+ rb-fsevent (~> 0.10, >= 0.10.3)
42
+ rb-inotify (~> 0.9, >= 0.9.10)
43
+ lumberjack (1.2.8)
44
+ method_source (1.0.0)
45
+ nenv (0.3.0)
46
+ notiffany (0.1.3)
47
+ nenv (~> 0.1)
48
+ shellany (~> 0.0)
21
49
  parallel (1.20.1)
22
50
  parser (2.7.2.0)
23
51
  ast (~> 2.4.1)
24
- proof-sharepoint-ruby (1.0.0)
52
+ proof-sharepoint-ruby (2.0.0)
25
53
  curb (~> 0.8, <= 0.9.10)
54
+ pry (0.13.1)
55
+ coderay (~> 1.1)
56
+ method_source (~> 1.0)
57
+ pry-byebug (3.9.0)
58
+ byebug (~> 11.0)
59
+ pry (~> 0.13.0)
60
+ pry-rescue (1.5.2)
61
+ interception (>= 0.5)
62
+ pry (>= 0.12.0)
26
63
  public_suffix (4.0.6)
27
64
  rainbow (3.0.0)
28
65
  rake (13.0.1)
66
+ rb-fsevent (0.10.4)
67
+ rb-inotify (0.10.1)
68
+ ffi (~> 1.0)
29
69
  regexp_parser (2.0.0)
30
70
  rexml (3.2.4)
31
71
  rspec (3.10.0)
@@ -58,19 +98,26 @@ GEM
58
98
  rubocop (~> 1.0)
59
99
  rubocop-ast (>= 1.1.0)
60
100
  ruby-progressbar (1.10.1)
101
+ shellany (0.0.1)
102
+ thor (1.0.1)
61
103
  unicode-display_width (1.7.0)
62
104
 
63
105
  PLATFORMS
64
106
  ruby
65
107
 
66
108
  DEPENDENCIES
67
- SharepointApi!
68
- faker
109
+ faker (~> 2.15)
110
+ guard (~> 2.16)
111
+ guard-rspec (~> 4.7)
112
+ pry (~> 0.13.1)
113
+ pry-byebug (~> 3.9)
114
+ pry-rescue (~> 1.5)
69
115
  rake (~> 13.0)
70
116
  rspec (~> 3.6)
71
- rspec-collection_matchers
117
+ rspec-collection_matchers (~> 1.2)
72
118
  rubocop (~> 1.5)
73
119
  rubocop-rspec (~> 2.0)
120
+ sharepoint_api!
74
121
 
75
122
  BUNDLED WITH
76
- 1.17.2
123
+ 2.2.4
data/Guardfile ADDED
@@ -0,0 +1,42 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ ## Uncomment and set this to only include directories you want to watch
5
+ # directories %w(app lib config test spec features) \
6
+ # .select{|d| Dir.exist?(d) ? d : UI.warning("Directory #{d} does not exist")}
7
+
8
+ ## Note: if you are using the `directories` clause above and you are not
9
+ ## watching the project directory ('.'), then you will want to move
10
+ ## the Guardfile to a watched dir and symlink it back, e.g.
11
+ #
12
+ # $ mkdir config
13
+ # $ mv Guardfile config/
14
+ # $ ln -s config/Guardfile .
15
+ #
16
+ # and, you'll have to watch "config/Guardfile" instead of "Guardfile"
17
+
18
+ # Note: The cmd option is now required due to the increasing number of ways
19
+ # rspec may be run, below are examples of the most common uses.
20
+ # * bundler: 'bundle exec rspec'
21
+ # * bundler binstubs: 'bin/rspec'
22
+ # * spring: 'bin/rspec' (This will use spring if running and you have
23
+ # installed the spring binstubs per the docs)
24
+ # * zeus: 'zeus rspec' (requires the server to be started separately)
25
+ # * 'just' rspec: 'rspec'
26
+
27
+ guard :rspec, cmd: 'echo -e "\033c"; bundle exec rspec' do
28
+ require 'guard/rspec/dsl'
29
+ dsl = Guard::RSpec::Dsl.new(self)
30
+
31
+ # Feel free to open issues for suggestions and improvements
32
+
33
+ # RSpec files
34
+ rspec = dsl.rspec
35
+ watch(rspec.spec_helper) { rspec.spec_dir }
36
+ watch(rspec.spec_support) { rspec.spec_dir }
37
+ watch(rspec.spec_files)
38
+
39
+ # Ruby files
40
+ ruby = dsl.ruby
41
+ dsl.watch_spec_files_for(ruby.lib_files)
42
+ end
data/README.md CHANGED
@@ -22,7 +22,23 @@ Or install it yourself as:
22
22
 
23
23
  ## Usage
24
24
 
25
- TODO: Write usage instructions here
25
+ With the appropriate environmental variables set run this in a ruby console.
26
+ Run `bin/console` (after running `bundle install`) to get a pre-loaded ruby console.
27
+
28
+ ```ruby
29
+ load 'lib/sharepoint_api.rb'
30
+
31
+ api = SharepointApi.new(
32
+ host: ENV['SHAREPOINT_HOST'],
33
+ site_name: ENV['SHAREPOINT_SITE'],
34
+ library_name: ENV['SHAREPOINT_LIBRARY_NAME'],
35
+ username: ENV['SHAREPOINT_USERNAME'],
36
+ password: ENV['SHAREPOINT_PASSWORD'],
37
+ ntlm: true # for SharePoint 2013, false otherwise
38
+ )
39
+
40
+ api.fetch_content_types # or whatever method you want to test.
41
+ ```
26
42
 
27
43
  ## Development
28
44
 
@@ -30,11 +46,20 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
30
46
 
31
47
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
48
 
49
+ > NOTE: run `bundle install` and commit the changes to the Gemfile.lock before deploying a new version.
50
+
51
+ ## Testing
52
+
53
+ Start the test suite watcher:
54
+ `bundle exec guard`
55
+
56
+ Run the tests for just one file just enter the filename in the Guard console.
57
+ `spec/sharepoint_api/items_spec.rb`
58
+
33
59
  ## Contributing
34
60
 
35
61
  Bug reports and pull requests are welcome on GitHub at https://github.com/anlek/sharepoint_api. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/anlek/sharepoint_api/blob/master/CODE_OF_CONDUCT.md).
36
62
 
37
-
38
63
  ## License
39
64
 
40
65
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/bin/console CHANGED
@@ -7,8 +7,8 @@ require "sharepoint_api"
7
7
  # with your gem easier. You can also use a different console, if you like.
8
8
 
9
9
  # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
10
+ require "pry"
11
+ Pry.start
12
12
 
13
- require "irb"
14
- IRB.start(__FILE__)
13
+ # require "irb"
14
+ # IRB.start(__FILE__)
@@ -0,0 +1,38 @@
1
+ [XXXXX](https://proof-tech.atlassian.net/browse/XXXXX)
2
+
3
+ ### Overview
4
+
5
+ Please include a summary of the changes in this pull request.
6
+ List any dependencies that are required before this change is applied.
7
+
8
+ ### Solution
9
+
10
+ How did you solve the problem?
11
+ Call out any particular implementation choices or design decisions you made
12
+
13
+ ### Screenshots
14
+
15
+ [insert screenshots here]
16
+
17
+ ### Testing Instructions
18
+
19
+ Describe, for your colleagues, how they can test your code locally on their system
20
+
21
+ ### Pre-Merge Checklist
22
+
23
+ - [ ] I have updated the version and changelog in a different PR than bug fixes and features.
24
+ - [ ] The work here reflects the user stories in the JIRA ticket(s) listed at the top of this pull request
25
+ - [ ] This pull request has been referenced via URL in the JIRA ticket(s) listed
26
+ - [ ] I have performed a self-review of the code I have written here
27
+ - [ ] I have done end-to-end QA testing of sections of the code I have altered
28
+ - [ ] My changes generate no new warnings / errors in the console
29
+ - [ ] I have written/updated Ruby tests for the areas of the code base that I have modified
30
+ - [ ] I am prepared for this code to go to production today (or there is a WIP label on the pull request)
31
+ - [ ] I am prepared to write hotfixes or rollback my code if something goes wrong
32
+
33
+ ### Gem Deployment Instructions
34
+
35
+ 1. `bundle exec rake install`
36
+ 2. `bundle exec rake release`
37
+
38
+ Reminder that deploy instructions are in the [here](https://github.com/proofgov/sharepoint_api#development).
@@ -62,11 +62,11 @@ class SharepointApi
62
62
  @site = build_connection
63
63
  end
64
64
 
65
- def site_relative_path(path, preview: false)
65
+ def site_relative_path(path, safe_quote: true)
66
66
  file_path = [
67
67
  library_name, path
68
- ].reject{ |p| p.nil? || p == '' }.join('/')
69
- encode_path(file_path, preview: preview)
68
+ ].reject { |p| p.nil? || p == '' }.join('/')
69
+ encode_path(file_path, safe_quote: safe_quote)
70
70
  end
71
71
 
72
72
  def server_relative_path(path)
@@ -81,9 +81,9 @@ class SharepointApi
81
81
  "#{protocol}://#{host}/#{site_path}"
82
82
  end
83
83
 
84
- def encode_path(path, preview: false)
84
+ def encode_path(path, safe_quote: true)
85
85
  path = Addressable::URI.encode(path)
86
- path.gsub!(/'/, '%27%27') unless preview
86
+ path.gsub!(/'/, '%27%27') if safe_quote
87
87
  path.gsub!('+', '%2B')
88
88
  path
89
89
  end
@@ -1,5 +1,9 @@
1
+ require_relative 'sharepoint_error'
2
+
1
3
  class SharepointApi
2
4
  class FileInfo
5
+ class FileInfoError < SharepointError; end
6
+
3
7
  extend Forwardable
4
8
  attr_reader :version, :version_id, :file, :updated_at
5
9
 
@@ -31,7 +35,7 @@ class SharepointApi
31
35
  version_id,
32
36
  created_at: updated_at,
33
37
  current: true,
34
- creator_login: file.modified_by.login_name
38
+ creator_login: safe_modified_by(file)&.login_name
35
39
  )
36
40
 
37
41
  return @all_versions unless version > 1
@@ -41,7 +45,7 @@ class SharepointApi
41
45
  file_version.id,
42
46
  created_at: Time.parse(file_version.created),
43
47
  current: file_version.is_current_version,
44
- creator_login: file_version.creator.login_name
48
+ creator_login: file_version.creator&.login_name
45
49
  )
46
50
  end
47
51
 
@@ -63,5 +67,13 @@ class SharepointApi
63
67
  **attrs
64
68
  )
65
69
  end
70
+
71
+ def safe_modified_by(file)
72
+ file.modified_by
73
+ rescue Sharepoint::SPException => e
74
+ return nil if e.message =~ /User cannot be found/
75
+
76
+ raise(FileInfoError, e.message)
77
+ end
66
78
  end
67
79
  end
@@ -9,26 +9,19 @@ class SharepointApi
9
9
  def add_file(path, content)
10
10
  folder_path = File.dirname(path)
11
11
  file_name = encode_path(File.basename(path))
12
- begin
13
- retries ||= 0
14
- FileInfo.wrap(
15
- site.query(
16
- :post,
17
- "GetFolderByServerRelativeUrl('#{site_relative_path(folder_path)}')/Files" \
18
- "/Add(overwrite=true,url='#{file_name}')",
19
- content
20
- )
12
+ FileInfo.wrap(
13
+ site.query(
14
+ :post,
15
+ "GetFolderByServerRelativeUrl('#{site_relative_path(folder_path)}')/Files" \
16
+ "/Add(overwrite=true,url='#{file_name}')",
17
+ content
21
18
  )
22
- rescue Sharepoint::SPException => e
23
- reraise_if_lock_error(e)
24
-
25
- log_as(__method__, e)
26
- log_as(__method__, "adding folder with path #{folder_path}")
27
- add_folder(folder_path)
28
- retry if (retries += 1) < 2
29
- log_as(__method__, e, level: :warn)
30
- nil
31
- end
19
+ )
20
+ rescue Sharepoint::SPException => e
21
+ reraise_if_lock_error(e)
22
+
23
+ log_as(__method__, e)
24
+ nil
32
25
  end
33
26
 
34
27
  def file_exists?(path)
@@ -29,8 +29,8 @@ class SharepointApi
29
29
  "Lists/GetByTitle('#{encoded_name}')/ContentTypes?" \
30
30
  '$select=Name,StringId'
31
31
  )
32
- response.map { |type| type.data.except('__metadata') }
33
- rescue Sharepoint::SPException => e
32
+ response.map { |content_type| reject_metadata(content_type.data) }
33
+ rescue Sharepoint::SharepointError => e
34
34
  log_as(__method__, e)
35
35
 
36
36
  nil
@@ -67,5 +67,9 @@ class SharepointApi
67
67
  log_as(__method__, error, level: :warn)
68
68
  raise(LockError, error.message)
69
69
  end
70
+
71
+ def reject_metadata(data)
72
+ data.reject { |key| key == '__metadata' }
73
+ end
70
74
  end
71
75
  end
@@ -97,6 +97,36 @@ class SharepointApi
97
97
  false
98
98
  end
99
99
 
100
+ def fetch_role_assignments(path, principal_id: nil)
101
+ server_path = server_relative_path(path)
102
+ list_item_path = "GetFolderByServerRelativeUrl('#{server_path}')/ListItemAllFields"
103
+ query = '$expand=Member,RoleDefinitionBindings&$select=RoleDefinitionBindings/Name&$select=RoleDefinitionBindings/Id,PrincipalId,Member/LoginName'
104
+
105
+ unless principal_id.nil?
106
+ principal_filter = encode_path("PrincipalId eq #{principal_id}")
107
+ query += "&$filter=#{principal_filter}"
108
+ end
109
+
110
+ response = site.query(:get, "#{list_item_path}/RoleAssignments?#{query}")
111
+
112
+ formatted = response.map do |assignment|
113
+ data = assignment.data
114
+
115
+ current_roles = data['RoleDefinitionBindings']['results'].map { |rdb| { role_id: rdb['Id'], role_name: rdb['Name'] } }
116
+
117
+ {
118
+ login_name: data['Member']['LoginName'],
119
+ principal_id: data['PrincipalId'],
120
+ roles: current_roles
121
+ }
122
+ end
123
+
124
+ principal_id.nil? ? formatted : formatted.first
125
+ rescue Sharepoint::SPException => e
126
+ log_as(__method__, e)
127
+ false
128
+ end
129
+
100
130
  ##
101
131
  # Alternate version would be:
102
132
  # def add_role_assignment(library_guid:, list_item_id:, principal_id:, role_id:)
@@ -1,3 +1,3 @@
1
1
  class SharepointApi
2
- VERSION = '1.0.0'.freeze
2
+ VERSION = '2.1.0'.freeze
3
3
  end
@@ -3,8 +3,8 @@ require_relative 'lib/sharepoint_api/version'
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = 'sharepoint_api'
5
5
  spec.version = SharepointApi::VERSION
6
- spec.authors = ['Andrew Kalek', 'Marlen Brunner']
7
- spec.email = ['akalek@proofgov.com', 'mbrunner@proofgov.com']
6
+ spec.authors = ['Andrew Kalek', 'Marlen Brunner', 'Danella Olsen']
7
+ spec.email = ['akalek@proofgov.com', 'mbrunner@proofgov.com', 'dolsen@proofgov.com']
8
8
 
9
9
  spec.summary = 'SharepointApi allows you to interact with sharepoint in a simpler DSL.'
10
10
  spec.description = 'A tool to make it easier to talk to sharepoint (via the proof-sharepoint-ruby gem)'
@@ -16,16 +16,16 @@ Gem::Specification.new do |spec|
16
16
  spec.metadata['source_code_uri'] = 'https://github.com/proofgov/sharepoint_api'
17
17
  spec.metadata['changelog_uri'] = 'https://github.com/proofgov/sharepoint_api/blob/master/CHANGELOG.md'
18
18
 
19
- spec.add_runtime_dependency('proof-sharepoint-ruby', '~> 1.0')
20
19
  spec.add_runtime_dependency('addressable', '~> 2.7')
20
+ spec.add_runtime_dependency('proof-sharepoint-ruby', '~> 2.0')
21
21
 
22
22
  # Specify which files should be added to the gem when it is released.
23
23
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
24
24
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
25
25
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26
26
  end
27
- spec.bindir = 'exe'
28
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
+ spec.bindir = 'bin'
28
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
29
29
 
30
30
  spec.require_paths = ['lib']
31
31
  end
metadata CHANGED
@@ -1,65 +1,72 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sharepoint_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kalek
8
8
  - Marlen Brunner
9
+ - Danella Olsen
9
10
  autorequire:
10
- bindir: exe
11
+ bindir: bin
11
12
  cert_chain: []
12
- date: 2020-12-07 00:00:00.000000000 Z
13
+ date: 2021-07-07 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
- name: proof-sharepoint-ruby
16
+ name: addressable
16
17
  requirement: !ruby/object:Gem::Requirement
17
18
  requirements:
18
19
  - - "~>"
19
20
  - !ruby/object:Gem::Version
20
- version: '1.0'
21
+ version: '2.7'
21
22
  type: :runtime
22
23
  prerelease: false
23
24
  version_requirements: !ruby/object:Gem::Requirement
24
25
  requirements:
25
26
  - - "~>"
26
27
  - !ruby/object:Gem::Version
27
- version: '1.0'
28
+ version: '2.7'
28
29
  - !ruby/object:Gem::Dependency
29
- name: addressable
30
+ name: proof-sharepoint-ruby
30
31
  requirement: !ruby/object:Gem::Requirement
31
32
  requirements:
32
33
  - - "~>"
33
34
  - !ruby/object:Gem::Version
34
- version: '2.7'
35
+ version: '2.0'
35
36
  type: :runtime
36
37
  prerelease: false
37
38
  version_requirements: !ruby/object:Gem::Requirement
38
39
  requirements:
39
40
  - - "~>"
40
41
  - !ruby/object:Gem::Version
41
- version: '2.7'
42
+ version: '2.0'
42
43
  description: A tool to make it easier to talk to sharepoint (via the proof-sharepoint-ruby
43
44
  gem)
44
45
  email:
45
46
  - akalek@proofgov.com
46
47
  - mbrunner@proofgov.com
47
- executables: []
48
+ - dolsen@proofgov.com
49
+ executables:
50
+ - console
51
+ - setup
48
52
  extensions: []
49
53
  extra_rdoc_files: []
50
54
  files:
51
55
  - ".gitignore"
56
+ - ".pryrc"
52
57
  - ".rspec"
53
58
  - ".rubocop.yml"
54
59
  - CHANGELOG.md
55
60
  - CODE_OF_CONDUCT.md
56
61
  - Gemfile
57
62
  - Gemfile.lock
63
+ - Guardfile
58
64
  - LICENSE.txt
59
65
  - README.md
60
66
  - Rakefile
61
67
  - bin/console
62
68
  - bin/setup
69
+ - docs/pull_request_template.md
63
70
  - lib/sharepoint_api.rb
64
71
  - lib/sharepoint_api/file_info.rb
65
72
  - lib/sharepoint_api/file_system.rb
@@ -93,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
100
  - !ruby/object:Gem::Version
94
101
  version: '0'
95
102
  requirements: []
96
- rubygems_version: 3.1.4
103
+ rubygems_version: 3.2.4
97
104
  signing_key:
98
105
  specification_version: 4
99
106
  summary: SharepointApi allows you to interact with sharepoint in a simpler DSL.