mdata 1.4.3 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.markdown +1 -7
  3. data/VERSION +1 -0
  4. data/bin/mdata +88 -1
  5. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3e4574abfdff5f8662d3458f25a1b354adafc538
4
- data.tar.gz: 67beb6bd3f29040d3d38c56a198a4bccec5ab245
3
+ metadata.gz: d2c96e2f34af88520857c1428fac4b9bf96c4049
4
+ data.tar.gz: f8732d5359e0e063a29c575ff63691c9bb1b6100
5
5
  SHA512:
6
- metadata.gz: 1c3f72668a3ec61e547ee7b06c0d9309182a68ebcd684e6edb4c13803fccfea155c4b9c866ad33a6d92d977550a01785b5bc1690da0b0dbaeaf59a5346c99991
7
- data.tar.gz: e03d73ce5d12673aa8042c485dda3aa825aeed8382be1eb86e42a72ac3ff2356b1831584f03bbebb1efa0c471ce0929bb18f78d233bf8178283a8dca0df34b30
6
+ metadata.gz: 30f5a97c1bb3be5d780903068f34de0c49f8150ae8e32ce217a0df228ab75c08e0501138db5b8184db697e0c3a41ee75131c063bee6e79c30a02adf149ebfe12
7
+ data.tar.gz: 77999c4a15fd17e06a63aa61b2e5b2e6af18958b372e3957402f6fdc424feaad82ef78c27a0c89dc5275f17a25eed8c0b99274058bf5503c742ce30d64606bf4
data/README.markdown CHANGED
@@ -50,10 +50,4 @@ In this example, we will release version 0.0.0 of `mdata`. The version number sh
50
50
  0. Create an entry in `CHANGELOG.markdown` for v0.0.0 and list the newly added features, fixed bugs, deprecated commands, etc.
51
51
  0. Make sure any newly-created files have been added to `mdata.gemspec` (if necessary)
52
52
  0. Run `rake`. **DO NOT PROCEED IF THERE ARE ERRORS/FAILURES.**
53
- 0. Update the version to 0.0.0 in `bin/mdata`.
54
- 0. Update the version to 0.0.0 in `mdata.gemspec`.
55
- 0. `git add bin/mdata mdata.gemspec CHANGELOG.markdown`
56
- 0. `git commit -m "Bump version to 0.0.0"`
57
- 0. `git tag -s v0.0.0 -m "Release version 0.0.0 to RubyGems"`
58
- 0. `gem build mdata.gemspec`
59
- 0. `gem push mdata-0.0.0.gem`
53
+ 0. Run `./release.sh 0.0.0` to update the internal version info, push a signed release tag, and build and push the RubyGem
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.5.0
data/bin/mdata CHANGED
@@ -5,7 +5,7 @@ require 'commander/import'
5
5
  require 'mdata/metadata'
6
6
  require 'terminal-table'
7
7
 
8
- program :version, '1.4.3'
8
+ program :version, File.read(File.expand_path('../../VERSION', __FILE__))
9
9
  program :description, 'Your Salesforce metadata navigator and manipulator'
10
10
  program :help, 'Author', 'Ben Burwell <ben.burwell@trifecta.com>'
11
11
 
@@ -44,12 +44,14 @@ command :'profile fieldPermissions:read' do |c|
44
44
  c.syntax = 'mdata profile fieldPermission:read --profile PROFILE [options]'
45
45
  c.summary = 'See what permissions a particular profile is granted'
46
46
  c.option '--profile PROFILE', String, 'The profile to examine'
47
+ c.option '--object OBJECT', String, 'Optionally, the object to examine'
47
48
  c.option '--field FIELD', String, 'Optionally, a specific field to look for.'
48
49
  c.action do |args, opts|
49
50
  begin
50
51
  raise ArgumentError, 'no profile specified' if opts.profile.nil?
51
52
  profile = Salesforce::Metadata::Profile.read opts.profile, opts.dir
52
53
  profile.fieldPermissions.keep_if { |x| x.field == opts.field } unless opts.field.nil?
