alet 0.1.0
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 +7 -0
- data/bin/alet +4 -0
- data/lib/alet/app.rb +77 -0
- data/lib/alet/config/locales/en.yml +103 -0
- data/lib/alet/config/locales/ja.yml +104 -0
- data/lib/alet/config.rb +31 -0
- data/lib/alet/generate/project.rb +22 -0
- data/lib/alet/irb/command/export.rb +24 -0
- data/lib/alet/irb/command/generate_model.rb +10 -0
- data/lib/alet/irb/command/query.rb +21 -0
- data/lib/alet/irb/command/sh.rb +18 -0
- data/lib/alet/irb/helper_methods.rb +45 -0
- data/lib/alet/irb.rb +48 -0
- data/lib/alet/utils/irb.rb +19 -0
- data/lib/alet/version.rb +3 -0
- metadata +157 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: dd98bfc5b916cdb44ed82a989ff245b3d9beb2d1a718b041daa04aec1c80d702
|
4
|
+
data.tar.gz: 63022319f768a23d3b8a263510e76ed9e757d5108141a8fd0998fc1c50c8b52b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: eddff301a4933e57d9f319131926936fc7de7f6aef2cba066bc136d7233a43b34a49978ba8ef24729ccda52f0cdef96b954e8e381a3c17ae1e6c2639789d88d2
|
7
|
+
data.tar.gz: b931f8e9185e58c9ea0a4dd6285af06ec2fb0c2f3e2ab24eaf1d080438dcadbb15540d42eab82bea764fdee7fb5966dff751f4b9567485f4558e6b7eef79062e
|
data/bin/alet
ADDED
data/lib/alet/app.rb
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'gli'
|
2
|
+
require 'irb'
|
3
|
+
require 'alet/config'
|
4
|
+
require 'alet/utils/irb'
|
5
|
+
require 'alet/generate/project'
|
6
|
+
require 'alet/version'
|
7
|
+
require 'i18n'
|
8
|
+
|
9
|
+
#
|
10
|
+
# i18n settings
|
11
|
+
#
|
12
|
+
I18n.load_path += Alet.config.i18n.load_path
|
13
|
+
I18n.default_locale = :en
|
14
|
+
I18n.locale = /jp|JP|ja|ja_JP/.match?(ENV['LANG']) ? :ja : :en
|
15
|
+
|
16
|
+
def t(indicator)
|
17
|
+
I18n.t(indicator)
|
18
|
+
end
|
19
|
+
|
20
|
+
module Alet
|
21
|
+
class App
|
22
|
+
extend GLI::App
|
23
|
+
|
24
|
+
using IRBUtils
|
25
|
+
|
26
|
+
program_desc t('cli.desc')
|
27
|
+
version Alet::VERSION
|
28
|
+
|
29
|
+
desc t('cli.target_org')
|
30
|
+
flag [:o, 'target-org'], default_value: nil, arg_name: 'org'
|
31
|
+
|
32
|
+
|
33
|
+
desc t('cli.irb.desc')
|
34
|
+
command :irb do |c|
|
35
|
+
c.desc desc t('cli.target_org')
|
36
|
+
c.flag [:o, 'target-org'], default_value: nil, arg_name: 'org'
|
37
|
+
|
38
|
+
c.example "alet", desc: t('cli.irb.example.default')
|
39
|
+
c.example "alet -o org", desc: t('cli.irb.example.target_org')
|
40
|
+
|
41
|
+
c.action do |global_options, options, args|
|
42
|
+
Alet.config.cli_options[:"target-org"] = global_options['target-org'] || options['target-org']
|
43
|
+
IRB.start(__FILE__, ['-r', 'alet/irb', '--noscript', global_options['target-org']])
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
desc t('cli.generate.desc')
|
48
|
+
command [:generate, :g] do |c|
|
49
|
+
c.desc desc t('cli.generate.project.desc')
|
50
|
+
c.arg_name 'project_name'
|
51
|
+
c.command :project do |prj|
|
52
|
+
prj.desc t('cli.generate.project.target_org')
|
53
|
+
prj.flag [:o, 'target-org'], default_value: nil, arg_name: 'org'
|
54
|
+
|
55
|
+
prj.desc t('cli.generate.project.manifest')
|
56
|
+
prj.switch [:m, :manifest], negatable: false
|
57
|
+
|
58
|
+
prj.desc t('cli.generate.project.open_editor')
|
59
|
+
prj.switch [:e, 'editor-open'], negatable: false
|
60
|
+
|
61
|
+
prj.desc t('cli.generate.project.retrieve')
|
62
|
+
prj.switch [:r, 'retrieve'], negatable: false
|
63
|
+
|
64
|
+
prj.example "alet generate project MyProject", desc: t('cli.generate.project.example.default')
|
65
|
+
prj.example "alet generate project MyProject -m", desc: t('cli.generate.project.example.manifest')
|
66
|
+
prj.example "alet generate project MyProject -m -o org", desc: t('cli.generate.project.example.from_org')
|
67
|
+
prj.example "alet generate project MyProject -mr -o org", desc:t('cli.generate.project.example.retrieve')
|
68
|
+
|
69
|
+
prj.action do |_, options, args|
|
70
|
+
Alet::Project.generate(args.first, **options)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
default_command :irb
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
en:
|
2
|
+
cli:
|
3
|
+
desc: A Ruby-styled Salesforce console utility
|
4
|
+
target_org: Username or alias of the target org
|
5
|
+
irb:
|
6
|
+
desc: start irb session(if there is no subcommand specified, irb gets default)
|
7
|
+
example:
|
8
|
+
default: start irb session
|
9
|
+
target_org: start irb session with specifying target org
|
10
|
+
generate:
|
11
|
+
desc: generate resources that are related to Salesforce DX project
|
12
|
+
project:
|
13
|
+
desc: generate salesforce DX project
|
14
|
+
target_org: Username or alias of the target org, which the manifest and source files are generated based on
|
15
|
+
manifest: Generate a manifest (package.xml)
|
16
|
+
retrieve: Retrieve source files from org
|
17
|
+
open_editor: open editor(vs code) to edit the project
|
18
|
+
example:
|
19
|
+
default: create a Salesfore DX project
|
20
|
+
manifest: create a Salesfore DX project with manifest file (package.xml)
|
21
|
+
from_org: The manifest file is built based on org
|
22
|
+
retrieve: The manifest file and medadata source files are built based on org. This option is only available with -o option.
|
23
|
+
connection:
|
24
|
+
description: Current connection with Salesforce
|
25
|
+
apex:
|
26
|
+
description: Execute Apex code
|
27
|
+
gen:
|
28
|
+
description: Generate sObject classes
|
29
|
+
help: |
|
30
|
+
## Name
|
31
|
+
gen
|
32
|
+
|
33
|
+
## SYNOPSIS
|
34
|
+
gene sObjectType...
|
35
|
+
|
36
|
+
## DESCRIPTION
|
37
|
+
generate sObject classes
|
38
|
+
|
39
|
+
## ARGUMENTS
|
40
|
+
**sObjectType** sObject type
|
41
|
+
|
42
|
+
## EXAMPLES
|
43
|
+
```shell
|
44
|
+
gen Account Contact User
|
45
|
+
query:
|
46
|
+
description: Query by SOQL
|
47
|
+
help: |
|
48
|
+
## NAME
|
49
|
+
query
|
50
|
+
|
51
|
+
## SYNOPSIS
|
52
|
+
query SOQL
|
53
|
+
|
54
|
+
## DESCRIPTION
|
55
|
+
query by SOQL
|
56
|
+
|
57
|
+
## ARGUMENTS
|
58
|
+
**SOQL** - a SOQL query (SELECT statement)
|
59
|
+
|
60
|
+
## EXAMPLE
|
61
|
+
```shell
|
62
|
+
query SELECT Id, Name FROM Account Name LIKE '%hoge%'
|
63
|
+
```
|
64
|
+
sh:
|
65
|
+
description: Excute shell command
|
66
|
+
help: |
|
67
|
+
## NAME
|
68
|
+
sh
|
69
|
+
|
70
|
+
## SYNOPSIS
|
71
|
+
sh [command]
|
72
|
+
|
73
|
+
## DESCRIPTION
|
74
|
+
excute shell command
|
75
|
+
|
76
|
+
## ARGUMENTS
|
77
|
+
**command** - shell command
|
78
|
+
|
79
|
+
If no command is specified, it starts interactive mode. To escape interactive mode, press CTRL-D
|
80
|
+
|
81
|
+
## EXAMPLE
|
82
|
+
```shell
|
83
|
+
sh ls -aF
|
84
|
+
```
|
85
|
+
export:
|
86
|
+
description: Export sObject records
|
87
|
+
help: |
|
88
|
+
## NAME
|
89
|
+
export
|
90
|
+
|
91
|
+
## SYNOPSIS
|
92
|
+
export SOQL
|
93
|
+
|
94
|
+
## DESCRIPTION
|
95
|
+
export sObject records. If it succeeds, a csv file is created.
|
96
|
+
|
97
|
+
## ARGUMENTS
|
98
|
+
**SOQL** SOQL(SELECT statement)
|
99
|
+
|
100
|
+
## EXAMPLE
|
101
|
+
```shell
|
102
|
+
export SELECT Id, Name FROM Account
|
103
|
+
```
|
@@ -0,0 +1,104 @@
|
|
1
|
+
ja:
|
2
|
+
cli:
|
3
|
+
desc: RubyスタイルのSalesforceコンソールユーティリティ
|
4
|
+
target_org: ユーザー名またはSF組織の別名
|
5
|
+
irb:
|
6
|
+
desc: irbセッションを開始
|
7
|
+
example:
|
8
|
+
default: irbセッションを開始.
|
9
|
+
target_org: SF組織の別名またはログインユーザー名を指定してirbを起動
|
10
|
+
generate:
|
11
|
+
desc: Salesforce DXプロジェクトに関連した資材を生成する
|
12
|
+
project:
|
13
|
+
desc: salesforce DX projectを生成する
|
14
|
+
target_org: マニフェストファイルとソースファイルの読み込み先となるSF組織の別名またはその組織のユーザー名
|
15
|
+
manifest: マニフェストファイル(package.xml)を生成する
|
16
|
+
retrieve: マニフェストファイルの内容を元にSF組織からソースファイルを取得する
|
17
|
+
open_editor: プロジェクト構築完了後、そのプロジェクトをカレントディレクトとしてvs codeを起動する
|
18
|
+
example:
|
19
|
+
default: a Salesfore DXプロジェクトのディレクトリを作成する
|
20
|
+
manifest: プロジェクトディレクトリにマニフェストファイル(package.xml)を含める
|
21
|
+
from_org: 接続組織のメタデータ情報を元にマニフェストファイルの内容を書き込む.
|
22
|
+
retrieve: メタデータのソースファイルをDXプロジェクト内に生成する
|
23
|
+
connection:
|
24
|
+
description: 現在のSalesforce組織との接続情報
|
25
|
+
apex:
|
26
|
+
description: Apexコードを実行する
|
27
|
+
gen:
|
28
|
+
description: 1つ以上のsObjectクラスを生成する
|
29
|
+
help: |
|
30
|
+
## Name
|
31
|
+
gen
|
32
|
+
|
33
|
+
## SYNOPSIS
|
34
|
+
gen sObjectType...
|
35
|
+
|
36
|
+
## DESCRIPTION
|
37
|
+
1つ以上のsObjectクラスを生成する
|
38
|
+
|
39
|
+
## ARGUMENTS
|
40
|
+
**sObjectType** sObjectの型名
|
41
|
+
|
42
|
+
## EXAMPLES
|
43
|
+
```shell
|
44
|
+
gen Account Contact User
|
45
|
+
```
|
46
|
+
query:
|
47
|
+
description: SOQLを使ってレコードを検索する
|
48
|
+
help: |
|
49
|
+
## NAME
|
50
|
+
query
|
51
|
+
|
52
|
+
## SYNOPSIS
|
53
|
+
query SOQL
|
54
|
+
|
55
|
+
## DESCRIPTION
|
56
|
+
SOQLを使ってレコードを検索する
|
57
|
+
|
58
|
+
## ARGUMENTS
|
59
|
+
**SOQL** - SOQL(SELECT 構文)
|
60
|
+
|
61
|
+
## EXAMPLE
|
62
|
+
```shell
|
63
|
+
query SELECT Id, Name FROM Account Name LIKE '%hoge%'
|
64
|
+
```
|
65
|
+
sh:
|
66
|
+
description: シェルコマンドを実行する
|
67
|
+
help: |
|
68
|
+
## NAME
|
69
|
+
sh
|
70
|
+
|
71
|
+
## SYNOPSIS
|
72
|
+
sh [command]
|
73
|
+
|
74
|
+
## DESCRIPTION
|
75
|
+
シェルコマンドを実行する
|
76
|
+
|
77
|
+
## ARGUMENTS
|
78
|
+
**command** - 実行するコマンドライン
|
79
|
+
|
80
|
+
コマンドを指定せずにEnterを押すとインタラクティブモードに移行する。インタラクティブモードから抜けるにはCTR-Dを押す
|
81
|
+
|
82
|
+
## EXAMPLE
|
83
|
+
```shell
|
84
|
+
sh ls -aF
|
85
|
+
```
|
86
|
+
export:
|
87
|
+
description: レコードをエクスポートする
|
88
|
+
help: |
|
89
|
+
## NAME
|
90
|
+
export
|
91
|
+
|
92
|
+
## SYNOPSIS
|
93
|
+
export SOQL
|
94
|
+
|
95
|
+
## DESCRIPTION
|
96
|
+
レコードをエクスポートする.正常に終了するとカレントディレクトリにCSVファイルが生成される.
|
97
|
+
|
98
|
+
## ARGUMENTS
|
99
|
+
**SOQL** SOQL(SELECT構文)
|
100
|
+
|
101
|
+
## EXAMPLE
|
102
|
+
```shell
|
103
|
+
export SELECT Id, Name FROM Account
|
104
|
+
```
|
data/lib/alet/config.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
module Alet
|
2
|
+
def self.config
|
3
|
+
@config ||= Config.new
|
4
|
+
end
|
5
|
+
|
6
|
+
class Config
|
7
|
+
def connection
|
8
|
+
@connection
|
9
|
+
end
|
10
|
+
alias conn connection
|
11
|
+
|
12
|
+
def connection=(conn)
|
13
|
+
@connection = conn
|
14
|
+
end
|
15
|
+
alias conn= connection=
|
16
|
+
|
17
|
+
def cli_options
|
18
|
+
@cli_options ||= {}
|
19
|
+
end
|
20
|
+
|
21
|
+
def i18n
|
22
|
+
@i18n ||= I18nConfig.new
|
23
|
+
end
|
24
|
+
|
25
|
+
class I18nConfig
|
26
|
+
def load_path
|
27
|
+
Dir[File.expand_path("../config/locales", __FILE__) + "/*.yml"]
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'sf_cli'
|
2
|
+
|
3
|
+
module Alet
|
4
|
+
module Project
|
5
|
+
def self.generate(project_name, params)
|
6
|
+
base_dir = Dir.pwd
|
7
|
+
target_org = params[:"target-org"]
|
8
|
+
retrieve_source = params[:retrieve]
|
9
|
+
editor = params[:"editor-open"]
|
10
|
+
|
11
|
+
sf.project.generate project_name, manifest: true
|
12
|
+
|
13
|
+
Dir.chdir project_name
|
14
|
+
|
15
|
+
sf.project.generate_manifest from_org: target_org, output_dir: 'manifest' if target_org
|
16
|
+
sf.project.retrieve_start manifest: 'manifest/package.xml', target_org: target_org if retrieve_source
|
17
|
+
system 'code .' if editor
|
18
|
+
ensure
|
19
|
+
Dir.chdir base_dir
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class Export < IRB::Command::Base
|
2
|
+
category "Alet"
|
3
|
+
description t('export.description')
|
4
|
+
help_message TTY::Markdown.parse t('export.help')
|
5
|
+
|
6
|
+
def execute(arg)
|
7
|
+
soql =
|
8
|
+
if /\ASELECT/.match?(arg.strip.upcase)
|
9
|
+
arg
|
10
|
+
else
|
11
|
+
object = eval(arg)
|
12
|
+
object.to_soql if object&.instance_of? Yamori::QueryMethods::QueryCondition
|
13
|
+
end
|
14
|
+
|
15
|
+
return if soql.nil?
|
16
|
+
|
17
|
+
csv = sf.data.query(soql, format: :csv, target_org: ::Alet.config.connection.alias)
|
18
|
+
|
19
|
+
filename = "#{Time.now.strftime('%Y%m%d%H%M%S')}_export.csv"
|
20
|
+
File.open(filename, 'w'){|f| f.write(csv) }
|
21
|
+
|
22
|
+
puts filename
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
class GenerateModel < IRB::Command::Base
|
2
|
+
category "Alet"
|
3
|
+
description t('gen.description')
|
4
|
+
help_message TTY::Markdown.parse t('gen.help')
|
5
|
+
|
6
|
+
def execute(arg)
|
7
|
+
object_types = arg.split(' ').map{|s| s.tr(' ', '')}
|
8
|
+
Yamori.generate(*object_types)
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'yamori/query_condition'
|
2
|
+
|
3
|
+
class Query < IRB::Command::Base
|
4
|
+
category "Alet"
|
5
|
+
description t('query.description')
|
6
|
+
help_message TTY::Markdown.parse t('query.help')
|
7
|
+
|
8
|
+
def execute(arg)
|
9
|
+
soql =
|
10
|
+
if /\ASELECT/.match?(arg.strip.upcase)
|
11
|
+
arg
|
12
|
+
else
|
13
|
+
object = eval(arg)
|
14
|
+
object.to_soql if object&.instance_of? Yamori::QueryMethods::QueryCondition
|
15
|
+
end
|
16
|
+
|
17
|
+
return if soql.nil?
|
18
|
+
|
19
|
+
puts sf.data.query(soql, format: :human, target_org: ::Alet.config.connection.alias)
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class Shell < IRB::Command::Base
|
2
|
+
category "Alet"
|
3
|
+
description t('sh.description')
|
4
|
+
help_message TTY::Markdown.parse t('sh.help')
|
5
|
+
|
6
|
+
def execute(arg)
|
7
|
+
::IRB.conf[:INSPECT_MODE] = false
|
8
|
+
return puts `#{arg}` if arg.size > 0
|
9
|
+
|
10
|
+
s = $stdin.gets
|
11
|
+
while s
|
12
|
+
puts `#{s}`
|
13
|
+
s = $stdin.gets
|
14
|
+
end
|
15
|
+
ensure
|
16
|
+
::IRB.conf[:INSPECT_MODE] = true
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'irb/helper_method/base'
|
2
|
+
|
3
|
+
class CurrentConnection < IRB::HelperMethod::Base
|
4
|
+
description t('connection.description')
|
5
|
+
|
6
|
+
def execute
|
7
|
+
info = Alet.config.connection
|
8
|
+
table =
|
9
|
+
TTY::Table.new(rows: [
|
10
|
+
[:id, info.id],
|
11
|
+
[:alias, info.alias],
|
12
|
+
[:user_name, info.user_name],
|
13
|
+
[:status, info.status],
|
14
|
+
[:instance_url, info.instance_url],
|
15
|
+
[:api_version, info.api_version],
|
16
|
+
[:access_token, info.access_token]
|
17
|
+
])
|
18
|
+
puts table.render :unicode
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class Apex < IRB::HelperMethod::Base
|
23
|
+
description t('apex.description')
|
24
|
+
|
25
|
+
def execute(apex_code = nil, verbose: false)
|
26
|
+
result =
|
27
|
+
if apex_code
|
28
|
+
sf.apex.run target_org: Alet.config.conn.alias, file: StringIO.new(apex_code)
|
29
|
+
else
|
30
|
+
sf.apex.run target_org: Alet.config.conn.alias
|
31
|
+
end
|
32
|
+
|
33
|
+
IRB.conf[:INSPECT_MODE] = false
|
34
|
+
if verbose
|
35
|
+
result.logs.each{|line| puts line }
|
36
|
+
else
|
37
|
+
pastel = Pastel.new
|
38
|
+
result.logs.select{|line| line.include? "USER_DEBUG"}.each do |line|
|
39
|
+
match_result = /USER_DEBUG\|.+DEBUG\|(.+)\Z/.match(line)
|
40
|
+
puts pastel.cyan(match_result[1])
|
41
|
+
end
|
42
|
+
end
|
43
|
+
IRB.conf[:INSPECT_MODE] = true
|
44
|
+
end
|
45
|
+
end
|
data/lib/alet/irb.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'sf_cli'
|
2
|
+
require 'yamori'
|
3
|
+
require 'alet/config'
|
4
|
+
require 'irb/command/base'
|
5
|
+
require 'tty-markdown'
|
6
|
+
require 'tty-table'
|
7
|
+
require 'pastel'
|
8
|
+
require 'i18n'
|
9
|
+
|
10
|
+
I18n.locale = IRB.conf[:LC_MESSAGES].lang.to_sym
|
11
|
+
|
12
|
+
#
|
13
|
+
# load commands
|
14
|
+
#
|
15
|
+
require_relative 'irb/command/generate_model'
|
16
|
+
require_relative 'irb/command/query'
|
17
|
+
require_relative 'irb/command/sh'
|
18
|
+
require_relative 'irb/command/export'
|
19
|
+
|
20
|
+
IRB::Command.register :gen, GenerateModel
|
21
|
+
IRB::Command.register :query, Query
|
22
|
+
IRB::Command.register :export, Export
|
23
|
+
IRB::Command.register :sh, Shell
|
24
|
+
|
25
|
+
#
|
26
|
+
# load helper methods
|
27
|
+
#
|
28
|
+
require_relative 'irb/helper_methods'
|
29
|
+
|
30
|
+
IRB::HelperMethod.register(:conn, CurrentConnection)
|
31
|
+
IRB::HelperMethod.register(:apex, Apex)
|
32
|
+
|
33
|
+
|
34
|
+
#
|
35
|
+
# set connection
|
36
|
+
#
|
37
|
+
conn = sf.org.display target_org: Alet.config.cli_options[:"target-org"]
|
38
|
+
|
39
|
+
Alet.config.connection = conn
|
40
|
+
|
41
|
+
sf.org.login_web target_org: conn.alias, instance_url: conn.instance_url unless conn.connected?
|
42
|
+
|
43
|
+
Yamori.connect(
|
44
|
+
:rest,
|
45
|
+
instance_url: conn.instance_url,
|
46
|
+
access_token: conn.access_token,
|
47
|
+
api_version: conn.api_version
|
48
|
+
)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module IRBUtils
|
2
|
+
refine IRB do
|
3
|
+
def IRB.start(ap_path, argv)
|
4
|
+
STDOUT.sync = true
|
5
|
+
$0 = File::basename(ap_path, ".rb") if ap_path
|
6
|
+
|
7
|
+
setup(ap_path, argv: argv)
|
8
|
+
|
9
|
+
@CONF[:USE_COLORIZE] = false
|
10
|
+
|
11
|
+
if @CONF[:SCRIPT]
|
12
|
+
irb = ::IRB::Irb.new(nil, @CONF[:SCRIPT])
|
13
|
+
else
|
14
|
+
irb = ::IRB::Irb.new
|
15
|
+
end
|
16
|
+
irb.run(@CONF)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/alet/version.rb
ADDED
metadata
ADDED
@@ -0,0 +1,157 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: alet
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Takanobu Maekawa
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2024-10-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: gli
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.21.5
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.21.5
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: sf_cli
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.2'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: yamori
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.1'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.1'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: tty-markdown
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.7.2
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.7.2
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: tty-table
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.12.0
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.12.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pastel
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.8.0
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.8.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: i18n
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 1.14.6
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 1.14.6
|
111
|
+
description: Salesforce console utility for Ruby users
|
112
|
+
email:
|
113
|
+
executables:
|
114
|
+
- alet
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- bin/alet
|
119
|
+
- lib/alet/app.rb
|
120
|
+
- lib/alet/config.rb
|
121
|
+
- lib/alet/config/locales/en.yml
|
122
|
+
- lib/alet/config/locales/ja.yml
|
123
|
+
- lib/alet/generate/project.rb
|
124
|
+
- lib/alet/irb.rb
|
125
|
+
- lib/alet/irb/command/export.rb
|
126
|
+
- lib/alet/irb/command/generate_model.rb
|
127
|
+
- lib/alet/irb/command/query.rb
|
128
|
+
- lib/alet/irb/command/sh.rb
|
129
|
+
- lib/alet/irb/helper_methods.rb
|
130
|
+
- lib/alet/utils/irb.rb
|
131
|
+
- lib/alet/version.rb
|
132
|
+
homepage: https://github.com/tmkw/alet
|
133
|
+
licenses:
|
134
|
+
- BSD-2-Clause
|
135
|
+
metadata:
|
136
|
+
homepage_uri: https://github.com/tmkw/alet
|
137
|
+
post_install_message:
|
138
|
+
rdoc_options: []
|
139
|
+
require_paths:
|
140
|
+
- lib
|
141
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 3.3.3
|
146
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '0'
|
151
|
+
requirements:
|
152
|
+
- 'Salesforce CLI ( >= 2.56.7): https://developer.salesforce.com/tools/salesforcecli'
|
153
|
+
rubygems_version: 3.5.11
|
154
|
+
signing_key:
|
155
|
+
specification_version: 4
|
156
|
+
summary: A Ruby-styled Salesforce console utility
|
157
|
+
test_files: []
|