dm-sanitizer 0.1.4 → 0.2.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.
data/History.txt CHANGED
@@ -1,3 +1,10 @@
1
+ == 0.2.0 2010-09-06
2
+ * 1 major enhancement
3
+ * DataMapper 1.0 support
4
+
5
+ * 1 enhancement
6
+ * property types control through :property_types options
7
+
1
8
  == 0.1.4 2010-08-28
2
9
  * 1 enhancement
3
10
  * integrated with jeweler
data/README.rdoc CHANGED
@@ -10,9 +10,9 @@ This package lets DataMapper properties be easily sanitized using Sanitize.
10
10
 
11
11
  === Features
12
12
 
13
- * Sanitize String based properties by default
14
- * Lets choose sanitization mode on per property basis
15
- * Allows user defined sanitization modes
13
+ * Sanitize String and Text properties by default (configurable)
14
+ * Per property sanitization modes
15
+ * User defined sanitization modes
16
16
 
17
17
  === problems
18
18
 
@@ -22,6 +22,7 @@ This package lets DataMapper properties be easily sanitized using Sanitize.
22
22
 
23
23
  require 'rubygems'
24
24
  require 'dm-core'
25
+ require 'dm-migrations'
25
26
  require 'dm-sanitizer'
26
27
 
27
28
  DataMapper.setup(:default, 'sqlite3::memory:')
data/Rakefile CHANGED
@@ -17,11 +17,12 @@ begin
17
17
 
18
18
  gem.rubyforge_project = 'dm-sanitizer'
19
19
 
20
- gem.add_dependency 'dm-core', '>= 0.10.1'
21
- gem.add_dependency 'sanitize', '>= 1.0.0'
20
+ gem.add_dependency 'dm-core', '>= 1.0'
21
+ gem.add_dependency 'sanitize', '>= 1.0'
22
22
 
23
23
  gem.add_development_dependency 'rspec', '~> 1.3'
24
24
  gem.add_development_dependency 'jeweler', '~> 1.4'
25
+ gem.add_development_dependency 'dm-migrations', '>= 1.0'
25
26
  end
26
27
 
27
28
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.4
1
+ 0.2.0
data/dm-sanitizer.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{dm-sanitizer}
8
- s.version = "0.1.4"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Sergei Zimakov"]
12
- s.date = %q{2010-08-28}
12
+ s.date = %q{2010-09-06}
13
13
  s.description = %q{DataMapper plugin for automated/configurable user input sanitization.}
14
14
  s.email = %q{zimakov@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -47,21 +47,24 @@ Gem::Specification.new do |s|
47
47
  s.specification_version = 3
48
48
 
49
49
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
50
- s.add_runtime_dependency(%q<dm-core>, [">= 0.10.1"])
51
- s.add_runtime_dependency(%q<sanitize>, [">= 1.0.0"])
50
+ s.add_runtime_dependency(%q<dm-core>, [">= 1.0"])
51
+ s.add_runtime_dependency(%q<sanitize>, [">= 1.0"])
52
52
  s.add_development_dependency(%q<rspec>, ["~> 1.3"])
53
53
  s.add_development_dependency(%q<jeweler>, ["~> 1.4"])
54
+ s.add_development_dependency(%q<dm-migrations>, [">= 1.0"])
54
55
  else
55
- s.add_dependency(%q<dm-core>, [">= 0.10.1"])
56
- s.add_dependency(%q<sanitize>, [">= 1.0.0"])
56
+ s.add_dependency(%q<dm-core>, [">= 1.0"])
57
+ s.add_dependency(%q<sanitize>, [">= 1.0"])
57
58
  s.add_dependency(%q<rspec>, ["~> 1.3"])
58
59
  s.add_dependency(%q<jeweler>, ["~> 1.4"])
60
+ s.add_dependency(%q<dm-migrations>, [">= 1.0"])
59
61
  end
60
62
  else
61
- s.add_dependency(%q<dm-core>, [">= 0.10.1"])
62
- s.add_dependency(%q<sanitize>, [">= 1.0.0"])
63
+ s.add_dependency(%q<dm-core>, [">= 1.0"])
64
+ s.add_dependency(%q<sanitize>, [">= 1.0"])
63
65
  s.add_dependency(%q<rspec>, ["~> 1.3"])
64
66
  s.add_dependency(%q<jeweler>, ["~> 1.4"])
67
+ s.add_dependency(%q<dm-migrations>, [">= 1.0"])
65
68
  end
66
69
  end
67
70
 
data/lib/dm-sanitizer.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'rubygems'
2
2
 
3
- gem 'dm-core', '>= 0.10.1'
3
+ gem 'dm-core', '>= 1.0'
4
4
  require 'dm-core'
5
5
 
6
6
  gem 'sanitize', '>= 1.0.0'
@@ -17,7 +17,8 @@ module DataMapper
17
17
  :relaxed => Sanitize::Config::RELAXED
18
18
  },