54
+ profile.fieldPermissions.keep_if { |x| x.field.split('.')[0] == opts.object } unless opts.object.nil?
53
55
  profile.fieldPermissions.sort! { |a, b| a.field <=> b.field }
54
56
  rows = []
55
57
  profile.fieldPermissions.each do |fp|
@@ -399,6 +401,47 @@ command :'profile classAccess:copy' do |c|
399
401
  end
400
402
  end
401
403
 
404
+ command :'profile tabVisibilities:read' do |c|
405
+ c.syntax = 'mdata profile tabVisibilities:read --profile PROFILE [options]'
406
+ c.summary = 'Read tab permissions from a profile'
407
+ c.option '--profile PROFILE', String, 'The profile to examine'
408
+ c.option '--tab TAB', String, 'Optionally, an tab to look for'
409
+ c.action do |args, opts|
410
+ begin
411
+ raise ArgumentError, 'no profile specified' if opts.profile.nil?
412
+ profile = Salesforce::Metadata::Profile.read opts.profile, opts.dir
413
+ profile.tabVisibilities.keep_if { |x| x.tab == opts.tab } unless opts.tab.nil?
414
+ profile.tabVisibilities.sort! { |a, b| a.tab <=> b.tab }
415
+ rows = []
416
+ profile.tabVisibilities.each do |fp|
417
+ rows << [ fp.tab, fp.visibility ]
418
+ end
419
+ table = Terminal::Table.new :rows => rows, :headings => ['Tab', 'Visibility']
420
+ puts table
421
+ rescue ArgumentError => e
422
+ puts "Error executing command: #{e.message}"
423
+ end
424
+ end
425
+ end
426
+
427
+ command :'profile tabVisibilities:delete' do |c|
428
+ c.syntax = 'mdata profile tabVisibilities:delete --profile PROFILE --tab OBJECT'
429
+ c.summary = 'Completely removes the visibility for a particular tab. Useful if a tab is deleted.'
430
+ c.option '--profile PROFILE', String, 'The profile to configure'
431
+ c.option '--tab OBJECT', String, 'The tab to delete visibility for'
432
+ c.action do |args, opts|
433
+ begin
434
+ raise ArgumentError, 'no profile specified' if opts.profile.nil?
435
+ raise ArgumentError, 'no tab specified' if opts.tab.nil?
436
+ profile = Salesforce::Metadata::Profile.read opts.profile, opts.dir
437
+ profile.tabVisibilities.delete_if { |x| x.tab == opts.tab }
438
+ profile.save
439
+ rescue ArgumentError => e
440
+ puts "Error executing command: #{e.message}"
441
+ end
442
+ end
443
+ end
444
+
402
445
  command :'profile objectPermissions:read' do |c|
403
446
  c.syntax = 'mdata profile objectPermissions:read --profile PROFILE [options]'
404
447
  c.summary = 'Read object permissions from a profile'
@@ -563,12 +606,14 @@ command :'profile objectPermissions:delete' do |c|
563
606
  c.summary = 'Completely removes the permissions for a particular object. Useful if an object is deleted.'
564
607
  c.option '--profile PROFILE', String, 'The profile to configure'
565
608
  c.option '--object OBJECT', String, 'The object to delete permissions for'
609
+ c.option '--cascade', String, 'If true, will cascade deletion to fields on the object as well'
566
610
  c.action do |args, opts|
567
611
  begin
568
612
  raise ArgumentError, 'no profile specified' if opts.profile.nil?
569
613
  raise ArgumentError, 'no object specified' if opts.object.nil?
570
614
  profile = Salesforce::Metadata::Profile.read opts.profile, opts.dir
571
615
  profile.objectPermissions.delete_if { |x| x.object == opts.object }
616
+ profile.fieldPermissions.delete_if { |x| x.field.split('.')[0] == opts.object } unless opts.cascade.nil?
572
617
  profile.save
573
618
  rescue ArgumentError => e
574
619
  puts "Error executing command: #{e.message}"
@@ -673,11 +718,13 @@ command :'permissionset fieldPermissions:read' do |c|
673
718
  c.summary = 'See what permissions a particular permissionset is granted'
