summaryrefslogtreecommitdiff
path: root/example/models
diff options
context:
space:
mode:
Diffstat (limited to 'example/models')
-rw-r--r--example/models/log.rb31
-rw-r--r--example/models/user.rb25
2 files changed, 56 insertions, 0 deletions
diff --git a/example/models/log.rb b/example/models/log.rb
new file mode 100644
index 0000000..9e700a8
--- /dev/null
+++ b/example/models/log.rb
@@ -0,0 +1,31 @@
+require 'yaml'
+
+class Log
+
+ def self.current
+ @current ||= Log.new
+ end
+
+ def self.log(*args)
+ self.current.log(*args)
+ end
+
+ def self.clear
+ @current = nil
+ end
+
+ attr_accessor :actions
+
+ def initialize
+ @actions = []
+ end
+
+ def log(action, params)
+ @actions << {action => params.dup}
+ end
+
+ def pretty
+ @actions.to_yaml
+ end
+
+end
diff --git a/example/models/user.rb b/example/models/user.rb
new file mode 100644
index 0000000..f3f86ba
--- /dev/null
+++ b/example/models/user.rb
@@ -0,0 +1,25 @@
+class User
+
+ def self.current
+ # p "getting #{@current ? @current.login : 'nil'}"
+ @current ||= User.new
+ end
+
+ attr_accessor :login
+ attr_accessor :password
+ attr_accessor :active
+
+ def signup!(params)
+ self.login = params.delete('login')
+ self.password = params.delete('password')
+ self.active = false
+ end
+
+ def login!(params)
+ self.active = valid_login?(params[:login], params[:password])
+ end
+
+ def valid_login?(login, password)
+ (self.login == login) and (self.password == password)
+ end
+end