leap_salesforce 0.2.21 → 0.2.23

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
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>