dm-userstamp 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,5 @@
1
+ *.sw?
2
+ .DS_Store
3
+ coverage
4
+ rdoc
5
+ pkg
data/Rakefile CHANGED
@@ -1,18 +1,48 @@
1
- # -*- ruby -*-
2
-
3
1
  require 'rubygems'
4
- require 'hoe'
5
- require './lib/dm-userstamp.rb'
6
- require './lib/dm-userstamp/version.rb'
7
-
8
- Hoe.new('dm-userstamp', DataMapper::Userstamps::VERSION) do |p|
9
- p.name = 'dm-userstamp'
10
- p.remote_rdoc_dir = '' # Release to root
11
- p.rubyforge_name = 'dm-userstamp'
12
- p.author = "Richard Livsey"
13
- p.description = "DataMapper plugin to add automatic updating of created_by_id and updated_by_id attributes"
14
- p.summary = "DataMapper plugin to add automatic updating of created_by_id and updated_by_id attributes"
15
- p.email = 'richard@livsey.org'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "dm-userstamp"
8
+ gem.summary = %Q{DataMapper plugin to add automatic updating of created_by_id and updated_by_id attributes}
9
+ gem.email = "richard@livsey.org"
10
+ gem.homepage = "http://github.com/rlivsey/dm-userstamp"
11
+ gem.authors = ["Richard Livsey"]
12
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
13
+ end
14
+
15
+ rescue LoadError
16
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
17
+ end
18
+
19
+ require 'spec/rake/spectask'
20
+ Spec::Rake::SpecTask.new(:spec) do |spec|
21
+ spec.libs << 'lib' << 'spec'
22
+ spec.spec_files = FileList['spec/**/*_spec.rb']
23
+ end
24
+
25
+ Spec::Rake::SpecTask.new(:rcov) do |spec|
26
+ spec.libs << 'lib' << 'spec'
27
+ spec.pattern = 'spec/**/*_spec.rb'
28
+ spec.rcov = true
29
+ end
30
+
31
+
32
+ task :default => :spec
33
+
34
+ require 'rake/rdoctask'
35
+ Rake::RDocTask.new do |rdoc|
36
+ if File.exist?('VERSION.yml')
37
+ config = YAML.load(File.read('VERSION.yml'))
38
+ version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
39
+ else
40
+ version = ""
41
+ end
42
+
43
+ rdoc.rdoc_dir = 'rdoc'
44
+ rdoc.title = "dm-userstamp #{version}"
45
+ rdoc.rdoc_files.include('README*')
46
+ rdoc.rdoc_files.include('lib/**/*.rb')
16
47
  end
17
48
 
