leap_salesforce 0.2.21 → 0.2.23

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
  SHA256:
3
- metadata.gz: 6acf0841e84803228e921e0e119012eb59579b7c94429be48081ae514f14cadd
4
- data.tar.gz: 7a78d0e7fcbe4fca41982728df4c5aa3be1ee10a9f29a9ec1a7ffc3fc7e2be15
3
+ metadata.gz: da79723306cce1184458cea71bcd195548c701f48fa3de87961d2d95becc99d4
4
+ data.tar.gz: 587308a13bfd4164e27638c82ee8adc59a833165aaeb3561b26b17e944ab455e
5
5
  SHA512:
6
- metadata.gz: 6ee717b08825129749332f3b76870391006741d1429bfa929fb457e7f40101e53af9ad523f1c03cde9fbd0a74802284beb52511db7978cd43b98c17a8cfd0c04
7
- data.tar.gz: f0be337595c4f16c1d4f8e1a6d11d181d7ef6aea7d223c1da5276841757f48047ee8b490bf7e6245b98006b1f0cdbd5433fd0106f42936e03dede9e449ecc05d
6
+ metadata.gz: eeb1dfacd0c1812b5637c7709d34303a7e852e308f87d8c789e6993aecf9ab3261a3c90df42cdde17d49ed337b14ac5c0a00998de639fc8bd98b2617150a2a9e
7
+ data.tar.gz: 0d5ca787cdebd092f3a21c1489d57b56f0236272740fe1129e945729cda776eea007f66b2e1b021a5b217db9c28f6c696fa7836f9df841cb89cdb4049239449d
data/.gitignore CHANGED
@@ -10,6 +10,7 @@ Gemfile.lock
10
10
  logs/
11
11
  stub/
12
12
  /.idea/
13
+ .rakeTasks
13
14
  stub_log
14
15
 
15
16
  # Generated files for now
data/.gitlab-ci.yml CHANGED
@@ -602,7 +602,6 @@ pages:
602
602
 
603
603
  test:
604
604
  stage: test
605
- parallel: 5
606
605
  script:
607
606
  # Decrypt server key
608
607
  - *sfdx_helpers
data/.rubocop.yml CHANGED
@@ -1,3 +1,3 @@
1
1
  # Modifies RuboCop (Static analysis tool)
2
- Metrics/LineLength:
2
+ Layout/LineLength:
3
3
  Max: 160
data/ChangeLog CHANGED
@@ -1,3 +1,11 @@
1
+ Version 0.2.23
2
+ * Enhancement
3
+ * Raise better error when could not find record using query
4
+
5
+ Version 0.2.22
6
+ * Enhancement
7
+ * New Salesforce module to make it more intuitive to inquire about Salesforce with `Salesforce.limits`
8
+
1
9
  Version 0.2.21
2
10
  * Enhancement
3
11
  * Remove enums that are no longer present on entities due to metadata changing to create_enums task
