sf_cli 1.0.0.beta3 → 1.0.0.beta5

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: f7bbf9d5241f6fcaadbcd5777b5396d1d25f52488d61559a5f674dde6e1fc0a2
4
- data.tar.gz: 275ce4a1ed1e10c4f96e38bdb48e3258dd5e21c440269e552951377b7d76fd1f
3
+ metadata.gz: d0d747d19bb4e6c437c2314d83d2e11e138b8f3e241a43a59556fa7fad0829f6
4
+ data.tar.gz: 9474614d2da8a4bf6b7bc297d81d3221b90a13a65dba0727c1aa8067418bf37b
5
5
  SHA512:
6
- metadata.gz: f8db2418276d2a496aa2dc3d594eebc8444b217af660a3f5ce4f5741edd4e00d13530f526ec64c771ba405d4ad4844592845679510872f98e2437f48f8249ad4
7
- data.tar.gz: e6b77f34683b31776332c719ef313693108e4f9243acc2c2dfd7acf1264e55c60b583a95c10e3be6c2d2cfeffc516cc8eba58755b2df62404db6d49f086b4d34
6
+ metadata.gz: 951b09d44c48730ddb22fbe60b54b58179a4c5b34d42e2b374f5a68c291c1d5514dc735cd6a7585840cfaec1936d4b9187ab6846472d870142e502ddec1e8368
7
+ data.tar.gz: 4636eb0848036329af68fb63aec261e4eee191147d6c4327b4cc6ad4f4d516a8ae3c59239af0d969a0cbdc6ce6d8979e00984f90770167fe37e369bce2b3434c
@@ -8,27 +8,32 @@ module SfCli
8
8
  module Console
9
9
  #
10
10
  # Developer Console commands
11
- # @example
12
- # $ bundle exec rake irb[your_target_org]
13
- # irb(main):001> gen :Account, :Contact # generate Account and Contact class
14
- # => [:Account, :Contact]
15
- #
16
- # irb(main):002> Account.describe.label
17
- # => "Account"
18
- #
19
- # irb(main):003> apex "System.debug('abc');" # execute Apex code
20
- # => returns the result
21
11
  #
22
12
  module Commands
23
- def use(_target_org)
24
- target_org = _target_org.to_sym == :default ? nil : _target_org
13
+ def use(target_org)
25
14
  org_info = sf.org.display target_org: target_org
15
+ #sf.org.login_web target_org: target_org, instance_url: org_info.instance_url unless org_info.connected?
16
+
26
17
  conn = SfCli::Sf::Model::SfCommandConnection.new target_org: target_org, instance_url: org_info.instance_url
18
+ conn.open unless org_info.connected?
19
+
27
20
  SfCli::Sf::Model.set_connection conn
21
+
22
+ available_models.each do |model|
23
+ Object.const_get(model).connection = conn
24
+ end
25
+
26
+ true
27
+ end
28
+
29
+ def available_models
30
+ @available_models ||= []
28
31
  end
29
32
 
30
33
  def generate(*object_types)
31
34
  SfCli::Sf::Model.generate object_types
35
+ available_models.append(*object_types).flatten
36
+ object_types
32
37
  end
33
38
 
34
39
  def connection
@@ -45,8 +50,63 @@ module SfCli
45
50
  sf.apex.run target_org: target_org, file: StringIO.new(apex_code)
46
51
  end
47
52
 
53
+ def query(soql)
54
+ conf.inspect_mode = false
55
+ puts sf.data.query(soql, format: :human, target_org: target_org)
56
+ conf.inspect_mode = true
57
+ end
58
+
48
59
  alias :gen :generate
49
60
  alias :conn :connection
61
+
62
+ def help(command = nil)
63
+ conf.inspect_mode = false
64
+ puts <<~HELP
65
+ Available commands:
66
+ use --- set current org. If you use your default org, this isn't needed.
67
+ gen --- generate Object model classes
68
+ query --- Query by SOQL with human readable format
69
+ apex --- run Apex code
70
+ conn --- show current connection setting
71
+
72
+ Syntax:
73
+ [use]
74
+ use target-org
75
+
76
+ parameters:
77
+ targat-org --- Username or alias of the org you are going to use.
78
+
79
+ [gen]
80
+ gen object-name, object-name, ...
81
+ generate object-name, object-name, ...
82
+
83
+ parameters:
84
+ object-name --- Comma separated Names. Symbol or String can be OK. At least 1 object name is required.
85
+
86
+ example:
87
+ gen :Account, :Contact, :User
88
+
89
+ [query]
90
+ query SOQL
91
+
92
+ parameters:
93
+ SOQL --- soql
94
+
95
+ [apex]
96
+ apex apex_code
97
+
98
+ parameters:
99
+ apex code --- Apex code you want to execute
100
+
101
+ example:
102
+ apex "System.debug('abc');"
103
+
104
+ [conn]
105
+ conn
106
+ connection
107
+ HELP
108
+ conf.inspect_mode = true
109
+ end
50
110
  end
51
111
  end
52
112
  end
@@ -1,6 +1,10 @@
1
1
  module SfCli::Sf::Org
2
2
  module Display
3
- ConnectionInfo = Struct.new(:id, :access_token, :alias, :instance_url, :user_name, :api_version, :status)
3
+ ConnectionInfo = Struct.new(:id, :access_token, :alias, :instance_url, :user_name, :api_version, :status) do
4
+ def connected?
5
+ status == 'Connected'
6
+ end
7
+ end
4
8
 
5
9
  #
6
10
  # Returns the org's connection information
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sf_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta3
4
+ version: 1.0.0.beta5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takanobu Maekawa