19
19
  :default_mode => :default,
20
- :with_dirty => false
20
+ :with_dirty => false,
21
+ :property_types => [DataMapper::Property::String, DataMapper::Property::Text]
21
22
  }
22
23
  end
23
24
  module_function :default_options
@@ -38,11 +39,10 @@ module DataMapper
38
39
  end
39
40
  RUBY
40
41
 
42
+ before :save, :sanitize! unless self.sanitization_options
41
43
  self.sanitization_options = DataMapper::Sanitizer.default_options.merge(options)
42
44
  remap_sanitization_modes!
43
45
  check_sanitization_modes
44
-
45
- before :save, :sanitize! unless hooks_with_scope(:instance)[:update_hook][:before].include?({:name => :sanitize!, :from => self})
46
46
  end
47
47
 
48
48
  def disable_sanitization
@@ -79,7 +79,7 @@ module DataMapper
79
79
  self.class.properties.each do |property|
80
80
  property_name = property.name.to_sym
81
81
 
82
- next unless property.type == String || property.type == DataMapper::Types::Text
82
+ next unless options[:property_types].include?(property.class)
83
83
  next if !new? && !options[:with_dirty] && !attribute_dirty?(property.name.to_sym)
84
84
  next if options[:exclude] && options[:exclude].include?(property_name)
85
85
 
@@ -106,4 +106,4 @@ module DataMapper
106
106
  end
107
107
  end
108
108
 
109
- DataMapper::Model.append_inclusions DataMapper::Sanitizer
109
+ DataMapper::Model.append_inclusions DataMapper::Sanitizer
data/spec/spec_helper.rb CHANGED
@@ -4,8 +4,9 @@ require 'rubygems'
4
4
  gem 'rspec', '~>1.3'
5
5
  require 'spec'
6
6
 
7
- gem 'dm-core', '= 0.10.1'
7
+ gem 'dm-core', '>= 1.0'
8
8
  require 'dm-core'
9
+ require 'dm-migrations'
9
10
 
10
11
  gem 'sanitize', '>= 1.0.0'
11
12
  require 'sanitize'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dm-sanitizer
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 1
9
- - 4
10
- version: 0.1.4
8
+ - 2
9
+ - 0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Sergei Zimakov
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-28 00:00:00 +04:00
18
+ date: 2010-09-06 00:00:00 +04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -26,12 +26,11 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- hash: 53
29
+ hash: 15
30
30
  segments:
31
- - 0
32
- - 10
33
31
  - 1
34
- version: 0.10.1
32
+ - 0
33
+ version: "1.0"
35
34
  type: :runtime
36
35
  version_requirements: *id001
37
36
  - !ruby/object:Gem::Dependency
@@ -42,12 +41,11 @@ dependencies:
42
41
  requirements:
43
42
  - - ">="
44
43
  - !ruby/object:Gem::Version
45
- hash: 23
44
+ hash: 15
46
45
  segments:
47
46
  - 1
48
47
  - 0
49
- - 0
50
- version: 1.0.0
48
+ version: "1.0"
51
49
  type: :runtime
52
50
  version_requirements: *id002
53
51
  - !ruby/object:Gem::Dependency
@@ -80,6 +78,21 @@ dependencies:
80
78
  version: "1.4"
81
79
  type: :development
82
80
  version_requirements: *id004
81
+ - !ruby/object:Gem::Dependency
82
+ name: dm-migrations
83
+ prerelease: false
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ hash: 15
90
+ segments:
91
+ - 1
92
+ - 0
93
+ version: "1.0"
94
+ type: :development
95
+ version_requirements: *id005
83
96
  description: DataMapper plugin for automated/configurable user input sanitization.
84
97
  email: zimakov@gmail.com
85
98
  executables: []