salesforce-orm 1.2.6 → 1.3.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
- SHA1:
3
- metadata.gz: d8e15c2e92db3f6c373dd24b862cb718645479bc
4
- data.tar.gz: 67f8ba56e368b6cefb59beaeb9edc161cffb288d
2
+ SHA256:
3
+ metadata.gz: 691ed050a8a95926d1fe0c914bd8fedee9ad47db4a870e59fd139e75bac32d76
4
+ data.tar.gz: 30a101cdced3be2c49ec0b707e687041bbc7d2a1a08cdedeafca71d60fd07833
5
5
  SHA512:
6
- metadata.gz: 6d9984a9349599edcd21bb275bbc2dc020ab6fdee3aed37cbd0718c06387834f93643f29bfd4e04fa4be8fad931a6bb5b948e12b4d6da9fa3b7f82b3d8b41347
7
- data.tar.gz: 4c0c7d67b0a08a1c9859f1c5f9acedb5abf948574fcef77b5668c07b885a3e3b964ae32ec28096d9300d2e2172ad10cf3020cae89fcd5056cf21b22183e4f41d
6
+ metadata.gz: f1fc0ddd5b232c9b6b9d6b3a148b8550cfc8b0c3999278413b920e38e4406de0882b9bbbbec95f7ed30f69c1add1c787124d7109c3a9436dca3f0f338bed30cd
7
+ data.tar.gz: 5b957a874bce702e94088e2876e9373c89b9a0a894f554265bfb8a80c3282ef7375699afd70872ac5cc3e9663ea3cab5d3c6acb4fe59813f0cbcdb1c86764db5
data/.travis.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.1.5
5
- before_install: gem install bundler -v 1.15.1
4
+ - 2.2.2
5
+ before_install: gem install bundler -v 1.16.1
data/Gemfile.lock CHANGED
@@ -1,72 +1,73 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- salesforce-orm (1.2.6)
5
- activerecord (~> 3)
6
- activerecord-nulldb-adapter (~> 0)
7
- restforce (~> 2.5)
4
+ salesforce-orm (1.3.0)
5
+ activerecord
6
+ activerecord-nulldb-adapter
7
+ restforce
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activemodel (3.2.22.5)
13
- activesupport (= 3.2.22.5)
14
- builder (~> 3.0.0)
15
- activerecord (3.2.22.5)
16
- activemodel (= 3.2.22.5)
17
- activesupport (= 3.2.22.5)
18
- arel (~> 3.0.2)
19
- tzinfo (~> 0.3.29)
12
+ activemodel (5.1.4)
13
+ activesupport (= 5.1.4)
14
+ activerecord (5.1.4)
15
+ activemodel (= 5.1.4)
16
+ activesupport (= 5.1.4)
17
+ arel (~> 8.0)
20
18
  activerecord-nulldb-adapter (0.3.7)
21
19
  activerecord (>= 2.0.0)
22
- activesupport (3.2.22.5)
23
- i18n (~> 0.6, >= 0.6.4)
24
- multi_json (~> 1.0)
25
- arel (3.0.3)
26
- builder (3.0.4)
27
- byebug (9.0.5)
20
+ activesupport (5.1.4)
21
+ concurrent-ruby (~> 1.0, >= 1.0.2)
22
+ i18n (~> 0.7)
23
+ minitest (~> 5.1)
24
+ tzinfo (~> 1.1)
25
+ arel (8.0.0)
26
+ byebug (10.0.0)
28
27
  concurrent-ruby (1.0.5)
29
28
  diff-lcs (1.3)
30
- faraday (0.13.1)
29
+ faraday (0.14.0)
31
30
  multipart-post (>= 1.2, < 3)
32
31
  faraday_middleware (0.12.2)
33
32
  faraday (>= 0.7.4, < 1.0)
34
- hashie (3.5.6)
35
- i18n (0.9.1)
33
+ hashie (3.5.7)
34
+ i18n (0.9.3)
36
35
  concurrent-ruby (~> 1.0)
37
36
  json (2.1.0)
38
- multi_json (1.12.2)
37
+ minitest (5.11.3)
39
38
  multipart-post (2.0.0)
40
- rake (10.4.2)
39
+ rake (12.3.0)
41
40
  restforce (2.5.3)
42
41
  faraday (>= 0.9.0, <= 1.0)
43
42
  faraday_middleware (>= 0.8.8, <= 1.0)
44
43
  hashie (>= 1.2.0, < 4.0)
