Sha256: 3eccfc9a982c534cf780c47c2b8692c4f1a4eca533bbcd30b141de8380b81b2d

Contents?: true

Size: 487 Bytes

Versions: 9

Compression:

Stored size: 487 Bytes

Contents

module RailsSettingsUi
  module ValueTypes
    class Base
      attr_accessor :value, :errors
    
      def initialize(value)
        self.value = value
        self.errors = []
        validate
      end
    
      def cast
        raise NotImplementedError
      end
    
      def valid?
        !errors.any?
      end

      def value_numeric?
        !value.to_s.match(/\A[+-]?\d+?(\.\d+)?\Z/).nil?
      end
    
      protected
    
      def validate
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rails-settings-ui-0.5.0 lib/rails-settings-ui/value_types/base.rb
rails-settings-ui-0.4.0 lib/rails-settings-ui/value_types/base.rb
rails-settings-ui-0.3.2 lib/rails-settings-ui/value_types/base.rb
rails-settings-ui-0.3.1 lib/rails-settings-ui/value_types/base.rb
rails-settings-ui-0.2.1 lib/rails-settings-ui/value_types/base.rb
rails-settings-ui-0.3.0 lib/rails-settings-ui/value_types/base.rb
rails-settings-ui-0.2.0 lib/rails-settings-ui/value_types/base.rb
rails-settings-ui-0.1.1 lib/rails-settings-ui/value_types/base.rb
rails-settings-ui-0.1.0 lib/rails-settings-ui/value_types/base.rb