pb_core 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
data/lib/pb_core.rb CHANGED
@@ -7,7 +7,7 @@ require 'pb_core/v2/collection'
7
7
 
8
8
  module PBCore
9
9
 
10
- # :date_format - For DateType elements, use this format to parse
10
+ # :date_formats - For DateType elements, try these formats to parse
11
11
  def self.config
12
12
  @_config ||= {}
13
13
  end
@@ -80,6 +80,10 @@ module PBCore
80
80
 
81
81
  private
82
82
 
83
+ def sanitize(value)
84
+ CGI::unescapeHTML(value).gsub(/<.*?>/,"").strip
85
+ end
86
+
83
87
  def element_value(ele, atr)
84
88
  standardize(ele.send(atr))
85
89
  end
@@ -140,13 +144,20 @@ module PBCore
140
144
  value :value
141
145
 
142
146
  def date(format=nil)
147
+ result = nil
148
+ date_string = sanitize(value)
143
149
  if format
144
- DateTime.strptime(self.value, format)
145
- elsif PBCore.config[:date_format]
146
- DateTime.strptime(self.value, PBCore.config[:date_format])
150
+ result = DateTime.strptime(date_string, format)
151
+ elsif PBCore.config[:date_formats]
152
+ result = nil
153
+ Array(PBCore.config[:date_formats]).each do |f|
154
+ result = DateTime.strptime(date_string, f) rescue nil
155
+ break if result
156
+ end
147
157
  else
148
- DateTime.parse(self.value)
158
+ result =DateTime.parse(date_string) rescue date_string
149
159
  end
160
+ result
150
161
  end
151
162
 
152
163
  end
@@ -1,3 +1,3 @@
1
1
  module PBCore
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pb_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-01 00:00:00.000000000 Z
12
+ date: 2013-03-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sax-machine
@@ -78,7 +78,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
78
78
  version: '0'
79
79
  segments:
80
80
  - 0
81
- hash: -2707617022099910108
81
+ hash: 3468680283420405115
82
82
  required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
@@ -87,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
87
  version: '0'
88
88
  segments:
89
89
  - 0
90
- hash: -2707617022099910108
90
+ hash: 3468680283420405115
91
91
  requirements: []
92
92
  rubyforge_project:
93
93
  rubygems_version: 1.8.23