chid 0.1.6.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/CONTRIBUTING.md +75 -1
- data/Gemfile.lock +23 -36
- data/README.md +129 -79
- data/bin/chid +2 -25
- data/chid.gemspec +0 -6
- data/lib/chid.rb +0 -66
- data/lib/chid/chid_config.rb +4 -81
- data/lib/chid/commands/config.rb +48 -0
- data/lib/chid/commands/currency/convert.rb +50 -0
- data/lib/chid/commands/currency/list.rb +34 -0
- data/lib/chid/commands/currency/now.rb +47 -0
- data/lib/chid/commands/gitflow/commit.rb +0 -1
- data/lib/chid/commands/github.rb +40 -0
- data/lib/chid/commands/init.rb +1 -2
- data/lib/chid/commands/install.rb +1 -0
- data/lib/chid/commands/installs/dotfile.rb +1 -1
- data/lib/chid/commands/installs/node.rb +2 -2
- data/lib/chid/commands/installs/postgres.rb +2 -2
- data/lib/chid/commands/installs/rvm.rb +2 -2
- data/lib/chid/commands/installs/vim.rb +2 -2
- data/lib/chid/version.rb +1 -1
- data/spec/lib/chid/commands/init_spec.rb +4 -2
- data/tasks/install/yadr_dotfiles.rake +1 -0
- data/tasks/run/postgres.rake +1 -0
- data/tasks/update/os.rake +1 -0
- metadata +7 -52
- data/#README.md# +0 -222
- data/Rakefile +0 -18
- data/lib/chid/yandex_translate_api.rb +0 -39
- data/tasks/chid/config.rake +0 -5
- data/tasks/chid/init.rake +0 -19
- data/tasks/chid/install.rake +0 -14
- data/tasks/chid/start.rake +0 -26
- data/tasks/chid/update.rake +0 -14
- data/tasks/currency/convert.rake +0 -9
- data/tasks/currency/current.rake +0 -11
- data/tasks/currency/list.rake +0 -10
- data/tasks/github.rake +0 -12
- data/tasks/help.rake +0 -178
- data/tasks/install/node.rake +0 -18
- data/tasks/install/postgres.rake +0 -18
- data/tasks/install/rvm.rake +0 -21
- data/tasks/news.rake +0 -11
- data/tasks/stack_overflow.rake +0 -20
- data/tasks/tmux/config_windows.rake +0 -8
- data/tasks/tmux/new_session.rake +0 -9
- data/tasks/translate/yandex_list.rake +0 -7
- data/tasks/translate/yandex_translate.rake +0 -8
data/Rakefile
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
#require 'chid'
|
2
|
-
# Require all files inside the lib folder only
|
3
|
-
#%w(lib).each do |inc|
|
4
|
-
# dir = File.join(File.dirname(__FILE__), inc)
|
5
|
-
# glob = Dir.glob(dir + "/*.rb")
|
6
|
-
# glob.each { |r| require r }
|
7
|
-
#end
|
8
|
-
#
|
9
|
-
# Load all rake tasks inside the tasks folder
|
10
|
-
#dir = File.join(File.dirname(__FILE__), 'tasks')
|
11
|
-
#glob = Dir.glob(dir + "/**/*.rake")
|
12
|
-
#glob.each { |r| load r }
|
13
|
-
|
14
|
-
|
15
|
-
# Initialize the default variable to use on all rake tasks
|
16
|
-
#@chid_config = ChidConfig.new
|
17
|
-
|
18
|
-
task :default => :chid
|
@@ -1,39 +0,0 @@
|
|
1
|
-
class YandexTranslateApi
|
2
|
-
API_TOKEN = 'trnsl.1.1.20170318T165136Z.005f29f713d3e410.1d52e55d7e9a3f125e38645215a101e743b16b98'
|
3
|
-
|
4
|
-
def self.translate(options = {})
|
5
|
-
text = options.fetch(:text, "")
|
6
|
-
from = options.fetch(:from, :en).to_sym
|
7
|
-
to = options.fetch(:to, :pt).to_sym
|
8
|
-
|
9
|
-
uri = URI("https://translate.yandex.net/api/v1.5/tr.json/translate?lang=#{from}-#{to}&key=#{API_TOKEN}&text=#{text}")
|
10
|
-
|
11
|
-
response = HTTP.get(uri)
|
12
|
-
json = JSON.parse response
|
13
|
-
json['text'].first
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.list
|
17
|
-
puts "Language Code Language Code".green
|
18
|
-
puts "Azerbaijan az Maltese mt"
|
19
|
-
puts "Albanian sq Macedonian mk"
|
20
|
-
puts "Amharic am Maori mi"
|
21
|
-
puts "English en Marathi mr"
|
22
|
-
puts "Armenian hy Mongolian mn"
|
23
|
-
puts "Afrikaans af German de"
|
24
|
-
puts "Bashkir ba Norwegian no"
|
25
|
-
puts "Bulgarian bg Persian fa"
|
26
|
-
puts "Bosnian bs Polish pl"
|
27
|
-
puts "Welsh cy Portuguese pt"
|
28
|
-
puts "Vietnamese vi Russian ru"
|
29
|
-
puts "Italian it Telugu te"
|
30
|
-
puts "Spanish es Udmurt udm"
|
31
|
-
puts "Chinese zh French fr"
|
32
|
-
puts "Xhosa xh Croatian hr"
|
33
|
-
puts "Latin la Czech cs"
|
34
|
-
puts "Latvian lv Swedish sv"
|
35
|
-
puts "Lithuanian lt Scottish gd"
|
36
|
-
puts "Luxembourgish lb Estonian et"
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
data/tasks/chid/config.rake
DELETED
data/tasks/chid/init.rake
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
desc 'Initial configuration for Chid app'
|
2
|
-
task :init do
|
3
|
-
print "Chid is an assistant to help your day-to-day life.\n\n"
|
4
|
-
print "You can use it as "
|
5
|
-
print "a terminal App ".green
|
6
|
-
print "or through "
|
7
|
-
print "Rake Tasks".green
|
8
|
-
print", having a greater interaction with it.\n\n"
|
9
|
-
|
10
|
-
print "To initialize the app you can run the command: "
|
11
|
-
print "$ rake\n".blue
|
12
|
-
print "Or the command: "
|
13
|
-
print "$ chid\n".blue
|
14
|
-
print "But the command "
|
15
|
-
print "$ chid ".blue
|
16
|
-
print "will work after you reload your profile\n"
|
17
|
-
|
18
|
-
@chid_config.configure
|
19
|
-
end
|
data/tasks/chid/install.rake
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
desc 'Initial configuration for Chid app'
|
2
|
-
task :install do
|
3
|
-
print "Chid is an assistant to help your day-to-day life.\n\n"
|
4
|
-
print "You can use it as "
|
5
|
-
print "a terminal App ".green
|
6
|
-
print "or through "
|
7
|
-
print "Rake Tasks".green
|
8
|
-
print", having a greater interaction with it.\n\n"
|
9
|
-
|
10
|
-
print "To initialize the app you can run the command: "
|
11
|
-
print "$ chid\n".blue
|
12
|
-
|
13
|
-
@chid_config.configure_chid_file_only
|
14
|
-
end
|
data/tasks/chid/start.rake
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
desc 'Start the Chid app'
|
2
|
-
task :chid do
|
3
|
-
prompt = TTY::Prompt.new(help_color: :green)
|
4
|
-
confirm_install = -> (action, &block) {
|
5
|
-
matched = /^install:(.*)/.match(action)
|
6
|
-
return block.() unless matched
|
7
|
-
|
8
|
-
action_name = matched.captures.first
|
9
|
-
if prompt.yes?("Can I install the #{action_name}?")
|
10
|
-
block.()
|
11
|
-
else
|
12
|
-
puts "\nNo problem. What do you need?"
|
13
|
-
end
|
14
|
-
}
|
15
|
-
|
16
|
-
Main.new(@chid_config).init do |action, args|
|
17
|
-
rake_task = Rake::Task[action]
|
18
|
-
task_args = Rake::TaskArguments.new(rake_task.arg_names, args)
|
19
|
-
|
20
|
-
confirm_install.(action) do
|
21
|
-
rake_task.execute(task_args)
|
22
|
-
end
|
23
|
-
|
24
|
-
puts "\nDone! What else?"
|
25
|
-
end
|
26
|
-
end
|
data/tasks/chid/update.rake
DELETED
data/tasks/currency/convert.rake
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
namespace :currency do
|
2
|
-
|
3
|
-
desc 'You can convert an amount between types. Eg.: convert 10 USD to BRL'
|
4
|
-
task :convert, [:amount, :from, :to] do |t, args|
|
5
|
-
amount = CurrencyApi.convert(args)
|
6
|
-
puts "The converted #{args[:from]} to #{args[:to]} is: #{amount}"
|
7
|
-
end
|
8
|
-
|
9
|
-
end
|
data/tasks/currency/current.rake
DELETED
data/tasks/currency/list.rake
DELETED
data/tasks/github.rake
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
desc 'List all repositories'
|
2
|
-
task :github, [:search] do |t, args|
|
3
|
-
search_expression = args[:search]
|
4
|
-
|
5
|
-
repositories = GitHubApi.repositories(search_expression)
|
6
|
-
|
7
|
-
Paginator.new(repositories).paginate do |repository|
|
8
|
-
repository.summary
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
|
data/tasks/help.rake
DELETED
@@ -1,178 +0,0 @@
|
|
1
|
-
desc 'Show all tasks availabe'
|
2
|
-
task :help do
|
3
|
-
#Dir.chdir @chid_config.chid_rake_path
|
4
|
-
#system("rake -T")
|
5
|
-
puts "\nTell me what you need"
|
6
|
-
|
7
|
-
a = <<MY
|
8
|
-
# Chid
|
9
|
-
|
10
|
-
**Note:** All tasks are available for **osx** and **linux**. The *chid* will automatically
|
11
|
-
knows how run the specific **comand** for each plataform.
|
12
|
-
|
13
|
-
#### Install chid configuration
|
14
|
-
|
15
|
-
* `$ chid init` - Will install all necessary confiuration.
|
16
|
-
|
17
|
-
#### Start the app
|
18
|
-
|
19
|
-
* `$ chid` - To start the **chid** terminal app
|
20
|
-
|
21
|
-
**Note:** To run the commands listed bellow you must started the chid app.
|
22
|
-
|
23
|
-
#### Help
|
24
|
-
|
25
|
-
* `help` or `:h` - Show all tasks available
|
26
|
-
|
27
|
-
#### Quit
|
28
|
-
|
29
|
-
* `:q` or `quit` or `bye` or `exit` - Will finish the **chid** app
|
30
|
-
|
31
|
-
#### Currency
|
32
|
-
|
33
|
-
* `current` - Get the current conversion for USD to BRL amount
|
34
|
-
* `currency list` - Show all types of currencies available to convert
|
35
|
-
* `convert [amount] [type_from] to [type_to]` - You can convert an amount between
|
36
|
-
types. Eg.: **convert 10 USD to BRL**
|
37
|
-
|
38
|
-
#### Install apps
|
39
|
-
|
40
|
-
**Note:** All install tasks, chid will always ask if you really want to install it. Also
|
41
|
-
will install the dependencies if necessary.
|
42
|
-
|
43
|
-
* `install dotfiles` - Install [YADR Dotfiles](https://github.com/skwp/dotfiles)
|
44
|
-
* `install node` - Install Node
|
45
|
-
* `install postgres` - Install Postgres
|
46
|
-
* `install rvm` - Install stable RVM version
|
47
|
-
|
48
|
-
#### Run
|
49
|
-
|
50
|
-
* `run postgres` - Run the postgresql if you already have installed.
|
51
|
-
|
52
|
-
#### Update
|
53
|
-
|
54
|
-
* `update os` or `update` - Will update the linux os. For osx is not available
|
55
|
-
|
56
|
-
#### News
|
57
|
-
|
58
|
-
* `news` - Will show all news from some sites. BBC news, CNN, Espn,
|
59
|
-
Mashable, Google, Techcrunch, Reddit
|
60
|
-
|
61
|
-
#### Translate
|
62
|
-
|
63
|
-
* `t [TEXT]` or `t [TEXT] [FROM] to [TO]` - Will translate the given text. By
|
64
|
-
default the **from** is **en** and **to** is **pt**
|
65
|
-
|
66
|
-
Example:
|
67
|
-
`t hello world` or `t hello world en to pt`
|
68
|
-
|
69
|
-
#### Search on StackOverflow
|
70
|
-
|
71
|
-
A simple search in StackOverflow
|
72
|
-
|
73
|
-
* `stack [TEXT_TO_SEACH]` - Will search on StackOverflow all results for that
|
74
|
-
text.
|
75
|
-
|
76
|
-
* `stack` - Will ask what you want to search on StackOverflow all results for that
|
77
|
-
|
78
|
-
#### Search GitHub repositories
|
79
|
-
|
80
|
-
A simple search for repository name
|
81
|
-
|
82
|
-
* `github [SEARCH_EXPRESSION]` - Show results for expression paginated every 10
|
83
|
-
|
84
|
-
#### Workstations
|
85
|
-
|
86
|
-
Workstations are a way to make it easy for you to open a set of applications by
|
87
|
-
simple commands.
|
88
|
-
|
89
|
-
The set of configurations are saved on **.chid.config** file.
|
90
|
-
|
91
|
-
**Note:** All commands bellow is possible run with prefix: `workstation [command]`
|
92
|
-
or `work [command]`.
|
93
|
-
|
94
|
-
* `work list` - List all workstations
|
95
|
-
* `work create` - Create a new workstation. Chid will ask for a name to set the
|
96
|
-
new workstation and after that will list all **applications** available on your
|
97
|
-
system to chosse witch one you wanna add
|
98
|
-
* `work destroy` - Chid will ask which workstation you want to destroy and chid
|
99
|
-
will destroy it after choose
|
100
|
-
* `work open` - Open a specific workstation. Chid will list all workstations to
|
101
|
-
choose one of them to open all applications
|
102
|
-
* `work open [workstation_name]` - Open a specific workstation without choose
|
103
|
-
from a list. Eg.: `work open base` - It will open all applications inside the
|
104
|
-
**base** workstation
|
105
|
-
|
106
|
-
**Note:** For linux users the **work create** is not working. You need create
|
107
|
-
manually (editing the .chid.config file). Will be explained how on
|
108
|
-
**How configure and customize your workstations** topic
|
109
|
-
|
110
|
-
#### Chid configuration
|
111
|
-
|
112
|
-
* `chid config` or `config` - Open the **.chid.config** file
|
113
|
-
|
114
|
-
## How configure and customize your workstations
|
115
|
-
|
116
|
-
The chid configuration file is installed on **~/.chid.config**. You can open: `$ chid
|
117
|
-
chid_config`
|
118
|
-
|
119
|
-
Chid config is a **YAML** file.
|
120
|
-
|
121
|
-
You can create the workstations just adding on :workstations: key.
|
122
|
-
|
123
|
-
The initial chid config file will be like:
|
124
|
-
|
125
|
-
```YAML
|
126
|
-
---
|
127
|
-
:chid:
|
128
|
-
:chid_path: "[CHID_FOLDER_PROJECT_PATH]"
|
129
|
-
:workstations: {}
|
130
|
-
```
|
131
|
-
|
132
|
-
#### Base configuration
|
133
|
-
|
134
|
-
To add a new *workstation* you can edit like:
|
135
|
-
|
136
|
-
```YAML
|
137
|
-
---
|
138
|
-
:chid:
|
139
|
-
:chid_path: "[CHID_FOLDER_PROJECT_PATH]"
|
140
|
-
:workstations:
|
141
|
-
:base: # Workstation Name
|
142
|
-
- iTerm #Application Name
|
143
|
-
- Safari
|
144
|
-
- Slack
|
145
|
-
```
|
146
|
-
|
147
|
-
After edit you can open the **base** workstation running:
|
148
|
-
|
149
|
-
* `$ chid workstation:open['base']` - As rake task
|
150
|
-
* `work open base` - With the **chid** app running
|
151
|
-
|
152
|
-
#### Advance configuration
|
153
|
-
|
154
|
-
Is possible you can customize some options with each Application when will open it
|
155
|
-
|
156
|
-
- Open the Terminal in a specific folder
|
157
|
-
- Open a Safari with a specific URL
|
158
|
-
- Any options which your application can use
|
159
|
-
|
160
|
-
```YAML
|
161
|
-
---
|
162
|
-
:chid:
|
163
|
-
:chid_path: "[CHID_FOLDER_PROJECT_PATH]"
|
164
|
-
:workstations:
|
165
|
-
:base: # Workstation Name
|
166
|
-
- iTerm ~/Workspaces/rake-workspace/chid/ & rake tmux_config # Will open
|
167
|
-
# in a specific folder and will run some Rake Task
|
168
|
-
- Safari https://github.com/rachidcalazans/chid # Will open the Safari
|
169
|
-
# in a specific URL
|
170
|
-
```
|
171
|
-
|
172
|
-
MY
|
173
|
-
|
174
|
-
puts a
|
175
|
-
|
176
|
-
end
|
177
|
-
|
178
|
-
|
data/tasks/install/node.rake
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
namespace :install do
|
2
|
-
|
3
|
-
desc 'Install Node'
|
4
|
-
task :node do
|
5
|
-
puts "\nInstalling the Node..."
|
6
|
-
|
7
|
-
@chid_config.on_linux do
|
8
|
-
system('sudo apt-get install nodejs')
|
9
|
-
end
|
10
|
-
|
11
|
-
@chid_config.on_osx do
|
12
|
-
system('brew install node')
|
13
|
-
end
|
14
|
-
|
15
|
-
puts "\nNode installed successfully"
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
data/tasks/install/postgres.rake
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
namespace :install do
|
2
|
-
|
3
|
-
desc 'Install Postgres'
|
4
|
-
task :postgres do
|
5
|
-
puts "\nInstalling the Postgres..."
|
6
|
-
|
7
|
-
@chid_config.on_linux do
|
8
|
-
system('sudo apt-get install postgresql postgresql-contrib')
|
9
|
-
end
|
10
|
-
|
11
|
-
@chid_config.on_osx do
|
12
|
-
system('brew install postgres')
|
13
|
-
end
|
14
|
-
|
15
|
-
puts "\nPostgres installed successfully"
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
data/tasks/install/rvm.rake
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
namespace :install do
|
2
|
-
|
3
|
-
desc 'Install RVM'
|
4
|
-
task :rvm do
|
5
|
-
puts "\nInstalling the RVM..."
|
6
|
-
|
7
|
-
@chid_config.on_linux do
|
8
|
-
system('sudo apt-add-repository -y ppa:rael-gc/rvm')
|
9
|
-
system('sudo apt-get update')
|
10
|
-
system('sudo apt-get install curl')
|
11
|
-
system('sudo apt-get install rvm')
|
12
|
-
end
|
13
|
-
|
14
|
-
@chid_config.on_osx do
|
15
|
-
system('\curl -sSL https://get.rvm.io | bash')
|
16
|
-
end
|
17
|
-
|
18
|
-
puts "\nRVM installed successfully"
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|