salesforce_cache 0.0.7 → 0.0.8

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7cbe252c1b92caf8f4925b90828a1bee262872a3
4
+ data.tar.gz: fae3393c4ddde48b380df64b15ac3f5790e9fa36
5
+ SHA512:
6
+ metadata.gz: 3ab71ceeb245c9aa00d90f4d71491990d0e70dde49a2c137c71913eb689f1209fb599a45f331120825ec726bd8df1f57486ec39caca6fa746aa955e4da93247c
7
+ data.tar.gz: 90a6fb919848319465a1e7796fb7ea64f9bb65b0f726329ff1554e061e6df24f4ab029c1d36431e268289e2caf7688891f9ea6c094367389b4bc93ae7de4a171
data/CHANGELOG.md CHANGED
@@ -1,5 +1,7 @@
1
1
  CHANGELOG
2
2
  ---------
3
+ - **2014-03-07**: 0.0.8
4
+ - Add #getCachedIds([type]) method to get Ids of cached items for iteration
3
5
  - **2014-03-06**: 0.0.7
4
6
  - Documentation fix for example
5
7
  - **2014-03-05**: 0.0.6
data/README.md CHANGED
@@ -50,6 +50,13 @@ To install SalesforceCache, use the following command:
50
50
  sfRestClient = SalesforceCache::RestClient.new(paramsGeneral,paramsToken)
51
51
  sObjectHash = sfRestClient.getSobjectForSfidAndType('my_sobject_id','Account')
52
52
 
53
+ # get list of cached Ids as an array of hashes of format: {:id=>id,:type=>type}
54
+
55
+ ids = sfCacheClient.getCachedIds # all cached Ids for all types
56
+ ids = sfCacheClient.getCachedIds('Account') # all cached Account Ids
57
+ ids = sfCacheClient.getCachedIds('Account,Opportunity') # cached Account & Opporunity Ids
58
+ ids = sfCacheClient.getCachedIds(['Account','Opportunity']) # cached Account & Opporunity Ids
59
+
53
60
  #Documentation
54
61
  --------------
55
62
 
@@ -88,6 +95,8 @@ Notes
88
95
  #Change Log
89
96
  -----------
90
97
 
98
+ - **2014-03-07**: 0.0.8
99
+ - Add #getCachedIds([type]) method to get Ids of cached items for iteration
91
100
  - **2014-03-06**: 0.0.7
92
101
  - Documentation fix for example
93
102
  - **2014-03-05**: 0.0.6
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.7
1
+ 0.0.8
@@ -19,6 +19,9 @@ module SalesforceCache
19
19
  end
20
20
 
21
21
  def getFileForSfidAndType(sSfid=nil,sType=nil)
