sf_cli 0.0.4 → 0.0.6

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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -2
  3. data/README.rdoc +85 -40
  4. data/lib/sf_cli/sf/core/base.rb +2 -0
  5. data/lib/sf_cli/sf/data/bulk_result_v2.rb +77 -0
  6. data/lib/sf_cli/sf/data/core.rb +22 -162
  7. data/lib/sf_cli/sf/data/create_record.rb +30 -0
  8. data/lib/sf_cli/sf/data/delete_bulk.rb +47 -0
  9. data/lib/sf_cli/sf/data/delete_record.rb +33 -0
  10. data/lib/sf_cli/sf/data/delete_resume.rb +47 -0
  11. data/lib/sf_cli/sf/data/get_record.rb +42 -0
  12. data/lib/sf_cli/sf/data/helper_methods.rb +12 -0
  13. data/lib/sf_cli/sf/data/query.rb +120 -0
  14. data/lib/sf_cli/sf/data/query_helper.rb +57 -0
  15. data/lib/sf_cli/sf/data/resume.rb +87 -0
  16. data/lib/sf_cli/sf/data/search.rb +50 -0
  17. data/lib/sf_cli/sf/data/update_record.rb +38 -0
  18. data/lib/sf_cli/sf/data/upsert_bulk.rb +50 -0
  19. data/lib/sf_cli/sf/data/upsert_resume.rb +47 -0
  20. data/lib/sf_cli/sf/model/base_methods.rb +62 -0
  21. data/lib/sf_cli/sf/model/class_definition.rb +34 -43
  22. data/lib/sf_cli/sf/model/dml_methods.rb +36 -0
  23. data/lib/sf_cli/sf/model/generator.rb +8 -7
  24. data/lib/sf_cli/sf/model/query_condition.rb +136 -0
  25. data/lib/sf_cli/sf/model/query_methods.rb +58 -0
  26. data/lib/sf_cli/sf/model/sf_command_connection.rb +60 -0
  27. data/lib/sf_cli/sf/model.rb +10 -2
  28. data/lib/sf_cli/sf/org/core.rb +6 -44
  29. data/lib/sf_cli/sf/org/display.rb +41 -0
  30. data/lib/sf_cli/sf/org/list.rb +67 -0
  31. data/lib/sf_cli/sf/org/login.rb +64 -0
  32. data/lib/sf_cli/sf/project/core.rb +10 -3
  33. data/lib/sf_cli/sf/sobject/core.rb +15 -5
  34. data/lib/sf_cli/sf/sobject/schema.rb +47 -0
  35. data/lib/sf_cli.rb +8 -5
  36. metadata +29 -8
  37. data/lib/sf_cli/sf/model/schema.rb +0 -33
@@ -0,0 +1,47 @@
1
+ module SfCli
2
+ module Sf
3
+ module Sobject
4
+ class Schema
5
+ attr_reader :schema
6
+
7
+ def initialize(schema)
8
+ @schema = schema
9
+ end
10
+
11
+ def all
12
+ schema
13
+ end
14
+
15
+ def name
16
+ @name ||= schema['name']
17
+ end
18
+
19
+ def label
20
+ @label ||= schema['label']
21
+ end
22
+
23
+ def field_names
24
+ @field_names ||= schema['fields'].map{|f| f['name'].to_sym}
25
+ end
26
+
27
+ def fields
28
+ @field_map ||= schema['fields'].each_with_object({}) do |f, h|
29
+ h[f['name'].to_sym] = f
30
+ end
31
+ end
32
+
33
+ def children_relations
34
+ schema['childRelationships']
35
+ .select{|r| r['relationshipName'].nil? == false}
36
+ .map{|r| {name: r['relationshipName'].to_sym, field: r['field'].to_sym, class_name: r['childSObject'].to_sym}}
37
+ end
38
+
39
+ def parent_relations
40
+ schema['fields']
41
+ .select{|f| f['relationshipName'].nil? == false && f['referenceTo']&.size > 0}
42
+ .map{|f| {name: f['relationshipName'].to_sym, field: f['name'].to_sym, class_name: f['referenceTo'].first.to_sym}}
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
data/lib/sf_cli.rb CHANGED
@@ -1,15 +1,18 @@
1
1
  require 'sf_cli/sf/main'
2
2
  #
3
3
  # the global method that represents *sf* command.
4
- # This is desgined as the syntax suger, which can use with similar usability to the original.
5
4
  #
6
- # For command details, see the {reference document}[https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference_unified.htm]
5
+ # With method chaining, you can use similar syntax as original command.
7
6
  #
8
7
  # == examples
9
- # # you can follow the similar syntax to the original command by using method chain.
10
8
  #
