salesforce_cache 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
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
-