45
44
  json (>= 1.7.5)
46
- rspec (3.6.0)
47
- rspec-core (~> 3.6.0)
48
- rspec-expectations (~> 3.6.0)
49
- rspec-mocks (~> 3.6.0)
50
- rspec-core (3.6.0)
51
- rspec-support (~> 3.6.0)
52
- rspec-expectations (3.6.0)
45
+ rspec (3.7.0)
46
+ rspec-core (~> 3.7.0)
47
+ rspec-expectations (~> 3.7.0)
48
+ rspec-mocks (~> 3.7.0)
49
+ rspec-core (3.7.1)
50
+ rspec-support (~> 3.7.0)
51
+ rspec-expectations (3.7.0)
53
52
  diff-lcs (>= 1.2.0, < 2.0)
54
- rspec-support (~> 3.6.0)
55
- rspec-mocks (3.6.0)
53
+ rspec-support (~> 3.7.0)
54
+ rspec-mocks (3.7.0)
56
55
  diff-lcs (>= 1.2.0, < 2.0)
57
- rspec-support (~> 3.6.0)
58
- rspec-support (3.6.0)
59
- tzinfo (0.3.53)
56
+ rspec-support (~> 3.7.0)
57
+ rspec-support (3.7.1)
58
+ thread_safe (0.3.6)
59
+ tzinfo (1.2.4)
60
+ thread_safe (~> 0.1)
60
61
 
61
62
  PLATFORMS
62
63
  ruby
63
64
 
64
65
  DEPENDENCIES
65
- bundler (~> 1.15)
66
- byebug (~> 9)
67
- rake (~> 10.0)
68
- rspec (~> 3.0)
66
+ bundler
67
+ byebug
68
+ rake
69
+ rspec
69
70
  salesforce-orm!
70
71
 
71
72
  BUNDLED WITH
72
- 1.15.1
73
+ 1.16.1
data/README.md CHANGED
@@ -31,7 +31,7 @@ In rails, write below code in application.rb or environment specific file
31
31
 
32
32
  Other projects, run it before you use SaleforceOrm
33
33
 
34
- ```
34
+ ```ruby
35
35
  SaleforceOrm::Configuration.restforce_config = {
36
36
  ... # Restforce configuration
37
37
  }
@@ -41,7 +41,7 @@ Other projects, run it before you use SaleforceOrm
41
41
 
42
42
  Create object class
43
43
 
44
- ```
44
+ ```ruby
45
45
  class SampleObject < SalesforceOrm::ObjectBase
46
46
  end
47
47
  ```
@@ -50,13 +50,13 @@ end
50
50
 
51
51
  Default object name is `class.name`
52
52
 
53
- ```
53
+ ```ruby
54
54
  SampleObject
55
55
  ```
56
56
 
57
57
  If you have a custom object name,
58
58
 
59
- ```
59
+ ```ruby
60
60
  class SampleObject < SalesforceOrm::ObjectBase
61
61
  self.object_name = 'SampleObject__c'
62
62
  end
@@ -68,7 +68,7 @@ Field map is used for create, update actions. This can be used for aliasing the
68
68
 
69
69
  Default field map for `SampleObject`
70
70
 
