Class: Binbundle::Jewel
- Inherits:
-
Object
- Object
- Binbundle::Jewel
- Defined in:
- lib/binbundle/jewel.rb
Overview
String helpers
Instance Attribute Summary collapse
-
#bins ⇒ Object
readonly
Binaries.
-
#gem ⇒ Object
readonly
Gem name.
-
#include_version ⇒ Object
writeonly
Include version info in output.
-
#sudo ⇒ Object
writeonly
Include sudo.
-
#user_install ⇒ Object
writeonly
Include –user-install.
Instance Method Summary collapse
-
#gem_command ⇒ String
Output a Binfile-ready version of the Jewel.
-
#initialize(gem_name = '', bins = [], version = nil) ⇒ Jewel
constructor
Create a new Jewel object.
-
#to_s ⇒ String
Output Jewel as command.
Constructor Details
#initialize(gem_name = '', bins = [], version = nil) ⇒ Jewel
Create a new Jewel object
30 31 32 33 34 35 36 37 38 39 |
# File 'lib/binbundle/jewel.rb', line 30 def initialize(gem_name = '', bins = [], version = nil) @gem = gem_name @bins = if bins.is_a?(String) bins.split(/ *, */) else bins end @version = version @include_version = true end |
Instance Attribute Details
#bins ⇒ Object (readonly)
Binaries
16 17 18 |
# File 'lib/binbundle/jewel.rb', line 16 def bins @bins end |
#gem ⇒ Object (readonly)
Gem name
19 20 21 |
# File 'lib/binbundle/jewel.rb', line 19 def gem @gem end |
#include_version=(value) ⇒ Object (writeonly)
Include version info in output
7 8 9 |
# File 'lib/binbundle/jewel.rb', line 7 def include_version=(value) @include_version = value end |
#sudo=(value) ⇒ Object (writeonly)
Include sudo
10 11 12 |
# File 'lib/binbundle/jewel.rb', line 10 def sudo=(value) @sudo = value end |
#user_install=(value) ⇒ Object (writeonly)
Include –user-install
13 14 15 |
# File 'lib/binbundle/jewel.rb', line 13 def user_install=(value) @user_install = value end |
Instance Method Details
#gem_command ⇒ String
Output a Binfile-ready version of the Jewel
62 63 64 65 66 67 |
# File 'lib/binbundle/jewel.rb', line 62 def gem_command ver = @include_version ? " -v '#{@version}'" : '' ui = @user_install ? '--user-install ' : '' sudo = @sudo ? 'sudo ' : '' "# Executables: #{@bins.join(', ')}\n#{to_s}" end |
#to_s ⇒ String
Output Jewel as command
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/binbundle/jewel.rb', line 46 def to_s version = @include_version && @version ? " -v '#{@version}'" : '' if @sudo "sudo gem install #{@gem}#{version}" elsif @user_install "gem install --user-install #{@gem}#{version}" else "gem install #{@gem}#{version}" end end |