pb_core 0.1.4 → 0.1.5

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/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