dm-observer 0.9.11 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,7 @@
1
+ === 0.10.0 / 2009-10-15
2
+
3
+ * Updated to work with dm-core 0.10.0
4
+
1
5
  === 0.9.11 / 2009-03-29
2
6
 
3
7
  * No changes this version
@@ -1,10 +1,11 @@
1
- History.txt
1
+ History.rdoc
2
2
  LICENSE
3
3
  Manifest.txt
4
- README.txt
4
+ README.rdoc
5
5
  Rakefile
6
6
  TODO
7
7
  lib/dm-observer.rb
8
+ lib/dm-observer/observer.rb
8
9
  lib/dm-observer/version.rb
9
10
  spec/integration/dm-observer_spec.rb
10
11
  spec/spec.opts
@@ -8,7 +8,7 @@ Example:
8
8
  class Adam
9
9
  include DataMapper::Resource
10
10
 
11
- property :id, Integer, :serial => true
11
+ property :id, Serial
12
12
  property :name, String
13
13
  end
14
14
 
data/Rakefile CHANGED
@@ -1,5 +1,4 @@
1
1
  require 'pathname'
2
- require 'rubygems'
3
2
 
4
3
  ROOT = Pathname(__FILE__).dirname.expand_path
5
4
  JRUBY = RUBY_PLATFORM =~ /java/
@@ -14,10 +13,10 @@ GEM_NAME = 'dm-observer'
14
13
  GEM_VERSION = DataMapper::Observer::VERSION
15
14
  GEM_DEPENDENCIES = [['dm-core', GEM_VERSION]]
16
15
  GEM_CLEAN = %w[ log pkg coverage ]
17
- GEM_EXTRAS = { :has_rdoc => true, :extra_rdoc_files => %w[ README.txt LICENSE TODO History.txt ] }
16
+ GEM_EXTRAS = { :has_rdoc => true, :extra_rdoc_files => %w[ README.rdoc LICENSE TODO History.rdoc ] }
18
17
 
19
18
  PROJECT_NAME = 'datamapper'
20
- PROJECT_URL = "http://github.com/sam/dm-more/tree/master/#{GEM_NAME}"
19
+ PROJECT_URL = "http://github.com/datamapper/dm-more/tree/master/#{GEM_NAME}"
21
20
  PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin for observing Resource Models'
22
21
 
23
22
  [ ROOT, ROOT.parent ].each do |dir|
