Sha256: 3a488de665701d9f530f52205060fbc7714ca5df01d00a72b772736932b85177
Contents?: true
Size: 1.8 KB
Versions: 3
Compression:
Stored size: 1.8 KB
Contents
module Sprout module Executable ## # Concrete Sprout::Executable::Param object for Boolean values. # # By default Boolean parameters have their value set to false and # :hidden_value set to true. This means that when they are serialized # to the shell, they will usually be represented like: # # --name # # Rather than: # # --name=true # # The following example demonstrates a simple use of the Boolean # parameter: # # class Foo # include Sprout::Executable # # add_param :visible, Boolean # end # # @see Sprout::Executable::Param # class Boolean < Param ## # By default, the Boolean parameter will only # be displayed when it's value is +true+. # # Set :show_on_false to true in order to reverse # this rule. # # add_param :visible, Boolean, :show_on_false => true # # Will make the following: # # foo :name do |t| # t.visible = false # end # # Serialize to the shell with: # # foo -visible=false # attr_accessor :show_on_false def initialize super @delimiter = ' ' @option_parser_type_name = 'BOOL' @show_on_false = false @value = false @hidden_value = true end ## # Convert string representations of truthiness # to something more Booley. def value=(value) value = (value == "true" || value === true) ? true : false super value end def visible? @visible ||= value if(show_on_false) return true unless value else return @visible end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
sprout-1.1.3.pre | lib/sprout/executable/boolean.rb |
sprout-1.1.2.pre | lib/sprout/executable/boolean.rb |
sprout-1.0.35.pre | lib/sprout/executable/boolean.rb |