Module: SugarUtils
- Defined in:
- lib/sugar_utils.rb,
lib/sugar_utils/file.rb,
lib/sugar_utils/version.rb,
lib/sugar_utils/file/write_options.rb
Defined Under Namespace
Modules: File
Constant Summary collapse
- VERSION =
'0.8.0'
Class Method Summary collapse
- .ensure_boolean(value) ⇒ Boolean
- .ensure_integer(value) ⇒ Integer
- .scrub_encoding(data, replacement_character = nil) ⇒ String
Class Method Details
.ensure_boolean(value) ⇒ Boolean
11 12 13 14 15 16 17 |
# File 'lib/sugar_utils.rb', line 11 def self.ensure_boolean(value) return false if value == 0 # rubocop:disable Style/NumericPredicate return false if value.respond_to?(:to_s) && value.to_s.strip.casecmp('false').zero? value ? true : false end |
.ensure_integer(value) ⇒ Integer
25 26 27 28 29 30 |
# File 'lib/sugar_utils.rb', line 25 def self.ensure_integer(value) return value if value.is_a?(Integer) return value.to_i if value.is_a?(Float) Float(value).to_i end |
.scrub_encoding(data) ⇒ String .scrub_encoding(data, replacement_character) ⇒ String
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/sugar_utils.rb', line 42 def self.scrub_encoding(data, replacement_character = nil) replacement_character = '' unless replacement_character.is_a?(String) # If the Ruby version being used supports String#scrub, then just use it. return data.scrub(replacement_character) if data.respond_to?(:scrub) # Otherwise, fall back to String#encode. data.encode( data.encoding, 'binary', invalid: :replace, undef: :replace, replace: replacement_character ) end |