@@ -1,91 +1 @@
1
- module DataMapper
2
- # Observers allow you to add callback hooks to DataMapper::Resource objects
3
- # in a separate class. This is great for separating out logic that is not
4
- # really part of the model, but needs to be triggered by a model, or models.
5
- module Observer
6
-
7
- def self.included(klass)
8
- klass.extend(ClassMethods)
9
- end
10
-
11
- module ClassMethods
12
-
13
- attr_accessor :observing
14
-
15
- def initialize
16
- self.observing = []
17
- end
18
-
19
- # Assign an Array of Class names to watch.
20
- # observe User, Article, Topic
21
- def observe(*args)
22
- # puts "#{self.to_s} observing... #{args.collect{|c| Extlib::Inflection.classify(c.to_s)}.join(', ')}"
23
- self.observing = args
24
- end
25
-
26
- def before(sym, &block)
27
- self.observing.each do |klass|
28
- klass.before(sym.to_sym, &block)
29
- end
30
- end
31
-
32
- def after(sym, &block)
33
- self.observing.each do |klass|
34
- klass.after(sym.to_sym, &block)
35
- end
36
- end
37
-
38
- def before_class_method(sym, &block)
39
- self.observing.each do |klass|
40
- klass.before_class_method(sym.to_sym, &block)
41
- end
42
- end
43
-
44
- def after_class_method(sym, &block)
45
- self.observing.each do |klass|
46
- klass.after_class_method(sym.to_sym, &block)
47
- end
48
- end
49
-
50
- end # ClassMethods
51
-
52
- end # Observer
53
- end # DataMapper
54
-
55
- if $0 == __FILE__
56
- require 'rubygems'
57
-
58
- gem 'dm-core', '0.9.11'
59
- require 'dm-core'
60
-
61
- FileUtils.touch(File.join(Dir.pwd, "migration_test.db"))
62
- DataMapper.setup(:default, "sqlite3://#{Dir.pwd}/migration_test.db")
63
-
64
- class Foo
65
- include DataMapper::Resource
66
-
67
- property :id, Integer, :serial => true
68
- property :bar, Text
69
- end
70
-
71
- Foo.auto_migrate!
72
-
73
- class FooObserver
74
- include DataMapper::Observer
75
-
76
- observe :foo
77
-
78
- before :save do
79
- raise "Hell!" if self.bar.nil?
80
- puts "hi"
81
- end
82
-
83
- after :save do
84
- puts "bye"
85
- end
86
-
87
- end
88
-
89
- Foo.new(:bar => "hello").save
90
-
91
- end
1
+ require 'dm-observer/observer'
@@ -0,0 +1,52 @@
1
+ module DataMapper
2
+ # Observers allow you to add callback hooks to DataMapper::Resource objects
3
+ # in a separate class. This is great for separating out logic that is not
4
+ # really part of the model, but needs to be triggered by a model, or models.
5
+ module Observer
6
+
7
+ def self.included(klass)
8
+ klass.extend(ClassMethods)
9
+ end
10
+
11
+ module ClassMethods
12
+
13
+ attr_accessor :observing
14
+
15
+ def initialize
16
+ self.observing = []
17
+ end
18
+
19
+ # Assign an Array of Class names to watch.
20
+ # observe User, Article, Topic
21
+ def observe(*args)
22
+ self.observing = args
23
+ end
24
+
25
+ def before(sym, &block)
26
+ self.observing.each do |klass|
27
+ klass.before(sym.to_sym, &block)
28
+ end
29
+ end
30
+
31
+ def after(sym, &block)
32
+ self.observing.each do |klass|
33
+ klass.after(sym.to_sym, &block)
34
+ end
35
+ end
36
+
37
+ def before_class_method(sym, &block)
38
+ self.observing.each do |klass|
39
+ klass.before_class_method(sym.to_sym, &block)
40
+ end
41
+ end
42
+
43
+ def after_class_method(sym, &block)
44
+ self.observing.each do |klass|
45
+ klass.after_class_method(sym.to_sym, &block)
46
+ end
47
+ end
48
+
49
+ end
50
+
51
+ end
52
+ end
@@ -1,5 +1,5 @@
1
1
  module DataMapper
2
2
  module Observer
3
- VERSION = '0.9.11'
3
+ VERSION = '0.10.0'.freeze
4
4
  end
5
5
  end
@@ -1,12 +1,11 @@
1
- require 'pathname'
2
- require Pathname(__FILE__).dirname.expand_path.parent + 'spec_helper'
1
+ require 'spec_helper'
3
2
 
4
3
  describe DataMapper::Observer do
5
4
  before :all do
6
5
  class ::Adam
7
6
  include DataMapper::Resource
8
7
 
9
- property :id, Integer, :serial => true
8
+ property :id, Serial
10
9
  property :name, String
11
10
  attr_accessor :done
12
11
 
@@ -37,7 +36,7 @@ describe DataMapper::Observer do
37
36
  class Beer
38
37
  include DataMapper::Resource
39
38
 
40
- property :id, Integer, :serial => true
39
+ property :id, Serial
41
40
  property :name, String
42
41
 
43
42
  def drink
@@ -1 +1,2 @@
1
1
  --colour
2
+ --loadby random
@@ -1,13 +1,14 @@
1
- require 'pathname'
2
1
  require 'rubygems'
3
2
 
4
- gem 'rspec', '~>1.2'
5
- require 'spec'
6
-
7
- gem 'dm-core', '0.9.11'
3
+ # Use local dm-core if running from a typical dev checkout.
4
+ lib = File.join('..', '..', 'dm-core', 'lib')
5
+ $LOAD_PATH.unshift(lib) if File.directory?(lib)
8
6
  require 'dm-core'
9
7
 
10
- require Pathname(__FILE__).dirname.parent.expand_path + 'lib/dm-observer'
8
+ # Support running specs with 'rake spec' and 'spec'
9
+ $LOAD_PATH.unshift('lib') unless $LOAD_PATH.include?('lib')
10
+
11
+ require 'dm-observer'
11
12
 
