diff --git a/Gemfile b/Gemfile old mode 100755 new mode 100644 index 531d17a..1fb340b --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,4 @@ source "http://rubygems.org" +source 'http://sellect:devel0pers@gems.kingandpartners.com/' -gem 'rails', "3.0.0.beta4" -gem 'mysql' -gem 'warden' -gem 'devise' \ No newline at end of file +gemspec diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..8857aaf --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,76 @@ +PATH + remote: . + specs: + devise_traceable (0.0.8) + devise + warden + +GEM + remote: http://rubygems.org/ + specs: + actionpack (3.2.15) + activemodel (= 3.2.15) + activesupport (= 3.2.15) + builder (~> 3.0.0) + erubis (~> 2.7.0) + journey (~> 1.0.4) + rack (~> 1.4.5) + rack-cache (~> 1.2) + rack-test (~> 0.6.1) + sprockets (~> 2.2.1) + activemodel (3.2.15) + activesupport (= 3.2.15) + builder (~> 3.0.0) + activesupport (3.2.15) + i18n (~> 0.6, >= 0.6.4) + multi_json (~> 1.0) + atomic (1.1.14) + bcrypt-ruby (3.1.2) + builder (3.0.4) + devise (3.1.1) + bcrypt-ruby (~> 3.0) + orm_adapter (~> 0.1) + railties (>= 3.2.6, < 5) + thread_safe (~> 0.1) + warden (~> 1.2.3) + erubis (2.7.0) + hike (1.2.3) + i18n (0.6.5) + journey (1.0.4) + json (1.8.1) + multi_json (1.8.2) + orm_adapter (0.4.0) + rack (1.4.5) + rack-cache (1.2) + rack (>= 0.4) + rack-ssl (1.3.3) + rack + rack-test (0.6.2) + rack (>= 1.0) + railties (3.2.15) + actionpack (= 3.2.15) + activesupport (= 3.2.15) + rack-ssl (~> 1.3.2) + rake (>= 0.8.7) + rdoc (~> 3.4) + thor (>= 0.14.6, < 2.0) + rake (10.1.0) + rdoc (3.12.2) + json (~> 1.4) + sprockets (2.2.2) + hike (~> 1.2) + multi_json (~> 1.0) + rack (~> 1.0) + tilt (~> 1.1, != 1.3.0) + thor (0.18.1) + thread_safe (0.1.3) + atomic + tilt (1.4.1) + warden (1.2.3) + rack (>= 1.0) + +PLATFORMS + ruby + +DEPENDENCIES + devise_traceable! diff --git a/MIT-LICENSE b/MIT-LICENSE old mode 100755 new mode 100644 diff --git a/README.md b/README.md new file mode 100644 index 0000000..4ef85aa --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ += devise_traceable + +It adds support to devise[http://github.com/plataformatec/devise] for tracing. + +Sellect fork 'traces' user.current_sign_in_ip and user.current_location + +Configure devise_traceable inside your app + + gem 'devise_traceable', '~> 0.0.8' diff --git a/README.rdoc b/README.rdoc deleted file mode 100755 index abe59c7..0000000 --- a/README.rdoc +++ /dev/null @@ -1,33 +0,0 @@ -= devise_traceable - -It adds support to devise[http://github.com/plataformatec/devise] for tracing. - -== Installation - -All gems are on gemcutter, so you need to add gemcutter to your sources if you haven’t yet: - - sudo gem sources -a http://gemcutter.org/ - -Install devise_traceable gem, it should install dependencies (such as devise and warden): - - sudo gem install devise_traceable - -Configure devise_traceable inside your app (and warden and devise if you weren't using them): - - gem 'warden' - gem 'devise' - gem 'devise_traceable' - -== Usage - - rails g devise_traceable User - - in User Model add :traceable as follow - - class User < ActiveRecord::Base - devise :database_authenticatable, ..... , :traceable - end - -== Copyright - -Copyright (c) 2010 mobiThought. See LICENSE for details. diff --git a/Rakefile b/Rakefile old mode 100755 new mode 100644 diff --git a/devise_traceable.gemspec b/devise_traceable.gemspec new file mode 100644 index 0000000..1c96ddb --- /dev/null +++ b/devise_traceable.gemspec @@ -0,0 +1,19 @@ +# -*- encoding: utf-8 -*- +lib = File.expand_path('../lib', __FILE__) +$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) +require 'devise_traceable/version' + +Gem::Specification.new do |s| + s.name = "devise_traceable" + s.summary = "Devise Traceable For Traceing Devise Models" + s.description = "Devise Traceable For Traceing Devise Models Logins and Logouts in separate model table" + s.files = `git ls-files`.split($/) + s.executables = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) } + s.require_paths = ["lib"] + s.version = DeviseTraceable::VERSION.dup + s.email = "sukhchander@sellect.com" + s.homepage = "http://github.com/sellect/devise_traceable" + s.author = 'Sukhchander Khanna' + s.add_dependency("warden") + s.add_dependency("devise") +end diff --git a/lib/devise_traceable.rb b/lib/devise_traceable.rb index 08326fc..760f495 100755 --- a/lib/devise_traceable.rb +++ b/lib/devise_traceable.rb @@ -8,4 +8,4 @@ module DeviseTraceable end -require 'devise_traceable/rails' \ No newline at end of file +require 'devise_traceable/rails' diff --git a/lib/devise_traceable/model.rb b/lib/devise_traceable/model.rb index 156a63c..4aec6f7 100755 --- a/lib/devise_traceable/model.rb +++ b/lib/devise_traceable/model.rb @@ -2,17 +2,18 @@ module Devise module Models - # Trace information about your user sign in. It tracks the following columns: - - # * resource_id - # * sign_in_at - # * sign_out_at - module Traceable def stamp! new_current = Time.now - "#{self.class}Tracing".constantize.create(:sign_in_at => self.current_sign_in_at, :sign_out_at => new_current, "#{self.class}".foreign_key.to_sym => self.id) + + "#{self.class}Tracing".constantize.create( + ip: self.current_sign_in_ip, + ip_location: self.current_location, + sign_in_at: self.current_sign_in_at, + sign_out_at: new_current, + "#{self.class}".foreign_key.to_sym => self.id + ) end end end -end +end \ No newline at end of file diff --git a/lib/devise_traceable/version.rb b/lib/devise_traceable/version.rb index b81c336..59896e5 100755 --- a/lib/devise_traceable/version.rb +++ b/lib/devise_traceable/version.rb @@ -1,3 +1,3 @@ module DeviseTraceable - VERSION = "0.0.5".freeze + VERSION = "0.0.8".freeze end \ No newline at end of file