jefferies_tube 1.0.5 → 1.4
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 +5 -5
- data/.ruby-version +1 -1
- data/CHANGELOG.md +20 -2
- data/README.md +29 -2
- data/app/assets/stylesheets/jefferies_tube.sass +1 -1
- data/app/assets/stylesheets/meyer_reset.css +48 -0
- data/jefferies_tube.gemspec +3 -3
- data/lib/jefferies_tube.rb +31 -1
- data/lib/jefferies_tube/capistrano/deploy.rb +2 -1
- data/lib/jefferies_tube/console.rb +26 -0
- data/lib/jefferies_tube/custom_prompts.irbrc.rb +11 -0
- data/lib/jefferies_tube/railtie.rb +11 -2
- data/lib/jefferies_tube/version.rb +3 -1
- data/spec/configuration_spec.rb +20 -0
- metadata +19 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 42afa1c0d3f03fcca7ee352fd0d557c6592c15cc72f575c1f76b059c10a0fbaa
|
4
|
+
data.tar.gz: 5b16221cfc31659d7dcc2eff9289932f3f1974e401eae42d0b1e172219ad9e4d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38be79244ee0c4f08f72cb82d3a82240977f6d8a1aafe99cbe8b4aa0d2393fcd07b962a875b99ca1b064899b64459e7d0d92aeb7c5216d84211680ad9acd54f4
|
7
|
+
data.tar.gz: f2cfe1e09ca3532bdf755d34fae7aef8a29361254975d9b9f70c7094570d6b05a6690d4b9bb41ac5fb364a49c446807ffb36c972e514595594f8b73018fe01a4
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.3
|
1
|
+
2.6.3
|
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,30 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
This is a [changelog](https://keepachangelog.com/en/0.
|
3
|
+
This is a [changelog](https://keepachangelog.com/en/1.0.0/).
|
4
4
|
|
5
5
|
This project attempts to follow [semantic versioning](https://semver.org/)
|
6
6
|
|
7
7
|
## Unreleased
|
8
8
|
|
9
|
-
|
9
|
+
## 1.4
|
10
|
+
|
11
|
+
* enhancements
|
12
|
+
* Rails 6.1 support - fix deprecations and outdated gem dependencies.
|
13
|
+
|
14
|
+
## 1.3
|
15
|
+
|
16
|
+
* enhancements
|
17
|
+
* Remove `compass-rails` dependency.
|
18
|
+
|
19
|
+
## 1.2
|
20
|
+
|
21
|
+
* enhancements
|
22
|
+
* Allow passing through bundler-audit ignore with `set :bundler_audit_ignore, ["CVE-1234-5678"]`
|
23
|
+
|
24
|
+
## 1.1.1
|
25
|
+
|
26
|
+
* enhancements
|
27
|
+
* Add colorful IRB prompts based on Rails environment
|
10
28
|
|
11
29
|
## 1.0.5 - 2019-02-19
|
12
30
|
|
data/README.md
CHANGED
@@ -99,6 +99,15 @@ To automatically tag the code that is about to be released (lazy programmer solu
|
|
99
99
|
before 'deploy', 'deploy:create_tag'
|
100
100
|
```
|
101
101
|
|
102
|
+
#### Bundler Audit
|
103
|
+
|
104
|
+
By default jefferies_tube will raise an error and stop if it detects any vulnerabilities is your installed gems. If you need to deploy anyway even with vulnerabilities you can do `I_KNOW_GEMS_ARE_INSECURE=true cap <environment> deploy`.
|
105
|
+
|
106
|
+
To ignore specific CVE's when running bundler-audit, inside `config/deploy.rb`:
|
107
|
+
```ruby
|
108
|
+
set :bundler_audit_ignore, ["CVE-1234-5678"]
|
109
|
+
```
|
110
|
+
|
102
111
|
### Enable/Disable Maintence Mode
|
103
112
|
|
104
113
|
```
|
@@ -155,10 +164,28 @@ end
|
|
155
164
|
|
156
165
|
If you do this, don't forget to add `my.development.rb` to the gitignore file.
|
157
166
|
|
167
|
+
### Terminal colors
|
168
|
+
Changes the prompt color of your terminal. Shows Development environments in blue, Test in yellow, and Production in a scary red.
|
169
|
+
Defaults to using the Rails env and Rails app class name, but configuration can be done in a Rails initializer like:
|
170
|
+
```
|
171
|
+
JefferiesTube.configure do |config|
|
172
|
+
config.environment = 'production' # If you're using a nonstandard env name but want colors.
|
173
|
+
config.prompt_name = 'ShortName' #For a shorter prompt name if you have a long app
|
174
|
+
end
|
175
|
+
```
|
176
|
+
|
158
177
|
## Contributing
|
159
178
|
|
160
179
|
1. Fork it ( http://github.com/<my-github-username>/jefferies_tube/fork )
|
161
180
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
162
181
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
163
|
-
4.
|
164
|
-
5.
|
182
|
+
4. Add changes to the CHANGELOG file in the 'Unreleased' section.
|
183
|
+
5. Push to the branch (`git push origin my-new-feature`)
|
184
|
+
6. Create new Pull Request
|
185
|
+
|
186
|
+
### Release
|
187
|
+
|
188
|
+
- Update `lib/jefferies_tube/version.rb` with the new version number (be sure to follow
|
189
|
+
[semver](https://semver.org/)).
|
190
|
+
- Update `CHANGELOG.md` and move everything in 'Unreleased' to a new section for the new version.
|
191
|
+
- Tag the final commit in that release.
|
@@ -0,0 +1,48 @@
|
|
1
|
+
/* http://meyerweb.com/eric/tools/css/reset/
|
2
|
+
v2.0 | 20110126
|
3
|
+
License: none (public domain)
|
4
|
+
*/
|
5
|
+
|
6
|
+
html, body, div, span, applet, object, iframe,
|
7
|
+
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
8
|
+
a, abbr, acronym, address, big, cite, code,
|
9
|
+
del, dfn, em, img, ins, kbd, q, s, samp,
|
10
|
+
small, strike, strong, sub, sup, tt, var,
|
11
|
+
b, u, i, center,
|
12
|
+
dl, dt, dd, ol, ul, li,
|
13
|
+
fieldset, form, label, legend,
|
14
|
+
table, caption, tbody, tfoot, thead, tr, th, td,
|
15
|
+
article, aside, canvas, details, embed,
|
16
|
+
figure, figcaption, footer, header, hgroup,
|
17
|
+
menu, nav, output, ruby, section, summary,
|
18
|
+
time, mark, audio, video {
|
19
|
+
margin: 0;
|
20
|
+
padding: 0;
|
21
|
+
border: 0;
|
22
|
+
font-size: 100%;
|
23
|
+
font: inherit;
|
24
|
+
vertical-align: baseline;
|
25
|
+
}
|
26
|
+
/* HTML5 display-role reset for older browsers */
|
27
|
+
article, aside, details, figcaption, figure,
|
28
|
+
footer, header, hgroup, menu, nav, section {
|
29
|
+
display: block;
|
30
|
+
}
|
31
|
+
body {
|
32
|
+
line-height: 1;
|
33
|
+
}
|
34
|
+
ol, ul {
|
35
|
+
list-style: none;
|
36
|
+
}
|
37
|
+
blockquote, q {
|
38
|
+
quotes: none;
|
39
|
+
}
|
40
|
+
blockquote:before, blockquote:after,
|
41
|
+
q:before, q:after {
|
42
|
+
content: '';
|
43
|
+
content: none;
|
44
|
+
}
|
45
|
+
table {
|
46
|
+
border-collapse: collapse;
|
47
|
+
border-spacing: 0;
|
48
|
+
}
|
data/jefferies_tube.gemspec
CHANGED
@@ -20,10 +20,10 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_development_dependency "awesome_print"
|
22
22
|
spec.add_development_dependency "bundler"
|
23
|
-
spec.add_development_dependency "pry"
|
23
|
+
spec.add_development_dependency "pry", '~> 0.13'
|
24
24
|
spec.add_development_dependency "rake"
|
25
25
|
spec.add_development_dependency "rspec", '~> 3.0'
|
26
26
|
|
27
|
-
spec.add_dependency "bundler-audit", '~> 0.
|
28
|
-
spec.add_dependency '
|
27
|
+
spec.add_dependency "bundler-audit", '~> 0.7.0'
|
28
|
+
spec.add_dependency "pry", '~> 0.13'
|
29
29
|
end
|
data/lib/jefferies_tube.rb
CHANGED
@@ -1,6 +1,36 @@
|
|
1
1
|
require 'jefferies_tube/version'
|
2
|
-
require 'jefferies_tube/engine'
|
2
|
+
require 'jefferies_tube/engine' if defined?(Rails)
|
3
3
|
|
4
4
|
module JefferiesTube
|
5
5
|
require 'jefferies_tube/railtie' if defined?(Rails)
|
6
|
+
|
7
|
+
class << self
|
8
|
+
def configure
|
9
|
+
yield(configuration)
|
10
|
+
end
|
11
|
+
|
12
|
+
def configuration
|
13
|
+
@configuration ||= Configuration.new
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
class Configuration
|
18
|
+
attr_accessor :environment
|
19
|
+
attr_accessor :prompt_name
|
20
|
+
|
21
|
+
def initialize
|
22
|
+
if defined?(Rails)
|
23
|
+
@environment = ::Rails.env.downcase || nil
|
24
|
+
@prompt_name =
|
25
|
+
if ::Rails::VERSION::MAJOR >= 6
|
26
|
+
::Rails.application.class.module_parent_name || nil
|
27
|
+
else
|
28
|
+
::Rails.application.class.parent_name || nil
|
29
|
+
end
|
30
|
+
else
|
31
|
+
@environment = "development"
|
32
|
+
@prompt_name = "JefferiesTube"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
6
36
|
end
|
@@ -30,7 +30,8 @@ namespace :deploy do
|
|
30
30
|
Bundler::Audit::Database.update!
|
31
31
|
scanner = Bundler::Audit::Scanner.new
|
32
32
|
vulnerable = false
|
33
|
-
|
33
|
+
ignore = fetch(:bundler_audit_ignore, [])
|
34
|
+
scanner.scan(ignore: ignore) do |result|
|
34
35
|
vulnerable = true
|
35
36
|
case result
|
36
37
|
when Bundler::Audit::Scanner::InsecureSource
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class JefferiesTube::Console
|
2
|
+
def self.prompt
|
3
|
+
rails_env = JefferiesTube.configuration.environment
|
4
|
+
if rails_env
|
5
|
+
color = "\e[0m" #Default to white text on no background
|
6
|
+
current_app = JefferiesTube.configuration.prompt_name
|
7
|
+
|
8
|
+
# shorten some common long environment names
|
9
|
+
if rails_env == "development"
|
10
|
+
elsif rails_env == "dev"
|
11
|
+
rails_env = "dev"
|
12
|
+
color = "\e[0;37m\e[1;44m" #White on blue
|
13
|
+
elsif ["test", "qa", "staging"].include? rails_env
|
14
|
+
color = "\e[0;37m\e[1;43m" #White on yellow
|
15
|
+
elsif rails_env == "production"
|
16
|
+
rails_env = "prod"
|
17
|
+
color = "\e[0;37m\e[1;41m" #White on red
|
18
|
+
end
|
19
|
+
|
20
|
+
base = "#{color}#{current_app}(#{rails_env})\e[0m"
|
21
|
+
return "#{base}> "
|
22
|
+
else
|
23
|
+
return "#{current_app}> "
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -1,12 +1,20 @@
|
|
1
1
|
require 'jefferies_tube'
|
2
|
+
require 'jefferies_tube/console'
|
2
3
|
require 'rails'
|
3
4
|
|
4
5
|
module JefferiesTube
|
6
|
+
|
5
7
|
class Railtie < ::Rails::Railtie
|
6
8
|
railtie_name :jefferies_tube
|
7
9
|
|
8
10
|
console do
|
9
11
|
ActiveRecord::Base.connection
|
12
|
+
|
13
|
+
ARGV.push "-r", File.join(File.dirname(__FILE__),"custom_prompts.irbrc.rb")
|
14
|
+
|
15
|
+
if defined? Pry
|
16
|
+
Pry.prompt = Pry::Prompt.new(:jefferies_tube, '', Array.new(2) { proc { JefferiesTube::Console.prompt } })
|
17
|
+
end
|
10
18
|
end
|
11
19
|
|
12
20
|
config.after_initialize do |args|
|
@@ -30,10 +38,11 @@ module JefferiesTube
|
|
30
38
|
end
|
31
39
|
|
32
40
|
initializer "jefferies_tube.view_helpers" do
|
33
|
-
|
41
|
+
::Rails.application.reloader.to_prepare do
|
42
|
+
ActionView::Base.send :include, JefferiesTube::ApplicationHelper
|
43
|
+
end
|
34
44
|
end
|
35
45
|
|
36
|
-
|
37
46
|
initializer "fix spring + figaro" do |config|
|
38
47
|
if defined?(Spring) && File.exists?("config/application.yml")
|
39
48
|
require 'spring/watcher'
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative '../lib/jefferies_tube'
|
2
|
+
|
3
|
+
RSpec.describe "Configuration" do
|
4
|
+
describe 'configuration' do
|
5
|
+
it 'allows the Environment name to be initialized' do
|
6
|
+
expect(JefferiesTube.configuration.environment).to_not be_nil
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'allows a custom environment name & prompt' do
|
10
|
+
JefferiesTube.configure do |config|
|
11
|
+
config.environment = 'production' # If you're using a nonstandard env name but want colors.
|
12
|
+
config.prompt_name = 'ShortName' #For a shorter prompt name if you have a long app
|
13
|
+
end
|
14
|
+
|
15
|
+
expect(JefferiesTube.configuration.environment).to eq("production")
|
16
|
+
expect(JefferiesTube.configuration.prompt_name).to eq("ShortName")
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jefferies_tube
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: '1.4'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Samson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: awesome_print
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: pry
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
47
|
+
version: '0.13'
|
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: '0'
|
54
|
+
version: '0.13'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,28 +86,28 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.7.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.7.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: pry
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
103
|
+
version: '0.13'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
110
|
+
version: '0.13'
|
111
111
|
description: Useful tools for Rails.
|
112
112
|
email:
|
113
113
|
- brian@tenforwardconsulting.com
|
@@ -125,6 +125,7 @@ files:
|
|
125
125
|
- README.md
|
126
126
|
- Rakefile
|
127
127
|
- app/assets/stylesheets/jefferies_tube.sass
|
128
|
+
- app/assets/stylesheets/meyer_reset.css
|
128
129
|
- app/controllers/jefferies_tube/errors_controller.rb
|
129
130
|
- app/helpers/jefferies_tube/application_helper.rb
|
130
131
|
- app/views/errors/404.html.haml
|
@@ -142,6 +143,8 @@ files:
|
|
142
143
|
- lib/jefferies_tube/capistrano/rails.rb
|
143
144
|
- lib/jefferies_tube/capistrano/s3_assets.rb
|
144
145
|
- lib/jefferies_tube/capistrano/ssh.rb
|
146
|
+
- lib/jefferies_tube/console.rb
|
147
|
+
- lib/jefferies_tube/custom_prompts.irbrc.rb
|
145
148
|
- lib/jefferies_tube/database_backup.rb
|
146
149
|
- lib/jefferies_tube/database_backup_adapter.rb
|
147
150
|
- lib/jefferies_tube/engine.rb
|
@@ -151,6 +154,7 @@ files:
|
|
151
154
|
- lib/jefferies_tube/test_backup_adapter.rb
|
152
155
|
- lib/jefferies_tube/version.rb
|
153
156
|
- lib/tasks/db.rake
|
157
|
+
- spec/configuration_spec.rb
|
154
158
|
- spec/database_backup_spec.rb
|
155
159
|
- spec/spec_helper.rb
|
156
160
|
homepage: https://github.com/tenforwardconsulting/jefferies_tube/
|
@@ -172,11 +176,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
172
176
|
- !ruby/object:Gem::Version
|
173
177
|
version: '0'
|
174
178
|
requirements: []
|
175
|
-
|
176
|
-
rubygems_version: 2.6.13
|
179
|
+
rubygems_version: 3.0.3
|
177
180
|
signing_key:
|
178
181
|
specification_version: 4
|
179
182
|
summary: Ten Forward Consulting useful tools.
|
180
183
|
test_files:
|
184
|
+
- spec/configuration_spec.rb
|
181
185
|
- spec/database_backup_spec.rb
|
182
186
|
- spec/spec_helper.rb
|