11
- # sf.org.display # same as original command 'sf org display'
12
- # sf.data.query "SELECT Name FROM Account" # same as original command 'sf data query "SELECT Name FROM Account"`
9
+ # ======
10
+ # sf.org.display # => returns the org information object
11
+ #
12
+ # ======
13
+ # sf.data.query "SELECT Name FROM Account" # => [{"Name"=>"Aethna Home Products"}]
14
+ #
15
+ # For details of sf command, see the {reference guide}[https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference_unified.htm]
13
16
  #
14
17
  def sf
15
18
  SfCli::Sf::Main.instance
metadata CHANGED
@@ -1,18 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sf_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takanobu Maekawa
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-01 00:00:00.000000000 Z
11
+ date: 2024-09-16 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: This is a class library for introducing Salesforce CLI to Ruby scripting.
14
14
  Currenty only sf command is the target of development.
15
- email:
15
+ email:
16
16
  executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files:
@@ -23,22 +23,43 @@ files:
23
23
  - README.rdoc
24
24
  - lib/sf_cli.rb
25
25
  - lib/sf_cli/sf/core/base.rb
26
+ - lib/sf_cli/sf/data/bulk_result_v2.rb
26
27
  - lib/sf_cli/sf/data/core.rb
28
+ - lib/sf_cli/sf/data/create_record.rb
29
+ - lib/sf_cli/sf/data/delete_bulk.rb
30
+ - lib/sf_cli/sf/data/delete_record.rb
31
+ - lib/sf_cli/sf/data/delete_resume.rb
32
+ - lib/sf_cli/sf/data/get_record.rb
27
33
  - lib/sf_cli/sf/data/helper_methods.rb
34
+ - lib/sf_cli/sf/data/query.rb
35
+ - lib/sf_cli/sf/data/query_helper.rb
36
+ - lib/sf_cli/sf/data/resume.rb
37
+ - lib/sf_cli/sf/data/search.rb
38
+ - lib/sf_cli/sf/data/update_record.rb
39
+ - lib/sf_cli/sf/data/upsert_bulk.rb
40
+ - lib/sf_cli/sf/data/upsert_resume.rb
28
41
  - lib/sf_cli/sf/main.rb
29
42
  - lib/sf_cli/sf/model.rb
43
+ - lib/sf_cli/sf/model/base_methods.rb
30
44
  - lib/sf_cli/sf/model/class_definition.rb
45
+ - lib/sf_cli/sf/model/dml_methods.rb
31
46
  - lib/sf_cli/sf/model/generator.rb
32
- - lib/sf_cli/sf/model/schema.rb
47
+ - lib/sf_cli/sf/model/query_condition.rb
48
+ - lib/sf_cli/sf/model/query_methods.rb
49
+ - lib/sf_cli/sf/model/sf_command_connection.rb
33
50
  - lib/sf_cli/sf/org/core.rb
51
+ - lib/sf_cli/sf/org/display.rb
52
+ - lib/sf_cli/sf/org/list.rb
53
+ - lib/sf_cli/sf/org/login.rb
34
54
  - lib/sf_cli/sf/project/core.rb
35
55
  - lib/sf_cli/sf/sobject/core.rb
56
+ - lib/sf_cli/sf/sobject/schema.rb
36
57
  homepage: https://github.com/tmkw/sf_cli
37
58
  licenses:
38
59
  - MIT
39
60
  metadata:
40
61
  homepage_url: https://github.com/tmkw/sf_cli
41
- post_install_message:
62
+ post_install_message:
42
63
  rdoc_options: []
43
64
  require_paths:
44
65
  - lib
@@ -53,9 +74,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
53
74
  - !ruby/object:Gem::Version
54
75
  version: '0'
55
76
  requirements:
56
- - 'Salesforce CLI ( >= 2.54.0): https://developer.salesforce.com/tools/salesforcecli'
77
+ - 'Salesforce CLI ( >= 2.56.7): https://developer.salesforce.com/tools/salesforcecli'
57
78
  rubygems_version: 3.5.11
58
- signing_key:
79
+ signing_key:
59
80
  specification_version: 4
60
81
  summary: A library for using Salesforce CLI in Ruby
61
82
  test_files: []
@@ -1,33 +0,0 @@
1
- module SfCli
2
- module Sf
3
- module Model
4
- class Schema
5
- attr_reader :schema
6
-
7
- def initialize(schema)
8
- @schema = schema
9
- end
10
-
11
- def name
12
- schema['name']
13
- end
14
-
15
- def field_names
16
- schema['fields'].map{|f| f['name'].to_sym}
17
- end
18
-
19
- def children_relations
20
- schema['childRelationships']
21
- .select{|r| r['relationshipName'].nil? == false}
22
- .map{|r| {name: r['relationshipName'].to_sym, class_name: r['childSObject'].to_sym}}
23
- end
24
-
25
- def parent_relations
26
- schema['fields']
27
- .select{|f| f['relationshipName'].nil? == false && f['referenceTo']&.size > 0}
28
- .map{|f| {name: f['relationshipName'].to_sym, class_name: f['referenceTo'].first.to_sym}}
29
- end
30
- end
31
- end
32
- end
33
- end