12
13
  def load_driver(name, default_uri)
13
14
  return false if ENV['ADAPTER'] != name.to_s
@@ -4,7 +4,7 @@ end
4
4
 
5
5
  desc "Install #{GEM_NAME} #{GEM_VERSION}"
6
6
  task :install => [ :package ] do
7
- sudo_gem "install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources"
7
+ sudo_gem "install pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources"
8
8
  end
9
9
 
10
10
  desc "Uninstall #{GEM_NAME} #{GEM_VERSION}"
@@ -1,6 +1,4 @@
1
1
  begin
2
- gem 'rspec', '~>1.2'
3
- require 'spec'
4
2
  require 'spec/rake/spectask'
5
3
 
6
4
  task :default => [ :spec ]
@@ -8,16 +6,18 @@ begin
8
6
  desc 'Run specifications'
9
7
  Spec::Rake::SpecTask.new(:spec) do |t|
10
8
  t.spec_opts << '--options' << 'spec/spec.opts' if File.exists?('spec/spec.opts')
11
- t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s).map { |f| f.to_s }
9
+ t.libs << 'lib' << 'spec' # needed for CI rake spec task, duplicated in spec_helper
12
10
 
13
11
  begin
14
- gem 'rcov', '~>0.8'
12
+ require 'rcov'
15
13
  t.rcov = JRUBY ? false : (ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true)
16
14
  t.rcov_opts << '--exclude' << 'spec'
17
15
  t.rcov_opts << '--text-summary'
18
16
  t.rcov_opts << '--sort' << 'coverage' << '--sort-reverse'
19
17
  rescue LoadError
20
18
  # rcov not installed
19
+ rescue SyntaxError
20
+ # rcov syntax invalid
21
21
  end
22
22
  end
23
23
  rescue LoadError
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dm-observer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.11
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Bates
@@ -9,19 +9,10 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-29 00:00:00 -07:00
12
+ date: 2009-09-16 00:00:00 -07:00
13
13
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: dm-core
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - "="
22
- - !ruby/object:Gem::Version
23
- version: 0.9.11
24
- version:
14
+ dependencies: []
15
+
25
16
  description: DataMapper plugin for observing Resource Models
26
17
  email:
27
18
  - mark [a] mackframework [d] com
@@ -30,18 +21,19 @@ executables: []
30
21
  extensions: []
31
22
 
32
23
  extra_rdoc_files:
33
- - README.txt
24
+ - README.rdoc
34
25
  - LICENSE
35
26
  - TODO
36
- - History.txt
27
+ - History.rdoc
37
28
  files:
38
- - History.txt
29
+ - History.rdoc
39
30
  - LICENSE
40
31
  - Manifest.txt
41
- - README.txt
32
+ - README.rdoc
42
33
  - Rakefile
43
34
  - TODO
44
35
  - lib/dm-observer.rb
36
+ - lib/dm-observer/observer.rb
45
37
  - lib/dm-observer/version.rb
46
38
  - spec/integration/dm-observer_spec.rb
47
39
  - spec/spec.opts
@@ -49,11 +41,13 @@ files:
49
41
  - tasks/install.rb
50
42
  - tasks/spec.rb
51
43
  has_rdoc: true
52
- homepage: http://github.com/sam/dm-more/tree/master/dm-observer
44
+ homepage: http://github.com/datamapper/dm-more/tree/master/dm-observer
45
+ licenses: []
46
+
53
47
  post_install_message:
54
48
  rdoc_options:
55
49
  - --main
56
- - README.txt
50
+ - README.rdoc
57
51
  require_paths:
58
52
  - lib
59
53
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -71,9 +65,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
71
65
  requirements: []
72
66
 
73
67
  rubyforge_project: datamapper
74
- rubygems_version: 1.3.1
68
+ rubygems_version: 1.3.5
75
69
  signing_key:
76
- specification_version: 2
70
+ specification_version: 3
77
71
  summary: DataMapper plugin for observing Resource Models
78
72
  test_files: []
79
73