18
- # vim: syntax=Ruby
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.4
@@ -0,0 +1,50 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{dm-userstamp}
5
+ s.version = "0.0.4"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Richard Livsey"]
9
+ s.date = %q{2009-10-29}
10
+ s.email = %q{richard@livsey.org}
11
+ s.extra_rdoc_files = [
12
+ "LICENSE",
13
+ "README.txt"
14
+ ]
15
+ s.files = [
16
+ ".gitignore",
17
+ "History.txt",
18
+ "LICENSE",
19
+ "README.txt",
20
+ "Rakefile",
21
+ "TODO",
22
+ "VERSION",
23
+ "dm-userstamp.gemspec",
24
+ "lib/.DS_Store",
25
+ "lib/dm-userstamp.rb",
26
+ "lib/dm-userstamp/version.rb",
27
+ "spec/integration/userstamp_spec.rb",
28
+ "spec/spec.opts",
29
+ "spec/spec_helper.rb"
30
+ ]
31
+ s.homepage = %q{http://github.com/rlivsey/dm-userstamp}
32
+ s.rdoc_options = ["--charset=UTF-8"]
33
+ s.require_paths = ["lib"]
34
+ s.rubygems_version = %q{1.3.5}
35
+ s.summary = %q{DataMapper plugin to add automatic updating of created_by_id and updated_by_id attributes}
36
+ s.test_files = [
37
+ "spec/integration/userstamp_spec.rb",
38
+ "spec/spec_helper.rb"
39
+ ]
40
+
41
+ if s.respond_to? :specification_version then
42
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
43
+ s.specification_version = 3
44
+
45
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
46
+ else
47
+ end
48
+ else
49
+ end
50
+ end
@@ -1,19 +1,20 @@
1
1
  require 'rubygems'
2
2
 
3
- gem 'dm-core', '>=0.9.4'
3
+ gem 'dm-core', '>=0.9.10'
4
4
  require 'dm-core'
5
5
 
6
6
  module DataMapper
7
-
8
7
  module Userstamp
9
-
10
8
  module Stamper
11
9
  def self.included(base)
12
10
  base.extend(ClassMethods)
13
11
  end
14
-
12
+
15
13
  module ClassMethods
16
-
14
+ def userstamp_class
15
+ User
16
+ end
17
+
17
18
  def current_user=(user)
18
19
  Thread.current["#{self.to_s.downcase}_#{self.object_id}_stamper"] = user
19
20
  end
@@ -21,15 +22,16 @@ module DataMapper
21
22
  def current_user
22
23
  Thread.current["#{self.to_s.downcase}_#{self.object_id}_stamper"]
23
24
  end
24
-
25
25
  end
26
-
27
26
  end
28
-
29
-
27
+
28
+ def self.userstamp_class
29
+ User
30
+ end
31
+
30
32
  USERSTAMP_PROPERTIES = {
31
- :created_by_id => lambda { |r| r.created_by_id = User.current_user.id if User.current_user && r.new_record? && r.created_by_id.nil? },
32
- :updated_by_id => lambda { |r| r.updated_by_id = User.current_user.id if User.current_user}
33
+ :created_by_id => lambda { |r| r.created_by_id = userstamp_class.current_user.id if userstamp_class.current_user && r.new_record? && r.created_by_id.nil? },
34
+ :updated_by_id => lambda { |r| r.updated_by_id = userstamp_class.current_user.id if userstamp_class.current_user}
33
35
  }
34
36
 
35
37
  def self.included(model)
@@ -39,11 +41,11 @@ module DataMapper
39
41
  private
40
42
 
41
43
  def set_userstamp_properties
42
- self.class.properties.slice(*USERSTAMP_PROPERTIES.keys).compact.each do |property|
44
+ self.class.properties.values_at(*USERSTAMP_PROPERTIES.keys).compact.each do |property|
43
45
  USERSTAMP_PROPERTIES[property.name][self]
44
46
  end
45
47
  end
46
48
  end
47
-
49
+
48
50
  Resource::append_inclusions Userstamp
49
51
  end
@@ -35,12 +35,12 @@ describe 'DataMapper::Userstamp' do
35
35
  end
36
36
 
37
37
  after do
38
- repository(:default).adapter.execute('DELETE from users');
39
- repository(:default).adapter.execute('DELETE from monkeys');
38
+ DataMapper.repository(:default).adapter.execute('DELETE from users');
39
+ DataMapper.repository(:default).adapter.execute('DELETE from monkeys');
40
40
  end
41
41
 
42
42
  it "should not set created_by_id if there is no current user" do
43
- repository(:default) do
43
+ DataMapper.repository(:default) do
44
44
  User.current_user = nil
45
45
  monkey = Monkey.new(:name => 'Eric')
46
46
  monkey.save
@@ -49,7 +49,7 @@ describe 'DataMapper::Userstamp' do
49
49
  end
50
50
 
51
51
  it "should not set updated_by_id if there is no current user" do
52
- repository(:default) do
52
+ DataMapper.repository(:default) do
53
53
  User.current_user = nil
54
54
  monkey = Monkey.new(:name => 'Eric')
55
55
  monkey.save
@@ -58,7 +58,7 @@ describe 'DataMapper::Userstamp' do
58
58
  end
59
59
 
60
60
  it "should not set created_by_id if already set" do
61
- repository(:default) do
61
+ DataMapper.repository(:default) do
62
62
  monkey = Monkey.new(:name => 'Eric')
63
63
  monkey.created_by_id = 5
64
64
  monkey.save
@@ -68,7 +68,7 @@ describe 'DataMapper::Userstamp' do
68
68
  end
69
69
 
70
70
  it "should set created_by_id on creation" do
71
- repository(:default) do
71
+ DataMapper.repository(:default) do
72
72
  monkey = Monkey.new(:name => 'Clyde')
73
73
  monkey.created_by_id.should be_nil
74
74
  monkey.save
@@ -78,7 +78,7 @@ describe 'DataMapper::Userstamp' do
78
78
  end
79
79
 
80
80
  it "should not alter created_by_id on model updates" do
81
- repository(:default) do
81
+ DataMapper.repository(:default) do
82
82
  monkey = Monkey.new(:name => 'Chump')
83
83
  monkey.created_by_id.should be_nil
84
84
  monkey.save
@@ -90,7 +90,7 @@ describe 'DataMapper::Userstamp' do
90
90
  end
91
91
 
92
92
  it "should set updated_by_id on creation and on update" do
93
- repository(:default) do
93
+ DataMapper.repository(:default) do
94
94
  monkey = Monkey.new(:name => 'Johnny')
95
95
  monkey.updated_by_id.should be_nil
96
96
  monkey.save
@@ -11,7 +11,7 @@ def load_driver(name, default_uri)
11
11
  lib = "do_#{name}"
12
12
 
13
13
  begin
14
- gem lib, '=0.9.4'
14
+ gem lib, '>=0.9.10'
15
15
  require lib
16
16
  DataMapper.setup(name, ENV["#{name.to_s.upcase}_SPEC_URI"] || default_uri)
17
17
  DataMapper::Repository.adapters[:default] = DataMapper::Repository.adapters[name]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dm-userstamp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Livsey
@@ -9,47 +9,41 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-09-27 00:00:00 +01:00
12
+ date: 2009-10-29 00:00:00 +01:00
13
13
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: hoe
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 1.7.0
24
- version:
25
- description: DataMapper plugin to add automatic updating of created_by_id and updated_by_id attributes
14
+ dependencies: []
15
+
16
+ description:
26
17
  email: richard@livsey.org
27
18
  executables: []
28
19
 
29
20
  extensions: []
30
21
 
31
22
  extra_rdoc_files:
32
- - History.txt
33
- - Manifest.txt
23
+ - LICENSE
34
24
  - README.txt
35
25
  files:
26
+ - .gitignore
36
27
  - History.txt
37
28
  - LICENSE
38
- - Manifest.txt
39
29
  - README.txt
40
30
  - Rakefile
41
31
  - TODO
32
+ - VERSION
33
+ - dm-userstamp.gemspec
34
+ - lib/.DS_Store
42
35
  - lib/dm-userstamp.rb
43
36
  - lib/dm-userstamp/version.rb
44
37
  - spec/integration/userstamp_spec.rb
45
38
  - spec/spec.opts
46
39
  - spec/spec_helper.rb
47
40
  has_rdoc: true
48
- homepage: DataMapper plugin which adds "magic" to created_by_id, updated_by_id fields
41
+ homepage: http://github.com/rlivsey/dm-userstamp
42
+ licenses: []
43
+
49
44
  post_install_message:
50
45
  rdoc_options:
51
- - --main
52
- - README.txt
46
+ - --charset=UTF-8
53
47
  require_paths:
54
48
  - lib
55
49
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -66,10 +60,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
66
60
  version:
67
61
  requirements: []
68
62
 
69
- rubyforge_project: dm-userstamp
70
- rubygems_version: 1.2.0
63
+ rubyforge_project:
64
+ rubygems_version: 1.3.5
71
65
  signing_key:
72
- specification_version: 2
66
+ specification_version: 3
73
67
  summary: DataMapper plugin to add automatic updating of created_by_id and updated_by_id attributes
74
- test_files: []
75
-
68
+ test_files:
69
+ - spec/integration/userstamp_spec.rb
70
+ - spec/spec_helper.rb
@@ -1,11 +0,0 @@
1
- History.txt
2
- LICENSE
3
- Manifest.txt
4
- README.txt
5
- Rakefile
6
- TODO
7
- lib/dm-userstamp.rb
8
- lib/dm-userstamp/version.rb
9
- spec/integration/userstamp_spec.rb
10
- spec/spec.opts
11
- spec/spec_helper.rb