nrb 1.0.0 → 1.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 +4 -4
- data/.codeclimate.yml +16 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +1100 -0
- data/.travis.yml +1 -1
- data/Guardfile +12 -0
- data/README.md +96 -6
- data/Rakefile +1 -1
- data/lib/nrb.rb +16 -5
- data/lib/nrb/cli.rb +5 -5
- data/lib/nrb/commands/all.rb +11 -0
- data/lib/nrb/commands/base/base.rb +30 -0
- data/lib/nrb/commands/base/inside.rb +19 -0
- data/lib/nrb/commands/base/resource.rb +23 -0
- data/lib/nrb/commands/concerns/resource_generator.rb +30 -0
- data/lib/nrb/commands/console.rb +8 -6
- data/lib/nrb/commands/destroy.rb +9 -32
- data/lib/nrb/commands/generate.rb +11 -33
- data/lib/nrb/commands/script.rb +47 -29
- data/lib/nrb/commands/starter.rb +2 -4
- data/lib/nrb/errors.rb +4 -0
- data/lib/nrb/templates/Gemfile.tt +1 -3
- data/lib/nrb/templates/config/boot.rb.tt +4 -4
- data/lib/nrb/templates/config/nrb.rb.tt +2 -2
- data/lib/nrb/templates/script.rb.tt +0 -2
- data/lib/nrb/version.rb +1 -1
- data/nrb.gemspec +9 -4
- metadata +107 -28
- data/lib/nrb/commands/inside_group.rb +0 -40
data/lib/nrb/commands/script.rb
CHANGED
@@ -1,85 +1,103 @@
|
|
1
|
+
require 'pathname'
|
2
|
+
|
1
3
|
module Nrb
|
2
4
|
module Commands
|
3
|
-
class Script <
|
4
|
-
|
5
|
-
|
6
|
-
desc 'Creates a Ninja Ruby Script at the given path'
|
5
|
+
class Script < Commands::Base
|
6
|
+
desc 'Creates a Ninja Ruby Script at the given path.'
|
7
7
|
|
8
8
|
argument :path_or_folder_name, type: :string, required: true,
|
9
9
|
desc: 'The name of the project, or the path.'
|
10
10
|
|
11
11
|
class_option :init_repo, default: true, type: :boolean,
|
12
|
-
desc: 'Initialize a repository at the target location',
|
12
|
+
desc: 'Initialize a repository at the target location.',
|
13
13
|
aliases: '-r'
|
14
|
-
|
15
|
-
|
14
|
+
|
15
|
+
class_option :bundle_install, default: false, type: :boolean,
|
16
|
+
desc: 'Run bundle install after generating the skeleton.',
|
16
17
|
aliases: '-b'
|
17
18
|
|
18
|
-
|
19
|
-
|
20
|
-
end
|
19
|
+
class_option :local, default: false, type: :boolean,
|
20
|
+
desc: 'Add local path of the gem when generating the Gemfile. Useful for testing.'
|
21
21
|
|
22
22
|
def gitignore
|
23
|
-
template 'templates/.gitignore.tt', target('.gitignore')
|
23
|
+
template 'templates/.gitignore.tt', target('.gitignore'), opts
|
24
24
|
end
|
25
25
|
|
26
26
|
def readme
|
27
27
|
template 'templates/README.md.tt', target('README.md'),
|
28
|
-
title: name,
|
29
|
-
version: Nrb::VERSION
|
28
|
+
opts.merge({ title: name, version: Nrb::VERSION })
|
30
29
|
end
|
31
30
|
|
32
31
|
def gemfile
|
33
32
|
template 'templates/Gemfile.tt', target('Gemfile'),
|
34
|
-
|
33
|
+
opts.merge({ nrb_gem: nrb_gem })
|
35
34
|
end
|
36
35
|
|
37
36
|
def rakefile
|
38
|
-
template 'templates/Rakefile.tt', target('Rakefile')
|
37
|
+
template 'templates/Rakefile.tt', target('Rakefile'), opts
|
39
38
|
end
|
40
39
|
|
41
40
|
def config_nrb
|
42
41
|
template 'templates/config/nrb.rb.tt', target('config/nrb.rb'),
|
43
|
-
|
42
|
+
opts.merge({ resources: Nrb.config.resources })
|
44
43
|
end
|
45
44
|
|
46
|
-
def
|
47
|
-
Nrb.config.
|
48
|
-
create_file target("#{dir}/.keep")
|
45
|
+
def resources
|
46
|
+
Nrb.config.resources.each do |dir|
|
47
|
+
create_file target("#{dir}/.keep"), opts
|
49
48
|
end
|
50
49
|
end
|
51
50
|
|
52
51
|
def boot
|
53
|
-
template 'templates/config/boot.rb.tt', target('config/boot.rb')
|
52
|
+
template 'templates/config/boot.rb.tt', target('config/boot.rb'), opts
|
54
53
|
end
|
55
54
|
|
56
55
|
def db_config
|
57
56
|
template 'templates/db/config.yml.tt', target('db/config.yml'),
|
58
|
-
db: name
|
57
|
+
opts.merge({ db: name })
|
59
58
|
end
|
60
59
|
|
61
60
|
def script_file
|
62
|
-
template 'templates/script.rb.tt', "#{target(name)}.rb"
|
61
|
+
template 'templates/script.rb.tt', "#{target(name)}.rb", opts
|
63
62
|
end
|
64
63
|
|
65
64
|
def initialize_repo
|
66
|
-
return unless options[:
|
65
|
+
return unless options[:init_repo]
|
67
66
|
|
68
|
-
inside target,
|
69
|
-
|
67
|
+
inside target, opts do
|
68
|
+
Nrb.silently verbose: options[:verbose] do
|
69
|
+
run 'git init'
|
70
|
+
end
|
70
71
|
end
|
71
72
|
end
|
72
73
|
|
73
74
|
def bundle_install
|
74
|
-
return unless options[:
|
75
|
-
|
76
|
-
inside target,
|
77
|
-
|
75
|
+
return unless options[:bundle_install]
|
76
|
+
|
77
|
+
inside target, opts do
|
78
|
+
Bundler.with_clean_env do
|
79
|
+
Nrb.silently verbose: options[:verbose] do
|
80
|
+
run 'bundle install'
|
81
|
+
end
|
82
|
+
end
|
78
83
|
end
|
79
84
|
end
|
80
85
|
|
81
86
|
private
|
82
87
|
|
88
|
+
def nrb_gem
|
89
|
+
text = "gem 'nrb', '#{Nrb::VERSION}'"
|
90
|
+
|
91
|
+
if options[:local]
|
92
|
+
local_gem_path = Pathname.new(File.expand_path('../../..', __dir__))
|
93
|
+
target_path = Pathname.new(target)
|
94
|
+
relative_path = local_gem_path.relative_path_from(target_path)
|
95
|
+
text << ", path: '#{relative_path}'"
|
96
|
+
end
|
97
|
+
|
98
|
+
text
|
99
|
+
end
|
100
|
+
|
83
101
|
def target(final = nil)
|
84
102
|
File.join(File.expand_path(path_or_folder_name), final.to_s)
|
85
103
|
end
|
data/lib/nrb/commands/starter.rb
CHANGED
data/lib/nrb/errors.rb
ADDED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Setup the listed gems in the gemfile
|
2
2
|
require 'bundler/setup'
|
3
|
-
|
3
|
+
|
4
4
|
# Actually require the gems
|
5
5
|
Bundler.require(:default)
|
6
6
|
|
@@ -8,7 +8,7 @@ Bundler.require(:default)
|
|
8
8
|
Nrb.config.root = File.expand_path('..', __dir__)
|
9
9
|
|
10
10
|
# Add the root to the load path
|
11
|
-
$:.unshift(Nrb.root)
|
11
|
+
$:.unshift(Nrb.root) unless $:.include?(Nrb.root)
|
12
12
|
|
13
13
|
# Require other configurations from the config/nrb.rb file
|
14
14
|
require 'config/nrb'
|
@@ -19,7 +19,7 @@ ActiveRecord::Base.configurations = YAML.load_file('db/config.yml')
|
|
19
19
|
ActiveRecord::Base.establish_connection(:development)
|
20
20
|
ActiveRecord::Base.logger = Logger.new(STDOUT)
|
21
21
|
|
22
|
-
# Finally require files inside config.
|
23
|
-
Nrb.config.
|
22
|
+
# Finally require files inside config.resources
|
23
|
+
Nrb.config.resources.each do |dir|
|
24
24
|
Dir[File.join(dir, '*.rb')].each { |f| require(f) }
|
25
25
|
end
|
@@ -2,6 +2,6 @@ Nrb.configure do |config|
|
|
2
2
|
# Root of the script folder
|
3
3
|
config.root = File.expand_path('..', __dir__)
|
4
4
|
|
5
|
-
# Default
|
6
|
-
# config.
|
5
|
+
# Default resources to autoload
|
6
|
+
# config.resources = %w(<%= config[:resources].join(' ') %>)
|
7
7
|
end
|
data/lib/nrb/version.rb
CHANGED
data/nrb.gemspec
CHANGED
@@ -20,11 +20,16 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.11"
|
22
22
|
spec.add_development_dependency "rake", "~> 10.0"
|
23
|
-
spec.add_development_dependency "minitest", "~> 5.0"
|
24
|
-
spec.
|
23
|
+
spec.add_development_dependency "minitest", "~> 5.8.0"
|
24
|
+
spec.add_development_dependency "guard", "~> 2.13.0"
|
25
|
+
spec.add_development_dependency "guard-minitest", "~> 2.4.0"
|
26
|
+
spec.add_development_dependency "guard-rubocop", "~> 1.2.0"
|
27
|
+
spec.add_development_dependency "coveralls", "~> 0.8.13"
|
28
|
+
spec.add_development_dependency "rubocop", "~> 0.38.0"
|
29
|
+
spec.add_dependency "thor", "~> 0.19.0"
|
30
|
+
spec.add_dependency "standalone_migrations", "~> 4.0.0"
|
31
|
+
spec.add_dependency "sqlite3", "~> 1.3.0"
|
25
32
|
spec.add_dependency "pry"
|
26
33
|
spec.add_dependency "pry-byebug"
|
27
34
|
spec.add_dependency "binding_of_caller"
|
28
|
-
spec.add_dependency "standalone_migrations", "~> 4.0.3"
|
29
|
-
spec.add_dependency "sqlite3", "~> 1.3.11"
|
30
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- shuriu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -44,58 +44,128 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 5.8.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 5.8.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: guard
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 2.13.0
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 2.13.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: guard-minitest
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 2.4.0
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.4.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: guard-rubocop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 1.2.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.2.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: coveralls
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.8.13
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.8.13
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rubocop
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.38.0
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.38.0
|
55
125
|
- !ruby/object:Gem::Dependency
|
56
126
|
name: thor
|
57
127
|
requirement: !ruby/object:Gem::Requirement
|
58
128
|
requirements:
|
59
129
|
- - "~>"
|
60
130
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.19.
|
131
|
+
version: 0.19.0
|
62
132
|
type: :runtime
|
63
133
|
prerelease: false
|
64
134
|
version_requirements: !ruby/object:Gem::Requirement
|
65
135
|
requirements:
|
66
136
|
- - "~>"
|
67
137
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.19.
|
138
|
+
version: 0.19.0
|
69
139
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
140
|
+
name: standalone_migrations
|
71
141
|
requirement: !ruby/object:Gem::Requirement
|
72
142
|
requirements:
|
73
|
-
- - "
|
143
|
+
- - "~>"
|
74
144
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
145
|
+
version: 4.0.0
|
76
146
|
type: :runtime
|
77
147
|
prerelease: false
|
78
148
|
version_requirements: !ruby/object:Gem::Requirement
|
79
149
|
requirements:
|
80
|
-
- - "
|
150
|
+
- - "~>"
|
81
151
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
152
|
+
version: 4.0.0
|
83
153
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
154
|
+
name: sqlite3
|
85
155
|
requirement: !ruby/object:Gem::Requirement
|
86
156
|
requirements:
|
87
|
-
- - "
|
157
|
+
- - "~>"
|
88
158
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
159
|
+
version: 1.3.0
|
90
160
|
type: :runtime
|
91
161
|
prerelease: false
|
92
162
|
version_requirements: !ruby/object:Gem::Requirement
|
93
163
|
requirements:
|
94
|
-
- - "
|
164
|
+
- - "~>"
|
95
165
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
166
|
+
version: 1.3.0
|
97
167
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
168
|
+
name: pry
|
99
169
|
requirement: !ruby/object:Gem::Requirement
|
100
170
|
requirements:
|
101
171
|
- - ">="
|
@@ -109,33 +179,33 @@ dependencies:
|
|
109
179
|
- !ruby/object:Gem::Version
|
110
180
|
version: '0'
|
111
181
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
182
|
+
name: pry-byebug
|
113
183
|
requirement: !ruby/object:Gem::Requirement
|
114
184
|
requirements:
|
115
|
-
- - "
|
185
|
+
- - ">="
|
116
186
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
187
|
+
version: '0'
|
118
188
|
type: :runtime
|
119
189
|
prerelease: false
|
120
190
|
version_requirements: !ruby/object:Gem::Requirement
|
121
191
|
requirements:
|
122
|
-
- - "
|
192
|
+
- - ">="
|
123
193
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
194
|
+
version: '0'
|
125
195
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
196
|
+
name: binding_of_caller
|
127
197
|
requirement: !ruby/object:Gem::Requirement
|
128
198
|
requirements:
|
129
|
-
- - "
|
199
|
+
- - ">="
|
130
200
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
201
|
+
version: '0'
|
132
202
|
type: :runtime
|
133
203
|
prerelease: false
|
134
204
|
version_requirements: !ruby/object:Gem::Requirement
|
135
205
|
requirements:
|
136
|
-
- - "
|
206
|
+
- - ">="
|
137
207
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
208
|
+
version: '0'
|
139
209
|
description:
|
140
210
|
email:
|
141
211
|
- stefan.rotariu@gmail.com
|
@@ -144,9 +214,12 @@ executables:
|
|
144
214
|
extensions: []
|
145
215
|
extra_rdoc_files: []
|
146
216
|
files:
|
217
|
+
- ".codeclimate.yml"
|
147
218
|
- ".gitignore"
|
219
|
+
- ".rubocop.yml"
|
148
220
|
- ".travis.yml"
|
149
221
|
- Gemfile
|
222
|
+
- Guardfile
|
150
223
|
- LICENSE.txt
|
151
224
|
- README.md
|
152
225
|
- Rakefile
|
@@ -154,12 +227,17 @@ files:
|
|
154
227
|
- bin/nrb
|
155
228
|
- lib/nrb.rb
|
156
229
|
- lib/nrb/cli.rb
|
230
|
+
- lib/nrb/commands/all.rb
|
231
|
+
- lib/nrb/commands/base/base.rb
|
232
|
+
- lib/nrb/commands/base/inside.rb
|
233
|
+
- lib/nrb/commands/base/resource.rb
|
234
|
+
- lib/nrb/commands/concerns/resource_generator.rb
|
157
235
|
- lib/nrb/commands/console.rb
|
158
236
|
- lib/nrb/commands/destroy.rb
|
159
237
|
- lib/nrb/commands/generate.rb
|
160
|
-
- lib/nrb/commands/inside_group.rb
|
161
238
|
- lib/nrb/commands/script.rb
|
162
239
|
- lib/nrb/commands/starter.rb
|
240
|
+
- lib/nrb/errors.rb
|
163
241
|
- lib/nrb/templates/.gitignore.tt
|
164
242
|
- lib/nrb/templates/Gemfile.tt
|
165
243
|
- lib/nrb/templates/README.md.tt
|
@@ -197,3 +275,4 @@ signing_key:
|
|
197
275
|
specification_version: 4
|
198
276
|
summary: Ninja Ruby scripts with easy persistence for your experimenting needs.
|
199
277
|
test_files: []
|
278
|
+
has_rdoc:
|