22
+ return nil if sSfid.nil? || sType.nil?
23
+ sSfid.strip!
24
+ sType.strip!
22
25
  sFile = %Q{sf_#{sType}_#{sSfid}.json}
23
26
  return sFile
24
27
  end
@@ -117,8 +120,8 @@ module SalesforceCache
117
120
  end
118
121
  end
119
122
  if dObj.is_a?(Hash) && dObj.has_key?(:Id)
120
- sDir = self.getDirForType(sType)
121
- sPath = self.getPathForSfidAndType(sSfid,sType)
123
+ sDir = self.getDirForType(sType)
124
+ sPath = self.getPathForSfidAndType(sSfid,sType)
122
125
  FileUtils.mkdir_p(sDir) if ! Dir.exists?(sDir)
123
126
  File.open(sPath,'w') do |fTop|
124
127
  dTop = {
@@ -133,5 +136,50 @@ module SalesforceCache
133
136
  return nil
134
137
  end
135
138
 
139
+ def getCachedIds(xTypes=nil)
140
+ dTypes = {}
141
+ if xTypes.is_a?(String)
142
+ xTypes.split(',').each do |sType|
143
+ sType.strip!
144
+ dTypes[ sType ] = 1
145
+ end
146
+ elsif xTypes.is_a?(Hash)
147
+ xTypes.keys.each do |sType|
148
+ sType.strip!
149
+ dTypes[ sType ] = 1
150
+ end
151
+ elsif xTypes.is_a?(Array)
152
+ xTypes.each do |sType|
153
+ sType.strip!
154
+ dTypes[ sType ] = 1
155
+ end
156
+ end
157
+ if dTypes.keys.length == 0
158
+ Dir.entries(@sFsdbBaseDir).each do |sEntry|
159
+ next if sEntry =~ /^\.\.?$/
160
+ sPath = File.join(@sFsdbBaseDir,sEntry)
161
+ if Dir.exists?(sPath)
162
+ dTypes[ sEntry ] = 1
163
+ end
164
+ end
165
+ end
166
+ aIdsInfo = []
167
+ dTypes.keys.each do |sType|
168
+ sDirType = File.join(@sFsdbBaseDir,sType)
169
+ next unless Dir.exists?(sDirType)
170
+ sTypeRe = Regexp.escape(sType)
171
+ Dir.entries(sDirType).each do |sEntry|
172
+ if sEntry =~ /^sf_#{sTypeRe}_(.+)\.json$/
173
+ sId = $1
174
+ dInfo = {:id => sId, :type => sType}
175
+ sPathJson = File.join(sDirType,sEntry)
176
+ if File.size(sPathJson) > 0
177
+ aIdsInfo.push(dInfo)
178
+ end
179
+ end
180
+ end
181
+ end
182
+ return aIdsInfo
183
+ end
136
184
  end
137
185
  end
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'salesforce_cache'
3
- s.version = '0.0.7'
4
- s.date = '2014-03-06'
3
+ s.version = '0.0.8'
4
+ s.date = '2014-03-07'
5
5
  s.summary = 'Salesforce Filesystem Cache'
6
6
  s.description = 'Filesystem cache manager for Salesforce sObjects and SOQL results'
7
7
  s.authors = ['John Wang']
metadata CHANGED
@@ -1,63 +1,53 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: salesforce_cache
3
- version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.0.7
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.8
6
5
  platform: ruby
7
- authors:
6
+ authors:
8
7
  - John Wang
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
-
13
- date: 2014-03-06 00:00:00 Z
11
+ date: 2014-03-07 00:00:00.000000000 Z
14
12
  dependencies: []
15
-
16
13
  description: Filesystem cache manager for Salesforce sObjects and SOQL results
17
14
  email: johncwang@gmail.com
18
15
  executables: []
19
-
20
16
  extensions: []
21
-
22
17
  extra_rdoc_files: []
23
-
24
- files:
18
+ files:
25
19
  - CHANGELOG.md
26
20
  - LICENSE
27
21
  - README.md
28
22
  - Rakefile
29
23
  - VERSION
30
- - salesforce_cache.gemspec
31
24
  - lib/salesforce_cache.rb
32
25
  - lib/salesforce_cache/client.rb
33
26
  - lib/salesforce_cache/rest_client.rb
27
+ - salesforce_cache.gemspec
34
28
  - test/test_setup.rb
35
29
  homepage: http://johnwang.com/
36
- licenses:
30
+ licenses:
37
31
  - MIT
32
+ metadata: {}
38
33
  post_install_message:
39
34
  rdoc_options: []
40
-
41
- require_paths:
35
+ require_paths:
42
36
  - lib
43
- required_ruby_version: !ruby/object:Gem::Requirement
44
- none: false
45
- requirements:
37
+ required_ruby_version: !ruby/object:Gem::Requirement
38
+ requirements:
46
39
  - - ">="
47
- - !ruby/object:Gem::Version
48
- version: "0"
49
- required_rubygems_version: !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ required_rubygems_version: !ruby/object:Gem::Requirement
43
+ requirements:
52
44
  - - ">="
53
- - !ruby/object:Gem::Version
54
- version: "0"
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
55
47
  requirements: []
56
-
57
48
  rubyforge_project:
58
- rubygems_version: 1.8.11
49
+ rubygems_version: 2.2.1
59
50
  signing_key:
60
- specification_version: 3
51
+ specification_version: 4
61
52
  summary: Salesforce Filesystem Cache
62
53
  test_files: []
63
-