examples/scheme.rb in swift-0.4.3 vs examples/scheme.rb in swift-0.5.0
- old
+ new
@@ -1,17 +1,26 @@
#!/usr/bin/env ruby
-require_relative '../lib/swift'
+
+$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
+
require 'pp'
+require 'swift'
+require 'swift/migrations'
+require 'swift/validations'
class User < Swift::Scheme
store :users
attribute :id, Swift::Type::Integer, serial: true, key: true
attribute :name, Swift::Type::String
attribute :email, Swift::Type::String
attribute :active, Swift::Type::Boolean
attribute :created, Swift::Type::Time, default: proc { Time.now }
attribute :optional, Swift::Type::String, default: 'woot'
+
+ validations do |errors|
+ errors << [:name, 'is blank'] if name.to_s.empty?
+ end
end # User
adapter = ARGV.first =~ /mysql/i ? Swift::DB::Mysql : Swift::DB::Postgres
puts "Using DB: #{adapter}"
@@ -25,10 +34,9 @@
User.create name: 'Apple Arthurton', email: 'apple@arthurton.local'
User.create name: 'Benny Arthurton', email: 'benny@arthurton.local'
puts '', '-- all --'
pp User.all.to_a
-# pp User.all(':name like ?', '%Arthurton').to_a
puts '', '-- first --'
pp User.first(':name like ?', '%Arthurton')
puts '', '-- get --'