71
- ```
71
+ ```ruby
72
72
  {
73
73
  id: :Id,
74
74
  created_at: :CreatedAt,
@@ -78,7 +78,7 @@ Default field map for `SampleObject`
78
78
 
79
79
  If you wanna map more fields for an object
80
80
 
81
- ```
81
+ ```ruby
82
82
  class SampleObject < SalesforceOrm::ObjectBase
83
83
  self.field_map = {
84
84
  field_one: :FieldOne,
@@ -102,7 +102,7 @@ Default is same data type of given value
102
102
 
103
103
  Default data type map for `SampleObject`
104
104
 
105
- ```
105
+ ```ruby
106
106
  {
107
107
  created_at: :datetime,
108
108
  updated_at: :datetime
@@ -111,7 +111,7 @@ Default data type map for `SampleObject`
111
111
 
112
112
  If you wanna change the data type of some fields
113
113
 
114
- ```
114
+ ```ruby
115
115
  class SampleObject < SalesforceOrm::ObjectBase
116
116
  self.data_type_map = {
117
117
  field_one: :datetime,
@@ -128,7 +128,7 @@ By default there is no record type configured for any object
128
128
 
129
129
  To specify a record type,
130
130
 
131
- ```
131
+ ```ruby
132
132
  class SampleObject < SalesforceOrm::ObjectBase
133
133
  self.record_type = 'Xyz' # DeveloperName in RecordType object
134
134
  end
@@ -146,7 +146,7 @@ Methods are similar to ActiveRecord::Base
146
146
 
147
147
  Class methods
148
148
 
149
- ```
149
+ ```ruby
150
150
  SampleObject.[
151
151
  :create!,
152
152
  :update_all!,
@@ -169,7 +169,7 @@ SampleObject.[
169
169
  ```
170
170
 
171
171
  eg:
172
- ```
172
+ ```ruby
173
173
  SampleObject.where(id: 'qd')
174
174
 
175
175
  SampleObject.where(id: ['eqd', 'qqwd'])
@@ -193,7 +193,7 @@ SampleObject.select('count(id)').all
193
193
 
194
194
  Instance methods
195
195
 
196
- ```
196
+ ```ruby
197
197
  SampleObject.[
198
198
  :update_attributes,
199
199
  :destroy
@@ -206,7 +206,7 @@ Other class methods (Specific to SalesforceOrm)
206
206
 
207
207
  To update an object by id
208
208
 
209
- ```
209
+ ```ruby
210
210
  SampleObject.update_by_id!('some_id', {feild_one: 'some_value', field_two: 'some_other_value'})
211
211
  ```
212
212
 
@@ -214,7 +214,7 @@ SampleObject.update_by_id!('some_id', {feild_one: 'some_value', field_two: 'some
214
214
 
215
215
  To destroy an object by id
216
216
 
217
- ```
217
+ ```ruby
218
218
  SampleObject.destroy_by_id!('some_id')
219
219
  ```
220
220
 
@@ -226,7 +226,7 @@ To generate, SOQL query (Equavalent to `to_sql`)
226
226
 
227
227
  To create a new instance of SampleObject
228
228
 
229
- ```
229
+ ```ruby
230
230
  SampleObject.build({id: 'some id', field_one: 'Some value'})
231
231
  ```
232
232
 
data/bin/console ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "salesforce-orm"
5
+ require "byebug"
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ # (If you use this, don't forget to add pry to your Gemfile!)
11
+ # require "pry"
12
+ # Pry.start
13
+
14
+ require "irb"
15
+ IRB.start
@@ -83,7 +83,6 @@ module SalesforceOrm
83
83
  end
84
84
 
85
85
  [
86
- :scoped,
87
86
  :except,
88
87
  :where,
89
88
  :group,
@@ -99,6 +98,11 @@ module SalesforceOrm
99
98
  end
100
99
  end
101
100
 
101
+ def scoped(*args)
102
+ where(nil)
103
+ self
104
+ end
105
+
102
106
  def all(*args)
103
107
  make_query
104
108
  end
@@ -8,7 +8,8 @@ module SalesforceOrm
8
8
  self.table_name = DUMMY_TABLE_NAME
9
9
 
10
10
  establish_connection(
11
- adapter: :nulldb
11
+ adapter: :nulldb,
12
+ schema: (File.join SalesforceOrm.root, 'support', 'schema.rb')
12
13
  )
13
14
  end
14
15
  end
@@ -30,7 +30,8 @@ module SalesforceOrm
30
30
  end
31
31
 
32
32
  # TODO: optimize this method
33
- def sql_to_soql(sql)
33
+ def sql_to_soql(frozen_sql)
34
+ sql = frozen_sql.dup
34
35
  # Unescape column and table names
35
36
  sql.gsub!('`', '')
36
37
 
@@ -50,7 +51,7 @@ module SalesforceOrm
50
51
  sql.gsub!(/\s+IS\s+/i, ' = ')
51
52
 
52
53
  # Convert datatime to salesforce format
53
- sql.gsub!(/'(\d{4}-\d{2}-\d{2}) (\d{2}:\d{2}:\d{2})'/, '\1T\2Z')
54
+ sql.gsub!(/'(\d{4}-\d{2}-\d{2}) (\d{2}:\d{2}:\d{2})(\.\d+)?'/, '\1T\2Z')
54
55
 
55
56
  # Convert date to salesforce format
56
57
  sql.gsub!(/'(\d{4}-\d{2}-\d{2})'/, '\1')
@@ -1,3 +1,3 @@
1
1
  module SalesforceOrm
2
- VERSION = '1.2.6'.freeze
2
+ VERSION = '1.3.0'.freeze
3
3
  end
@@ -1,6 +1,9 @@
1
- Dir[File.expand_path('salesforce-orm/*.rb', File.dirname(__FILE__))].each do |file|
2
- require file
1
+ module SalesforceOrm
2
+ def self.root
3
+ File.dirname __dir__
4
+ end
3
5
  end
4
6
 
5
- module SalesforceOrm
7
+ Dir[File.expand_path('salesforce-orm/*.rb', File.dirname(__FILE__))].each do |file|
8
+ require file
6
9
  end
@@ -17,15 +17,15 @@ Gem::Specification.new do |s|
17
17
  s.homepage = 'https://github.com/NestAway/salesforce-orm'
18
18
  s.license = 'Apache License 2.0'
19
19
 
20
- s.required_ruby_version = '>= 1.9.8'
20
+ s.required_ruby_version = '>= 2'
21
21
  s.require_paths = ['lib']
22
22
 
23
- s.add_dependency 'activerecord', '~> 3'
24
- s.add_dependency 'activerecord-nulldb-adapter', '~> 0'
25
- s.add_dependency 'restforce', '~> 2.5'
23
+ s.add_dependency 'activerecord'
24
+ s.add_dependency 'activerecord-nulldb-adapter'
25
+ s.add_dependency 'restforce'
26
26
 
27
- s.add_development_dependency 'byebug', '~> 9'
28
- s.add_development_dependency 'rspec', '~> 3.0'
29
- s.add_development_dependency 'bundler', '~> 1.15'
30
- s.add_development_dependency 'rake', '~> 10.0'
27
+ s.add_development_dependency 'byebug'
28
+ s.add_development_dependency 'rspec'
29
+ s.add_development_dependency 'bundler'
30
+ s.add_development_dependency 'rake'
31
31
  end
data/support/schema.rb ADDED
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: salesforce-orm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.6
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vishal Vijay
@@ -15,100 +15,100 @@ dependencies:
15
15
  name: activerecord
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '3'
20
+ version: '0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - "~>"
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: '3'
27
+ version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: activerecord-nulldb-adapter
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - "~>"
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: restforce
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - "~>"
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: '2.5'
48
+ version: '0'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - "~>"
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: '2.5'
55
+ version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: byebug
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - "~>"
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: '9'
62
+ version: '0'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - "~>"
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: '9'
69
+ version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rspec
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - "~>"
74
+ - - ">="
75
75
  - !ruby/object:Gem::Version
76
- version: '3.0'
76
+ version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - "~>"
81
+ - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: '3.0'
83
+ version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: bundler
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - "~>"
88
+ - - ">="
89
89
  - !ruby/object:Gem::Version
90
- version: '1.15'
90
+ version: '0'
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - "~>"
95
+ - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: '1.15'
97
+ version: '0'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rake
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - "~>"
102
+ - - ">="
103
103
  - !ruby/object:Gem::Version
104
- version: '10.0'
104
+ version: '0'
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - "~>"
109
+ - - ">="
110
110
  - !ruby/object:Gem::Version
111
- version: '10.0'
111
+ version: '0'
112
112
  description: Active record like ORM for Salesforce
113
113
  email:
114
114
  - tech_team@nestaway.com
@@ -126,6 +126,7 @@ files:
126
126
  - LICENSE
127
127
  - README.md
128
128
  - Rakefile
129
+ - bin/console
129
130
  - build.sh
130
131
  - lib/salesforce-orm.rb
131
132
  - lib/salesforce-orm/awesome_print.rb
@@ -142,6 +143,7 @@ files:
142
143
  - lib/salesforce-orm/sql_to_soql.rb
143
144
  - lib/salesforce-orm/version.rb
144
145
  - salesforce-orm.gemspec
146
+ - support/schema.rb
145
147
  homepage: https://github.com/NestAway/salesforce-orm
146
148
  licenses:
147
149
  - Apache License 2.0
@@ -154,7 +156,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
154
156
  requirements:
155
157
  - - ">="
156
158
  - !ruby/object:Gem::Version
157
- version: 1.9.8
159
+ version: '2'
158
160
  required_rubygems_version: !ruby/object:Gem::Requirement
159
161
  requirements:
160
162
  - - ">="
@@ -162,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
162
164
  version: '0'
163
165
  requirements: []
164
166
  rubyforge_project:
165
- rubygems_version: 2.2.2
167
+ rubygems_version: 2.7.3
166
168
  signing_key:
167
169
  specification_version: 4
168
170
  summary: Ruby ORM for Salesforce