sfd2 0.0.1 → 1.0.0

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
  SHA1:
3
- metadata.gz: 41d4d5a8eded3eca8dec6a210312ccbf0e9a3648
4
- data.tar.gz: 1bca805ba8581ce73a0e14dfaf8797ba5d800032
3
+ metadata.gz: 83d0a3774c28b3a0fe654129dac824787afb602a
4
+ data.tar.gz: d0d1813532fa1adbc5b692daca3ae8c6a929a97d
5
5
  SHA512:
6
- metadata.gz: aaec21cf23729a2a75b5cffc8021c074809c3c0e92afb6b48d8da339eac3c62c40e61f5ffb4a1f9f30b464cd2626dac43aa00208798e9f4cbe2bb88130ce5022
7
- data.tar.gz: eb1d0402fe92a2930bfc9122c44af19a64c5e2b7ea8ec19517ec907952f5423a1e62b7ddc1affeb9ece6e8476d687d2fbcd0a12605a31e092be59932d490df21
6
+ metadata.gz: f5d49a99067ae483825617661c3cccd526a57dd32c55d6afe9137f2545dc91c63a67b434f0e4e6872202db11792649879c40ec9f3820955085b2930e1d347baa
7
+ data.tar.gz: 87b818805b58fe00c9fbc33792a03c070bf4f9e9887cd0a7134b2cf251eb59304a51c081f875734ef4204c453d03931cd5e704c2e180500bdbb94e895920cb52
data/README.md CHANGED
@@ -1,24 +1,27 @@
1
1
  # Sfd2
2
2
 
3
- TODO: Write a gem description
3
+ Downloads all of Salesforce documents by a single command.
4
+ Includes:
4
5
 
5
- ## Installation
6
-
7
- Add this line to your application's Gemfile:
8
-
9
- gem 'sfd2'
10
-
11
- And then execute:
6
+ salesforce_soql_sosl.pdf
7
+ api_rest.pdf
8
+ apex_language_reference.pdf
9
+ pages_developers_guide.pdf
10
+ object_reference.pdf
11
+ salesforce1_guide.pdf
12
12
 
13
- $ bundle
13
+ ## Installation
14
14
 
15
- Or install it yourself as:
15
+ Open your command line and run:
16
16
 
17
17
  $ gem install sfd2
18
18
 
19
19
  ## Usage
20
20
 
21
- TODO: Write usage instructions here
21
+ Open your command line and run:
22
+
23
+ $ sfd2
24
+
22
25
 
23
26
  ## Contributing
24
27
 
data/bin/sfd2 ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env ruby
2
+ require 'sfd2/sfd2'
data/lib/sfd2/sfd2.rb ADDED
@@ -0,0 +1,55 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__)) unless $LOAD_PATH.include?(File.dirname(__FILE__))
2
+ %w(utils).each do |file|
3
+ require "#{file}"
4
+ end
5
+
6
+ folder = File.join(Dir.home, "/Documents/SfDocuments#{Time.now}")
7
+
8
+ options = {}
9
+ options[:folder] = folder
10
+ op = OptionParser.new do |opts|
11
+ opts.banner = Sfd2::HELP_MSG
12
+ opts.separator ''
13
+
14
+ opts.on("-f", String, "Show Salesforce downloads to folder") do |f|
15
+ puts folder
16
+ exit
17
+ end
18
+
19
+ opts.on_tail("-h", "--help", "Show help message") do
20
+ puts op
21
+ exit
22
+ end
23
+ end
24
+
25
+ begin
26
+ op.parse(ARGV)
27
+ rescue Exception => e
28
+ abort e.message
29
+ end
30
+
31
+ Dir.mkdir(folder)
32
+
33
+ puts "Loading Salesforce documents..."
34
+
35
+ @sf_urls = %w{ http://www.salesforce.com/us/developer/docs/soql_sosl/salesforce_soql_sosl.pdf
36
+ http://www.salesforce.com/us/developer/docs/api_rest/api_rest.pdf
37
+ http://www.salesforce.com/us/developer/docs/apexcode/salesforce_apex_language_reference.pdf
38
+ http://www.salesforce.com/us/developer/docs/pages/salesforce_pages_developers_guide.pdf
39
+ http://www.salesforce.com/us/developer/docs/object_reference/object_reference.pdf
40
+ http://www.salesforce.com/us/developer/docs/salesforce1/salesforce1_guide.pdf
41
+ }
42
+
43
+ threads = []
44
+
45
+ @sf_urls.each do |url|
46
+ threads << Thread.new do
47
+ Sfd2.download(folder, url)
48
+ end
49
+ end
50
+
51
+ threads.each { |t| t.join; puts "" }
52
+
53
+ puts ""
54
+ puts "Done! Please check it in this folder #{folder}."
55
+
data/lib/sfd2/utils.rb ADDED
@@ -0,0 +1,36 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__)) unless $LOAD_PATH.include?(File.dirname(__FILE__))
2
+ %w(open-uri progressbar).each do |file|
3
+ require "#{file}"
4
+ end
5
+
6
+ module Sfd2
7
+ extend self
8
+
9
+ HELP_MSG = "
10
+ Downloads all of Salesforce documents by a single command.
11
+ Usage:
12
+ run sfd2 in your command line:
13
+ $ sfd2 "
14
+
15
+ def download(folder, url)
16
+ file_path = "#{folder}/#{File.basename(url)}"
17
+ pbar = nil
18
+ begin
19
+ File.open(file_path, "wb") do |file|
20
+ file.write open(url,
21
+ :content_length_proc => lambda {|t|
22
+ if t && 0 < t
23
+ pbar = ProgressBar.new(File.basename(url).split('_')[1], t)
24
+ pbar.file_transfer_mode
25
+ end
26
+ },
27
+ :progress_proc => lambda {|s|
28
+ pbar.set s if pbar
29
+ }
30
+ ).read
31
+ end
32
+ rescue Exception => e
33
+ puts e.message
34
+ end
35
+ end
36
+ end
data/lib/sfd2/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sfd2
2
- VERSION = "0.0.1"
2
+ VERSION = "1.0.0"
3
3
  end
data/sfd2.gemspec CHANGED
@@ -20,4 +20,5 @@ Gem::Specification.new do |spec|
20
20
  spec.bindir = ["bin"]
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
+ spec.add_dependency("progressbar", "~> 0.21.0")
23
24
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sfd2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bruce Yue
@@ -39,10 +39,25 @@ dependencies:
39
39
  - - '>='
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: progressbar
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ~>
47
+ - !ruby/object:Gem::Version
48
+ version: 0.21.0
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 0.21.0
42
56
  description: TDownloads all of Salesforce documents by a single command
43
57
  email:
44
58
  - bruce.yue@outlook.com
45
- executables: []
59
+ executables:
60
+ - sfd2
46
61
  extensions: []
47
62
  extra_rdoc_files: []
48
63
  files:
@@ -50,7 +65,10 @@ files:
50
65
  - LICENSE.txt
51
66
  - README.md
52
67
  - Rakefile
68
+ - bin/sfd2
53
69
  - lib/sfd2.rb
70
+ - lib/sfd2/sfd2.rb
71
+ - lib/sfd2/utils.rb
54
72
  - lib/sfd2/version.rb
55
73
  - sfd2.gemspec
56
74
  homepage: https://www.sharealltech.com