674
719
  c.option '--permissionset PERMISSIONSET', String, 'The permissionset to examine'
675
720
  c.option '--field FIELD', String, 'Optionally, a specific field to look for.'
721
+ c.option '--object OBJECT', String, 'Optionally, an object to look for.'
676
722
  c.action do |args, opts|
677
723
  begin
678
724
  raise ArgumentError, 'no permissionset specified' if opts.permissionset.nil?
679
725
  permissionset = Salesforce::Metadata::PermissionSet.read opts.permissionset, opts.dir
680
726
  permissionset.fieldPermissions.keep_if { |x| x.field == opts.field } unless opts.field.nil?
727
+ permissionset.fieldPermissions.keep_if { |x| x.field.split('.')[0] == opts.object } unless opts.object.nil?
681
728
  permissionset.fieldPermissions.sort! { |a, b| a.field <=> b.field }
682
729
  rows = []
683
730
  permissionset.fieldPermissions.each do |fp|
@@ -693,6 +740,46 @@ command :'permissionset fieldPermissions:read' do |c|
693
740
  end
694
741
  end
695
742
 
743
+ # Permissionsets - Object Permissions - Delete
744
+ command :'permissionset objectPermissions:delete' do |c|
745
+ c.syntax = 'mdata permissionset objectPermissions:delete --permissionset PERMISSIONSET --object OBJECT'
746
+ c.summary = 'Completely removes the permissions for a particular object. Useful if an object is deleted.'
747
+ c.option '--permissionset PERMISSIONSET', String, 'The permissionset to configure'
748
+ c.option '--object OBJECT', String, 'The object to delete permissions for'
749
+ c.option '--cascade', String, 'If true, will cascade deletion to fields on the object as well'
750
+ c.action do |args, opts|
751
+ begin
752
+ raise ArgumentError, 'no permissionset specified' if opts.permissionset.nil?
753
+ raise ArgumentError, 'no object specified' if opts.object.nil?
754
+ permissionset = Salesforce::Metadata::PermissionSet.read opts.permissionset, opts.dir
755
+ permissionset.objectPermissions.delete_if { |x| x.object == opts.object }
756
+ permissionset.fieldPermissions.delete_if { |x| x.field.split('.')[0] == opts.object } unless opts.cascade.nil?
757
+ permissionset.save
758
+ rescue ArgumentError => e
759
+ puts "Error executing command: #{e.message}"
760
+ end
761
+ end
762
+ end
763
+
764
+ # Permissionsets - Tab Settings - Delete
765
+ command :'permissionset tabSettings:delete' do |c|
766
+ c.syntax = 'mdata permissionset objectPermissions:delete --permissionset PERMISSIONSET --tab TAB'
767
+ c.summary = 'Completely removes tabSettings for a particular tab. Useful if a tab is deleted.'
768
+ c.option '--permissionset PERMISSIONSET', String, 'The permissionset to configure'
769
+ c.option '--tab TAB', String, 'The tab to delete settings for'
770
+ c.action do |args, opts|
771
+ begin
772
+ raise ArgumentError, 'no permissionset specified' if opts.permissionset.nil?
773
+ raise ArgumentError, 'no tab specified' if opts.tab.nil?
774
+ permissionset = Salesforce::Metadata::PermissionSet.read opts.permissionset, opts.dir
775
+ permissionset.tabSettings.delete_if { |x| x.tab == opts.tab }
776
+ permissionset.save
777
+ rescue ArgumentError => e
778
+ puts "Error executing command: #{e.message}"
779
+ end
780
+ end
781
+ end
782
+
696
783
  # permissionset - Field Permissions - Set
697
784
  command :'permissionset fieldPermissions:set' do |c|
698
785
  c.syntax = 'mdata permissionset fieldPermissions:set --permissionset permissionset --field FIELD [options]'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mdata
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.3
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Burwell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-26 00:00:00.000000000 Z
11
+ date: 2015-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander
@@ -60,6 +60,7 @@ executables:
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
+ - VERSION
63
64
  - README.markdown
64
65
  - lib/mdata.rb
65
66
  - lib/mdata/metadata.rb