salesforce-orm 1.2.6 → 1.3.0

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