use_salesforce_dataloader 0.0.3 → 0.0.4

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: 4420a2c70a6e20c8bfafdc62d9e9f4a63af1adfc
4
- data.tar.gz: fac3faaa5700c3926593af993f44f31b36377349
3
+ metadata.gz: b030d2dbd0ad470282e399110b98487e29dd07b2
4
+ data.tar.gz: c178e50b6355ba59ca2edef105b3294f5276494e
5
5
  SHA512:
6
- metadata.gz: aa07c0333f49136ec336d61142a348f5f5eae9778e5dab5d8c310393a0b2b5d451d23aa74d22a19983386dc1efaab791a92331976930348d94f7a8a3671e640f
7
- data.tar.gz: e4e11ebe5da38ceab67e234a451928afb152b4b6032bba30599234459f425f87d5f66e53ecf8bda9d7180f380c1ff24273b6ccc5d6092cab9fa30c4808e827f5
6
+ metadata.gz: 2c28d308f793576530b16ca90156d532cfc442528008ea9b74b2b01832adf46cb1ce2ab45283de365838fa435496ab4d2d0d4dde361b15f6286f39be7ff28d52
7
+ data.tar.gz: af62b73ddf21ab6776c28fe3ef7a08b5e9a86be097dcb6a59f5a6f3d8e895ad6d3a180438c393b4a2ce3c68e612912c2f0cb1aad5ccc098c27417e6077e49820
@@ -1,9 +1,10 @@
1
1
  # -*- coding: utf-8 -*-
2
+ require 'open3'
2
3
 
3
4
  # see https://developer.salesforce.com/docs/atlas.en-us.dataLoader.meta/dataLoader/loader_params.htm
4
5
  class UseSalesforceDataLoader
5
6
 
6
- # file layout:
7
+ # File layout:
7
8
  # conf_dir/key.txt
8
9
  # conf_dir/process-conf.xml
9
10
  # conf_dir/map.sdl
@@ -18,21 +19,22 @@ class UseSalesforceDataLoader
18
19
  @conf_map_file = @conf_dir + '/map.sdl'
19
20
  end
20
21
 
21
- #
22
+ # process-conf.xml
22
23
  attr_accessor :bean_id
23
24
  attr_accessor :bean_description
24
25
  attr_accessor :property_name
25
26
  attr_accessor :overwrite_entries
26
27
 
27
- # salesforce.com authentication data
28
- attr_accessor :endpoint # ex. https://test.salesforce.com
29
- attr_accessor :username # ex. foo@example.com
30
- attr_accessor :password # ex. 0123456789
28
+ # Salesforce.com authentication data
29
+ attr_accessor :endpoint # ex. https://test.salesforce.com
30
+ attr_accessor :username # ex. foo@example.com
31
+ attr_accessor :password # ex. 0123456789
31
32
 
33
+ # jar: path of dataloader-NN.N.N-uber.jar, ex. "/usr/lib/dataloader-41.0.0-uber.jar"
32
34
  # java: command line of java runtime, ex. "/usr/bin/java"
33
35
  # java_opt: ex. "-Dfile.encoding=UTF-8"
34
- # jar: path of dataloader-NN.N.N-uber.jar, ex. "/usr/lib/dataloader-41.0.0-uber.jar"
35
- def initialize(jar, java, java_opt = nil)
36
+ def initialize(jar, java = nil, java_opt = nil)
37
+ java = exec_command('which java') unless java
36
38
  path_check(java)
37
39
  path_check(jar)
38
40
  j = [java, java_opt, '-cp', jar].compact.join(' ')
@@ -50,7 +52,7 @@ class UseSalesforceDataLoader
50
52
  #
51
53
  def encrypt(args)
52
54
  cmd = "#{@encrypt} #{args} | sed 's/^.*) \- //g'"
53
- `#{cmd}`.chomp
55
+ exec_command(cmd)
54
56
  end
55
57
 
56
58
  # Original: dataloader/bin/process.sh
@@ -58,7 +60,6 @@ class UseSalesforceDataLoader
58
60
  #
59
61
  def process_cmd(name)
60
62
  path_check(@conf_dir)
61
- path_check(@conf_key_file)
62
63
  path_check(@conf_process_xml_file)
63
64
  @process % [@conf_dir, name]
64
65
  end
@@ -95,8 +96,11 @@ class UseSalesforceDataLoader
95
96
  entries_xml]
96
97
  end
97
98
 
99
+ private
100
+
98
101
  # internal use
99
102
  def default_overwrite_entries
103
+ path_check(@conf_key_file)
100
104
  encrypt_password = encrypt("-e '#{@password}' '#{@conf_key_file}'")
101
105
  {
102
106
  'sfdc.endpoint' => @endpoint,
@@ -119,6 +123,13 @@ class UseSalesforceDataLoader
119
123
  raise "Path not found: #{f}" unless File.exist?(f)
120
124
  end
121
125
 
126
+ # internal use
127
+ def exec_command(cmd)
128
+ o, e, s = Open3.capture3(cmd)
129
+ raise "Something wrong" unless e.empty? and s.success?
130
+ o.chomp
131
+ end
132
+
122
133
  PROCESS_XML_TEMPLATE = <<'PROCESS_XML'
123
134
  <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
124
135
  <beans>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: use_salesforce_dataloader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hiroaki Nagoya
@@ -11,7 +11,7 @@ cert_chain: []
11
11
  date: 2017-12-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
- email: hnagoya@gmaiil.com
14
+ email: hnagoya@gmail.com
15
15
  executables: []
16
16
  extensions: []
17
17
  extra_rdoc_files: []