sf_cli 0.0.4 → 0.0.6

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