data/README.md CHANGED
@@ -46,6 +46,8 @@ The benefits of an open source tool like this are:
46
46
  * [Setup scripts](#setup-scripts)
47
47
  * [Changing environment](#changing-environment)
48
48
  * [Test Users](#test-users)
49
+ * [Advanced](#advanced)
50
+ * [Understanding how request is built](#understanding-how-request-is-built)
49
51
  * [CRUD of data](#crud-of-data)
50
52
  * [Creating entities](#creating-entities)
51
53
  * [Reading entities](#reading-entities)
@@ -239,6 +241,23 @@ LeapSalesforce.api_user = LeapSalesforce::Users.where username: /admin/
239
241
  LeapSalesforce.api_user = LeapSalesforce::Users.where description: /System Admin/
240
242
  ```
241
243
 
244
+ #### Advanced
245
+
246
+ Topics in here for understanding how things work behind the scenes and are not necessary for simple
247
+ use of this gem.
248
+
249
+ ##### Understanding how request is built
250
+
251
+ ###### Creating entities
252
+
253
+ When creating entities, the convention is that the accessors defined by the `soql_element` that are
254
+ auto-generated by the `leaps:create_soql_objects` rake task are used.
255
+ These methods internally call the `[]=` method to set values that will be sent in the POST request.
256
+ This method can be used directly with the backend name. E.g, `contact[:FieldName] = 'Value'`
257
+
258
+ This method in turn sets a value of the `@override_parameters[:body]` variable within the entity.
259
+ The value of request body can be interrogated with `entity.request_parameters.body`.
260
+
242
261
  ### CRUD of data
243
262
 
244
263
  To work data in Salesforce, an object inheriting from the `SoqlData` class is always used. The idea is
@@ -326,6 +345,21 @@ example:
326
345
  @contact = Contact.create
327
346
  ```
328
347
 
348
+ ##### Composite creation
349
+
350
+ When creating bulk data (e.g, data with related fields), it's faster to use the composite API.
351
+
352
+ See `spec/integration/composite_spec.rb` for an example of how to do this. This will be built into
353
+ this gem more in the future (so that composite requests are made automatically).
354
+
355
+ Following is an example of the time difference for just putting 2 requests into one request.
356
+
357
+ Create Account: 0.96s
358
+ Create Contact linked to this account: 0.75s
359
+ Total: 1.7s
360
+
361
+ Create Contact and account using Composite: 1.24s
362
+
329
363
  #### Reading entities
330
364
  ##### Retrieving entities
331
365
  To retrieve an entity, the `find` method can be called on the class for the object required. For example
@@ -524,4 +558,5 @@ Everyone interacting in the LeapSalesforce project’s codebases, issue trackers
524
558
 
525
559
  ## References
526
560
 
527
- See the presentation on this [here](https://gitpitch.com/leap-dojo/leap_salesforce?grs=gitlab)
561
+ * Presentation on this library [here](https://gitpitch.com/leap-dojo/leap_salesforce?grs=gitlab)
562
+ * Example of this library within a CI/CD pipeline [here](https://gitlab.com/iqa_public/labs/salesforce_cicd_demo)
@@ -42,6 +42,6 @@ It reads the Metadata from Salesforce and creates the foundation for API tests.'
42
42
  spec.add_dependency 'require_all'
43
43
  spec.add_dependency 'rubocop'
44
44
  spec.add_dependency 'simplecov'
45
- spec.add_dependency 'soaspec', '>= 0.3.9' # Version can send payload for :delete method
45
+ spec.add_dependency 'soaspec', '>= 0.3.10' # Version can send payload for :delete method
46
46
  spec.add_dependency 'thor'
47
47
  end
@@ -7,7 +7,7 @@ module LeapSalesforce
7
7
  # @param [Symbol, String] limit_name Name of limit to find remaining amount for
8
8
  # @return [Integer] Finds remaining amount for a Salesforce limit
9
9
  def remaining_for(limit_name)
10
- SoqlData.limits[limit_name]['Remaining']
10
+ Salesforce.limits[limit_name]['Remaining']
11
11
  end
12
12
  end
13
13
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'soql_global_data'
4
+
5
+ # ApiService that interacts with Salesforce via the API globally.
6
+ # For interacts that are specific to an object, use a class inheriting from SoqlData
7
+ # See SoqlGlobalData for details on how it's used
8
+ module Salesforce
9
+ extend SoqlGlobalData
10
+ end
@@ -3,16 +3,19 @@
3
3
  module LeapSalesforce
4
4
  # Handles interaction with Soql, mapping ruby to soql query strings
5
5
  class Soql
6
- # @return [String] Soql table
6
+ # @return [SoqlData] Soql table
7
7
  attr_accessor :soql_table
8
8
 
9
+ # @param [SoqlData] soql_table Object mapping to a Salesforce table
9
10
  def initialize(soql_table)
10
11
  self.soql_table = soql_table
11
12
  @default_filter = soql_table.instance_variable_get(:@default_filter)
12
13
  @soql_object_name = soql_table.soql_object_name
13
14
  end
14
15
 
15
- # This will be inefficient if an Id is passed
16
+ # Find the Salesforce object using the lookup query provided.
17
+ # When id is returned it will look up the id directly, otherwise it will return an
18
+ # object referring to the list of results returned
16
19
  # @return [> SoqlData] SoqlData object that is the result of looking up id based on lookup criteria
17
20
  def lookup_id(lookup)
18
21
  teardown = lookup.delete(:teardown)
@@ -33,6 +36,7 @@ module LeapSalesforce
33
36
  "SELECT Id FROM #{@soql_object_name} #{soql_lookup_filter(lookup)}"
34
37
  end
35
38
 
39
+ # Perform SOQL query against Salesforce
36
40
  # Url encoding needs to be used when searching for special characters (+ => '%2B')
37
41
  # (see https://www.w3schools.com/tags/ref_urlencode.asp)
38
42
  # @param [String] soql_query String representing SOQL query
@@ -56,7 +60,7 @@ module LeapSalesforce
56
60
  def data_from_url(url, lookup)
57
61
  soql_table.new("Id at #{url}", method: :get, suburl: url)
58
62
  rescue NoElementAtPath
59
- raise NoElementAtPath, "No result found for #{lookup} under user #{LeapSalesforce.api_user}"
63
+ raise NoElementAtPath, "No result found for '#{lookup}' under user #{LeapSalesforce.api_user}"
60
64
  end
61
65
 
62
66
  # For dates (ending with .000Z), query is always greater than
@@ -9,7 +9,7 @@ module SoqlGlobalData
9
9
  # SoqlData.limits["['Conga Composer - EU']"]
10
10
  # @return [Exchange] Limits of Salesforce ORG
11
11
  def limits
12
- @limits ||= new("#{self} limits", method: :get, suburl: 'limits/')
12
+ @limits ||= SoqlData.new("#{self} limits", method: :get, suburl: 'limits/')
13
13
  end
14
14
 
15
15
  # Describe all salesforce objects (this returns BIG response)
@@ -23,6 +23,6 @@ module SoqlGlobalData
23
23
  # SoqlData.global_describe['sobjects'].find_all { |obj| obj['label'].include? 'File' }.collect { |f| f['name'] }
24
24
  # @return [Exchange] Global describe of salesforce Objects
25
25
  def global_describe
26
- @global_describe ||= new('Global describe of sobjects', method: :get, suburl: 'sobjects/')
26
+ @global_describe ||= SoqlData.new('Global describe of sobjects', method: :get, suburl: 'sobjects/')
27
27
  end
28
28
  end
@@ -31,7 +31,13 @@ module SoqlGlobalObjectData
31
31
  # @return [< SoqlData] Instance of itself storing reference to found object
32
32
  def find(lookup = {})
33
33
  id_lookup = soql.lookup_id lookup
34
- lookup.key?(:Id) ? id_lookup : soql.data_from_url(id_lookup['$..url'], lookup)
34
+ begin
35
+ lookup.key?(:Id) ? id_lookup : soql.data_from_url(id_lookup['$..url'], lookup)
36
+ rescue NoElementAtPath => e
37
+ raise e unless e.message.include?('"totalSize":0')
38
+
39
+ raise LeapSalesforce::RequestError, "Could not find #{self} using #{lookup}"
40
+ end
35
41
  end
36
42
 
37
43
  # @return [LeapSalesforce::Soql] Object to handle Soql interactions
@@ -144,13 +150,16 @@ module SoqlGlobalObjectData
144
150
  delete
145
151
  end
146
152
 
153
+ # Define a mapping between a ruby friendly name to reference field and Salesforce backend name
154
+ # @param [Symbol, String] name Name of accessor to refer to field/element with
155
+ # @param [String] backend_name Name of Salesforce field
147
156
  def soql_element(name, backend_name)
148
157
  # Either set the element (if creating a new record) or update the object
149
158
  # @param [String] new_value Value to update record to
150
159
  define_method("#{name}=") do |new_value|
151
160
  if @response # Performing an update
152
161
  @response = update(backend_name => new_value).response
153
- else # Setting value on creating new object
162
+ else # Setting value on creating new object. Uses id of object if SoqlData object passed
154
163
  self[backend_name] = new_value.class < SoqlData ? new_value.id : new_value
155
164
  end
156
165
  end
@@ -4,6 +4,7 @@ require 'soaspec'
4
4
 
5
5
  # Handles basic Soql interactions. These are done through classes that are tied to this handler, i.e, the SoqlData
6
6
  # class.
7
+ # This is a service that handles all interactions with the API
7
8
  # Credentials are stored either in 'config/credentials' folder or via environment variables
8
9
  # To check out SOQL SCHEMA go to workbench.developerforce.com. Use Sandbox and login
9
10
  class SoqlHandler < Soaspec::RestHandler
@@ -2,5 +2,5 @@
2
2
 
3
3
  module LeapSalesforce
4
4
  # @return [String] Version of leap salesforce
5
- VERSION = '0.2.21'
5
+ VERSION = '0.2.23'
6
6
  end
@@ -70,6 +70,7 @@ module LeapSalesforce
70
70
  end
71
71
 
72
72
  require 'leap_salesforce/soql_data/soql_data'
73
+ require 'leap_salesforce/soql_data/salesforce'
73
74
  require 'leap_salesforce/limits'
74
75
 
75
76
  FileUtils.mkdir_p lib_folder unless Dir.exist? lib_folder
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leap_salesforce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.21
4
+ version: 0.2.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - IQA
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-02-03 00:00:00.000000000 Z
12
+ date: 2020-03-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -241,14 +241,14 @@ dependencies:
241
241
  requirements:
242
242
  - - ">="
243
243
  - !ruby/object:Gem::Version
244
- version: 0.3.9
244
+ version: 0.3.10
245
245
  type: :runtime
246
246
  prerelease: false
247
247
  version_requirements: !ruby/object:Gem::Requirement
248
248
  requirements:
249
249
  - - ">="
250
250
  - !ruby/object:Gem::Version
251
- version: 0.3.9
251
+ version: 0.3.10
252
252
  - !ruby/object:Gem::Dependency
253
253
  name: thor
254
254
  requirement: !ruby/object:Gem::Requirement
@@ -276,13 +276,6 @@ extra_rdoc_files: []
276
276
  files:
277
277
  - ".gitignore"
278
278
  - ".gitlab-ci.yml"
279
- - ".idea/dictionaries/iqa.xml"
280
- - ".idea/dictionaries/samuelgarratt.xml"
281
- - ".idea/markdown-exported-files.xml"
282
- - ".idea/markdown-navigator.xml"
283
- - ".idea/markdown-navigator/profiles_settings.xml"
284
- - ".idea/misc.xml"
285
- - ".idea/modules.xml"
286
279
  - ".idea/vcs.xml"
287
280
  - ".leap_salesforce.yml"
288
281
  - ".rspec"
@@ -343,6 +336,7 @@ files:
343
336
  - lib/leap_salesforce/soql_data/common_enum_methods.rb
344
337
  - lib/leap_salesforce/soql_data/data_relationships.rb
345
338
  - lib/leap_salesforce/soql_data/meta_data_handler.rb
339
+ - lib/leap_salesforce/soql_data/salesforce.rb
346
340
  - lib/leap_salesforce/soql_data/soql.rb
347
341
  - lib/leap_salesforce/soql_data/soql_data.rb
348
342
  - lib/leap_salesforce/soql_data/soql_enum.rb
@@ -1,11 +0,0 @@
1
- <component name="ProjectDictionaryState">
2
- <dictionary name="iqa">
3
- <words>
4
- <w>rubocop</w>
5
- <w>salesforce</w>
6
- <w>sfdx</w>
7
- <w>soql</w>
8
- <w>topoisomerase</w>
9
- </words>
10
- </dictionary>
11
- </component>
@@ -1,7 +0,0 @@
1
- <component name="ProjectDictionaryState">
2
- <dictionary name="samuelgarratt">
3
- <words>
4
- <w>soaspec</w>
5
- </words>
6
- </dictionary>
7
- </component>
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="MarkdownExportedFiles">
4
- <htmlFiles />
5
- <imageFiles />
6
- <otherFiles />
7
- </component>
8
- </project>
@@ -1,3 +0,0 @@
1
- <component name="MarkdownNavigator.ProfileManager">
2
- <settings default="" pdf-export="" plain-text-search-scope="Project Files" />
3
- </component>
@@ -1,86 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="MarkdownProjectSettings" wasCopied="true">
4
- <PreviewSettings splitEditorLayout="SPLIT" splitEditorPreview="PREVIEW" useGrayscaleRendering="false" zoomFactor="1.0" maxImageWidth="0" showGitHubPageIfSynced="false" allowBrowsingInPreview="false" synchronizePreviewPosition="true" highlightPreviewType="NONE" highlightFadeOut="5" highlightOnTyping="true" synchronizeSourcePosition="true" verticallyAlignSourceAndPreviewSyncPosition="true" showSearchHighlightsInPreview="false" showSelectionInPreview="true" openRemoteLinks="true" replaceUnicodeEmoji="false" lastLayoutSetsDefault="false">
5
- <PanelProvider>
6
- <provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.panel" providerName="Default - Swing" />
7
- </PanelProvider>
8
- </PreviewSettings>
9
- <ParserSettings gitHubSyntaxChange="false" emojiShortcuts="0" emojiImages="0">
10
- <PegdownExtensions>
11
- <option name="ABBREVIATIONS" value="false" />
12
- <option name="ANCHORLINKS" value="true" />
13
- <option name="ASIDE" value="false" />
14
- <option name="ATXHEADERSPACE" value="true" />
15
- <option name="AUTOLINKS" value="true" />
16
- <option name="DEFINITIONS" value="false" />
17
- <option name="DEFINITION_BREAK_DOUBLE_BLANK_LINE" value="false" />
18
- <option name="FENCED_CODE_BLOCKS" value="true" />
19
- <option name="FOOTNOTES" value="false" />
20
- <option name="HARDWRAPS" value="false" />
21
- <option name="HTML_DEEP_PARSER" value="false" />
22
- <option name="INSERTED" value="false" />
23
- <option name="QUOTES" value="false" />
24
- <option name="RELAXEDHRULES" value="true" />
25
- <option name="SMARTS" value="false" />
26
- <option name="STRIKETHROUGH" value="true" />
27
- <option name="SUBSCRIPT" value="false" />
28
- <option name="SUPERSCRIPT" value="false" />
29
- <option name="SUPPRESS_HTML_BLOCKS" value="false" />
30
- <option name="SUPPRESS_INLINE_HTML" value="false" />
31
- <option name="TABLES" value="true" />
32
- <option name="TASKLISTITEMS" value="true" />
33
- <option name="TOC" value="false" />
34
- <option name="WIKILINKS" value="true" />
35
- </PegdownExtensions>
36
- <ParserOptions>
37
- <option name="ADMONITION_EXT" value="false" />
38
- <option name="ATTRIBUTES_EXT" value="false" />
39
- <option name="COMMONMARK_LISTS" value="true" />
40
- <option name="DUMMY" value="false" />
41
- <option name="EMOJI_SHORTCUTS" value="true" />
42
- <option name="ENUMERATED_REFERENCES_EXT" value="false" />
43
- <option name="FLEXMARK_FRONT_MATTER" value="false" />
44
- <option name="GFM_LOOSE_BLANK_LINE_AFTER_ITEM_PARA" value="false" />
45
- <option name="GFM_TABLE_RENDERING" value="true" />
46
- <option name="GITBOOK_URL_ENCODING" value="false" />
47
- <option name="GITHUB_LISTS" value="false" />
48
- <option name="GITHUB_WIKI_LINKS" value="true" />
49
- <option name="GITLAB_EXT" value="false" />
50
- <option name="GITLAB_MATH_EXT" value="false" />
51
- <option name="GITLAB_MERMAID_EXT" value="false" />
52
- <option name="HEADER_ID_NON_ASCII_TO_LOWERCASE" value="false" />
53
- <option name="HEADER_ID_NO_DUPED_DASHES" value="false" />
54
- <option name="JEKYLL_FRONT_MATTER" value="false" />
55
- <option name="MACROS_EXT" value="false" />
56
- <option name="NO_TEXT_ATTRIBUTES" value="false" />
57
- <option name="PARSE_HTML_ANCHOR_ID" value="false" />
58
- <option name="PLANTUML_FENCED_CODE" value="false" />
59
- <option name="PUML_FENCED_CODE" value="false" />
60
- <option name="SIM_TOC_BLANK_LINE_SPACER" value="true" />
61
- </ParserOptions>
62
- </ParserSettings>
63
- <HtmlSettings headerTopEnabled="false" headerBottomEnabled="false" bodyTopEnabled="false" bodyBottomEnabled="false" embedUrlContent="false" addPageHeader="true" embedImages="false" embedHttpImages="false" imageUriSerials="false" addDocTypeHtml="true" noParaTags="false" plantUmlConversion="0" mathConversion="-1">
64
- <GeneratorProvider>
65
- <provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.generator" providerName="Default Swing HTML Generator" />
66
- </GeneratorProvider>
67
- <headerTop />
68
- <headerBottom />
69
- <bodyTop />
70
- <bodyBottom />
71
- </HtmlSettings>
72
- <CssSettings previewScheme="UI_SCHEME" cssUri="" isCssUriEnabled="false" isCssUriSerial="true" isCssTextEnabled="false" isDynamicPageWidth="true">
73
- <StylesheetProvider>
74
- <provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.css" providerName="Default Swing Stylesheet" />
75
- </StylesheetProvider>
76
- <ScriptProviders />
77
- <cssText />
78
- <cssUriHistory />
79
- </CssSettings>
80
- <AnnotatorSettings targetHasSpaces="true" linkCaseMismatch="true" wikiCaseMismatch="true" wikiLinkHasDashes="true" notUnderWikiHome="true" targetNotWikiPageExt="true" notUnderSourceWikiHome="true" targetNameHasAnchor="true" targetPathHasAnchor="true" wikiLinkHasSlash="true" wikiLinkHasSubdir="true" wikiLinkHasOnlyAnchor="true" linkTargetsWikiHasExt="true" linkTargetsWikiHasBadExt="true" notUnderSameRepo="true" targetNotUnderVcs="false" linkNeedsExt="true" linkHasBadExt="true" linkTargetNeedsExt="true" linkTargetHasBadExt="true" wikiLinkNotInWiki="true" imageTargetNotInRaw="true" repoRelativeAcrossVcsRoots="true" multipleWikiTargetsMatch="true" unresolvedLinkReference="true" linkIsIgnored="true" anchorIsIgnored="true" anchorIsUnresolved="true" anchorLineReferenceIsUnresolved="true" anchorLineReferenceFormat="true" anchorHasDuplicates="true" abbreviationDuplicates="true" abbreviationNotUsed="true" attributeIdDuplicateDefinition="true" attributeIdNotUsed="true" footnoteDuplicateDefinition="true" footnoteUnresolved="true" footnoteDuplicates="true" footnoteNotUsed="true" macroDuplicateDefinition="true" macroUnresolved="true" macroDuplicates="true" macroNotUsed="true" referenceDuplicateDefinition="true" referenceUnresolved="true" referenceDuplicates="true" referenceNotUsed="true" referenceUnresolvedNumericId="true" enumRefDuplicateDefinition="true" enumRefUnresolved="true" enumRefDuplicates="true" enumRefNotUsed="true" enumRefLinkUnresolved="true" enumRefLinkDuplicates="true" simTocUpdateNeeded="true" simTocTitleSpaceNeeded="true" />
81
- <HtmlExportSettings updateOnSave="false" parentDir="" targetDir="" cssDir="css" scriptDir="js" plainHtml="false" imageDir="" copyLinkedImages="false" imageUniquifyType="0" targetPathType="2" targetExt="" useTargetExt="false" noCssNoScripts="false" useElementStyleAttribute="false" linkToExportedHtml="true" exportOnSettingsChange="true" regenerateOnProjectOpen="false" linkFormatType="HTTP_ABSOLUTE" />
82
- <LinkMapSettings>
83
- <textMaps />
84
- </LinkMapSettings>
85
- </component>
86
- </project>
data/.idea/misc.xml DELETED
@@ -1,13 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="JavaScriptSettings">
4
- <option name="languageLevel" value="ES6" />
5
- </component>
6
- <component name="ProjectPlainTextFileTypeManager">
7
- <file url="file://$PROJECT_DIR$/lib/leap_salesforce/generator/templates/picklist.rb.erb" />
8
- <file url="file://$PROJECT_DIR$/lib/leap_salesforce/generator/templates/soql_object.rb.erb" />
9
- <file url="file://$PROJECT_DIR$/lib/leap_salesforce/generator/templates/soql_object_field_names.rb.erb" />
10
- <file url="file://$PROJECT_DIR$/lib/leap_salesforce/generator/templates/spec/spec_helper.rb.erb" />
11
- </component>
12
- <component name="ProjectRootManager" version="2" project-jdk-name="RVM: ruby-2.5.0" project-jdk-type="RUBY_SDK" />
13
- </project>
data/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/leap-salesforce.iml" filepath="$PROJECT_DIR$/.idea/leap-salesforce.iml" />
6
- </modules>
7
- </component>
8
- </project>