Sha256: 561b49cb7a7a3512a81b221cb0a957462e7ce164b6bc4c0f81e14d65afee3fc3

Contents?: true

Size: 483 Bytes

Versions: 38

Compression:

Stored size: 483 Bytes

Contents

module Foobara
  module BuiltinTypes
    module Integer
      module Casters
        class String < Value::Caster
          INTEGER_REGEX = /^-?\d+$/

          def applicable?(value)
            value.is_a?(::String) && value =~ INTEGER_REGEX
          end

          def applies_message
            "be a string of digits optionally with a minus sign in front"
          end

          def cast(string)
            string.to_i
          end
        end
      end
    end
  end
end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
foobara-0.0.18 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.17 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.16 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.15 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.14 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.13 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.12 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.11 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.10 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.9 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.8 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.7 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.6 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.5 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.4 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.3 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.2 projects/builtin_types/src/integer/casters/string.rb
foobara-0.0.1 projects/builtin_types/src/integer/casters/string.rb