renuo-cli 0.0.8 → 0.0.9
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 +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +1 -2
- data/lib/renuo/cli/app/application_setup_auto_config.rb +22 -0
- data/lib/renuo/cli/app/migrate_to_github.rb +39 -31
- data/lib/renuo/cli/app/services/markdown_parser_service.rb +30 -0
- data/lib/renuo/cli/version.rb +2 -1
- data/lib/renuo/cli.rb +11 -0
- data/renuo-cli.gemspec +1 -0
- metadata +19 -4
- data/Gemfile.lock +0 -119
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea4d424a283f3ee6479f46ec48a27529568e7a88
|
4
|
+
data.tar.gz: 67fd3687792a837d1e5acad6bbe3570d6efda24b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d43ef8c0ef3fec4900cf44ecaa34d0a871f1ef13d685afb5be0c3eead3bd8396bd3ad60feb3460c609bf171ce8a00c1bcdda75a373468ab9c24d594695e2d1a
|
7
|
+
data.tar.gz: b62c416bbb58ca1aca630426fb107f7bb0927dc0cb6973b6364957deaaaeae6e6bffee68aa8a29c9815e4fae8569e4327eeb02e222ecca7d942cac507a0b13ce
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.3.0
|
data/.travis.yml
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'renuo/cli/app/services/markdown_parser_service'
|
2
|
+
require 'net/http'
|
3
|
+
|
4
|
+
# see https://www.gitbook.com/book/renuo/rails-application-setup-guide/edit#/edit/master/templates/auto_copy_files.md
|
5
|
+
|
6
|
+
class ApplicationSetupAutoConfig
|
7
|
+
def run
|
8
|
+
url = 'https://raw.githubusercontent.com/renuo/rails-application-setup-guide/master/templates/auto_copy_files.md'
|
9
|
+
data = Net::HTTP.get(URI(url))
|
10
|
+
files = MarkdownParserService.new.parse_markdown(data)
|
11
|
+
files.each { |file, hint| handle_file(file, hint) }
|
12
|
+
end
|
13
|
+
|
14
|
+
def handle_file(file, hint)
|
15
|
+
base_url = 'https://raw.githubusercontent.com/renuo/rails-application-setup-guide/master/templates/'
|
16
|
+
if agree("Overwrite #{file}?#{" Hint: #{hint})" if hint}")
|
17
|
+
`curl #{base_url}#{file} > #{file}`
|
18
|
+
else
|
19
|
+
puts "Skipping file #{base_url}#{file}"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -13,6 +13,14 @@ class MigrateToGithub
|
|
13
13
|
|
14
14
|
private
|
15
15
|
|
16
|
+
def task(description)
|
17
|
+
say("=> #{description}")
|
18
|
+
end
|
19
|
+
|
20
|
+
def ready
|
21
|
+
agree('Ready?')
|
22
|
+
end
|
23
|
+
|
16
24
|
def run_tasks
|
17
25
|
transfer_git
|
18
26
|
update_readme
|
@@ -26,8 +34,8 @@ class MigrateToGithub
|
|
26
34
|
end
|
27
35
|
|
28
36
|
def check_requirements
|
29
|
-
say('Please ensure that hub is installed (brew install hub)')
|
30
|
-
|
37
|
+
say('Please ensure that hub is installed (brew install hub) and connected to your account')
|
38
|
+
ready
|
31
39
|
end
|
32
40
|
|
33
41
|
def check_pwd
|
@@ -76,80 +84,80 @@ class MigrateToGithub
|
|
76
84
|
|
77
85
|
def general_repo_settings
|
78
86
|
say('The repo settings are next')
|
79
|
-
|
80
|
-
|
87
|
+
task('Remove the features "Wikis" and "Issues"')
|
88
|
+
task('Close the tab when you are done')
|
81
89
|
agree('The browser will open automatically. Ready?')
|
82
90
|
`open https://github.com/renuo/#{@project_name}/settings`
|
83
91
|
end
|
84
92
|
|
85
93
|
def repo_collaborators
|
86
|
-
|
87
|
-
|
94
|
+
task("Next, assign Renuo-Team 'renuo' to project and grant 'write' permissions")
|
95
|
+
ready
|
88
96
|
`open https://github.com/renuo/#{@project_name}/settings/collaboration`
|
89
97
|
end
|
90
98
|
|
91
99
|
def repo_branches
|
92
|
-
|
93
|
-
|
94
|
-
|
100
|
+
task('Choose develop as default branch')
|
101
|
+
task('Protect branches master and develop')
|
102
|
+
ready
|
95
103
|
`open https://github.com/renuo/#{@project_name}/settings/branches`
|
96
104
|
end
|
97
105
|
|
98
106
|
def copy_hooks
|
99
|
-
|
100
|
-
|
107
|
+
task('Copy the hooks from gitlab to github. We will open two tabs this time (gitlab and github)')
|
108
|
+
ready
|
101
109
|
`open https://github.com/renuo/#{@project_name}/settings/hooks`
|
102
110
|
`open https://git.renuo.ch/renuo/#{@project_name}/hooks`
|
103
111
|
end
|
104
112
|
|
105
113
|
def check_deploy
|
106
|
-
|
107
|
-
|
114
|
+
task('Check the deployment scripts for the correct repository')
|
115
|
+
ready
|
108
116
|
`open https://deploy.renuo.ch/deployment_configs`
|
109
|
-
|
117
|
+
task('Now login to the deployment server as www-data, and change the remotes. E.g.')
|
110
118
|
cd = "cd deployments/#{@project_name}"
|
111
119
|
say("#{cd}-master && git remote set-url origin git@github.com:renuo/#{@project_name}.git && cd ../..")
|
112
120
|
say("#{cd}-develop && git remote set-url origin git@github.com:renuo/#{@project_name}.git && cd ../..")
|
113
121
|
say("#{cd}-testing && git remote set-url origin git@github.com:renuo/#{@project_name}.git && cd ../..")
|
114
|
-
|
122
|
+
ready
|
115
123
|
end
|
116
124
|
|
117
125
|
def rename_repo
|
118
|
-
|
119
|
-
say('* Project name')
|
120
|
-
say('* Path')
|
121
|
-
|
126
|
+
task("Almost done. Rename the old repo to zzz-old-#{@project_name}")
|
127
|
+
say(' * Project name')
|
128
|
+
say(' * Path')
|
129
|
+
ready
|
122
130
|
`open https://git.renuo.ch/renuo/#{@project_name}/edit`
|
123
131
|
end
|
124
132
|
|
125
133
|
def replace_other_old_links
|
126
134
|
say('Now let\'s replace other old links in the repo!')
|
127
|
-
|
135
|
+
ready
|
128
136
|
`open https://github.com/renuo/#{@project_name}/search?q=git.renuo.ch`
|
129
|
-
|
130
|
-
|
131
|
-
|
137
|
+
task('Replace all those links!')
|
138
|
+
ready
|
139
|
+
task('Now let\'s replace other old links in the wiki!')
|
132
140
|
`open https://redmine.renuo.ch/search?q=git.renuo.ch/renuo/#{@project_name}&wiki_pages=1&attachments=0&options=0`
|
133
|
-
|
134
|
-
|
141
|
+
task('Replace all those links!')
|
142
|
+
ready
|
135
143
|
end
|
136
144
|
|
137
145
|
def setup_gemnasium
|
138
146
|
say('Now the security monitoring: Gemnasium')
|
139
|
-
|
140
|
-
|
141
|
-
|
147
|
+
task('Go to https://gemnasium.com/dashboard and add the new project via GitHub')
|
148
|
+
task("Add new project --> Hosted on GitHub --> Renuo --> Check #{@project_name} and click submit")
|
149
|
+
ready
|
142
150
|
`open https://gemnasium.com/dashboard`
|
143
151
|
end
|
144
152
|
|
145
153
|
def setup_ci
|
146
154
|
say('One last thing: CI')
|
147
155
|
say('Find your CI script on the old CI:')
|
148
|
-
|
149
|
-
|
156
|
+
task('Click on <project> --> Settings --> preview')
|
157
|
+
ready
|
150
158
|
`open https://ci.renuo.ch/`
|
151
159
|
say("Enable TravisCI for #{@project_name}")
|
152
|
-
|
160
|
+
ready
|
153
161
|
`open https://magnum.travis-ci.com/profile/renuo`
|
154
162
|
end
|
155
163
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'redcarpet'
|
2
|
+
|
3
|
+
class MarkdownParserService
|
4
|
+
class ListExtractor < Redcarpet::Render::Base
|
5
|
+
attr_reader :files
|
6
|
+
|
7
|
+
def list(_contents, _list_type)
|
8
|
+
@next_is_hint = true
|
9
|
+
''
|
10
|
+
end
|
11
|
+
|
12
|
+
def list_item(text, _list_type)
|
13
|
+
@files ||= []
|
14
|
+
if @next_is_hint
|
15
|
+
@files.last.unshift text.strip
|
16
|
+
@next_is_hint = false
|
17
|
+
else
|
18
|
+
@files << [text.strip]
|
19
|
+
end
|
20
|
+
''
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def parse_markdown(markdown_text)
|
25
|
+
renderer = ListExtractor.new
|
26
|
+
markdown = Redcarpet::Markdown.new(renderer)
|
27
|
+
markdown.render(markdown_text)
|
28
|
+
renderer.files
|
29
|
+
end
|
30
|
+
end
|
data/lib/renuo/cli/version.rb
CHANGED
data/lib/renuo/cli.rb
CHANGED
@@ -5,6 +5,7 @@ require 'renuo/cli/app/local_storage'
|
|
5
5
|
require 'renuo/cli/app/migrate_to_github'
|
6
6
|
require 'renuo/cli/app/list_large_git_files'
|
7
7
|
require 'renuo/cli/app/generate_password'
|
8
|
+
require 'renuo/cli/app/application_setup_auto_config'
|
8
9
|
|
9
10
|
module Renuo
|
10
11
|
class CLI
|
@@ -67,6 +68,16 @@ module Renuo
|
|
67
68
|
GeneratePassword.new.run
|
68
69
|
end
|
69
70
|
end
|
71
|
+
|
72
|
+
command 'application-setup-auto-config' do |c|
|
73
|
+
c.syntax = 'renuo application-setup-auto-config'
|
74
|
+
c.summary = 'Sets up the application setup using the default config'
|
75
|
+
c.description = 'Generates a phrase of random 0-9a-zA-Z characters. Choose a substring of it as a new password.'
|
76
|
+
c.example 'renuo application-setup-auto-config', 'applies the default config'
|
77
|
+
c.action do
|
78
|
+
ApplicationSetupAutoConfig.new.run
|
79
|
+
end
|
80
|
+
end
|
70
81
|
end
|
71
82
|
end
|
72
83
|
end
|
data/renuo-cli.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: renuo-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lukas Elmer
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: commander
|
@@ -136,6 +136,20 @@ dependencies:
|
|
136
136
|
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: redcarpet
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
139
153
|
description: The Renuo CLI automates some commonly used workflows by providing a command
|
140
154
|
line interface.
|
141
155
|
email:
|
@@ -154,7 +168,6 @@ files:
|
|
154
168
|
- ".travis.yml"
|
155
169
|
- CODE_OF_CONDUCT.md
|
156
170
|
- Gemfile
|
157
|
-
- Gemfile.lock
|
158
171
|
- LICENSE.txt
|
159
172
|
- README.md
|
160
173
|
- Rakefile
|
@@ -163,11 +176,13 @@ files:
|
|
163
176
|
- bin/setup
|
164
177
|
- exe/renuo
|
165
178
|
- lib/renuo/cli.rb
|
179
|
+
- lib/renuo/cli/app/application_setup_auto_config.rb
|
166
180
|
- lib/renuo/cli/app/generate_password.rb
|
167
181
|
- lib/renuo/cli/app/list_large_git_files.rb
|
168
182
|
- lib/renuo/cli/app/local_storage.rb
|
169
183
|
- lib/renuo/cli/app/migrate_to_github.rb
|
170
184
|
- lib/renuo/cli/app/name_display.rb
|
185
|
+
- lib/renuo/cli/app/services/markdown_parser_service.rb
|
171
186
|
- lib/renuo/cli/version.rb
|
172
187
|
- renuo-cli.gemspec
|
173
188
|
homepage: https://github.com/renuo/renuo-cli
|
@@ -190,7 +205,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
190
205
|
version: '0'
|
191
206
|
requirements: []
|
192
207
|
rubyforge_project:
|
193
|
-
rubygems_version: 2.
|
208
|
+
rubygems_version: 2.5.1
|
194
209
|
signing_key:
|
195
210
|
specification_version: 4
|
196
211
|
summary: The Renuo CLI automates some commonly used workflows by providing a command
|
data/Gemfile.lock
DELETED
@@ -1,119 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
renuo-cli (0.0.8)
|
5
|
-
commander
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
aruba (0.10.0)
|
11
|
-
childprocess (~> 0.5.6)
|
12
|
-
contracts (~> 0.9)
|
13
|
-
cucumber (>= 1.3.19)
|
14
|
-
ffi (~> 1.9.10)
|
15
|
-
rspec-expectations (>= 2.99)
|
16
|
-
thor (~> 0.19)
|
17
|
-
ast (2.1.0)
|
18
|
-
astrolabe (1.3.1)
|
19
|
-
parser (~> 2.2)
|
20
|
-
builder (3.2.2)
|
21
|
-
childprocess (0.5.7)
|
22
|
-
ffi (~> 1.0, >= 1.0.11)
|
23
|
-
coderay (1.1.0)
|
24
|
-
commander (4.3.5)
|
25
|
-
highline (~> 1.7.2)
|
26
|
-
contracts (0.12.0)
|
27
|
-
coveralls (0.8.3)
|
28
|
-
json (~> 1.8)
|
29
|
-
rest-client (>= 1.6.8, < 2)
|
30
|
-
simplecov (~> 0.10.0)
|
31
|
-
term-ansicolor (~> 1.3)
|
32
|
-
thor (~> 0.19.1)
|
33
|
-
cucumber (2.1.0)
|
34
|
-
builder (>= 2.1.2)
|
35
|
-
cucumber-core (~> 1.3.0)
|
36
|
-
diff-lcs (>= 1.1.3)
|
37
|
-
gherkin3 (~> 3.1.0)
|
38
|
-
multi_json (>= 1.7.5, < 2.0)
|
39
|
-
multi_test (>= 0.1.2)
|
40
|
-
cucumber-core (1.3.0)
|
41
|
-
gherkin3 (~> 3.1.0)
|
42
|
-
diff-lcs (1.2.5)
|
43
|
-
docile (1.1.5)
|
44
|
-
domain_name (0.5.25)
|
45
|
-
unf (>= 0.0.5, < 1.0.0)
|
46
|
-
ffi (1.9.10)
|
47
|
-
gherkin3 (3.1.2)
|
48
|
-
highline (1.7.8)
|
49
|
-
http-cookie (1.0.2)
|
50
|
-
domain_name (~> 0.5)
|
51
|
-
json (1.8.3)
|
52
|
-
method_source (0.8.2)
|
53
|
-
mime-types (2.6.2)
|
54
|
-
multi_json (1.11.2)
|
55
|
-
multi_test (0.1.2)
|
56
|
-
netrc (0.11.0)
|
57
|
-
parser (2.2.3.0)
|
58
|
-
ast (>= 1.1, < 3.0)
|
59
|
-
powerpack (0.1.1)
|
60
|
-
pry (0.10.3)
|
61
|
-
coderay (~> 1.1.0)
|
62
|
-
method_source (~> 0.8.1)
|
63
|
-
slop (~> 3.4)
|
64
|
-
rainbow (2.0.0)
|
65
|
-
rake (10.4.2)
|
66
|
-
rest-client (1.8.0)
|
67
|
-
http-cookie (>= 1.0.2, < 2.0)
|
68
|
-
mime-types (>= 1.16, < 3.0)
|
69
|
-
netrc (~> 0.7)
|
70
|
-
rspec (3.3.0)
|
71
|
-
rspec-core (~> 3.3.0)
|
72
|
-
rspec-expectations (~> 3.3.0)
|
73
|
-
rspec-mocks (~> 3.3.0)
|
74
|
-
rspec-core (3.3.2)
|
75
|
-
rspec-support (~> 3.3.0)
|
76
|
-
rspec-expectations (3.3.1)
|
77
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
78
|
-
rspec-support (~> 3.3.0)
|
79
|
-
rspec-mocks (3.3.2)
|
80
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
81
|
-
rspec-support (~> 3.3.0)
|
82
|
-
rspec-support (3.3.0)
|
83
|
-
rubocop (0.35.0)
|
84
|
-
astrolabe (~> 1.3)
|
85
|
-
parser (>= 2.2.3.0, < 3.0)
|
86
|
-
powerpack (~> 0.1)
|
87
|
-
rainbow (>= 1.99.1, < 3.0)
|
88
|
-
ruby-progressbar (~> 1.7)
|
89
|
-
ruby-progressbar (1.7.5)
|
90
|
-
simplecov (0.10.0)
|
91
|
-
docile (~> 1.1.0)
|
92
|
-
json (~> 1.8)
|
93
|
-
simplecov-html (~> 0.10.0)
|
94
|
-
simplecov-html (0.10.0)
|
95
|
-
slop (3.6.0)
|
96
|
-
term-ansicolor (1.3.2)
|
97
|
-
tins (~> 1.0)
|
98
|
-
thor (0.19.1)
|
99
|
-
tins (1.6.0)
|
100
|
-
unf (0.1.4)
|
101
|
-
unf_ext
|
102
|
-
unf_ext (0.0.7.1)
|
103
|
-
|
104
|
-
PLATFORMS
|
105
|
-
ruby
|
106
|
-
|
107
|
-
DEPENDENCIES
|
108
|
-
aruba
|
109
|
-
bundler (~> 1.10)
|
110
|
-
coveralls
|
111
|
-
cucumber
|
112
|
-
pry
|
113
|
-
rake (~> 10.0)
|
114
|
-
renuo-cli!
|
115
|
-
rspec
|
116
|
-
rubocop
|
117
|
-
|
118
|
-
BUNDLED WITH
|
119
|
-
1.10.6
|