anjlab-widgets 0.0.2 → 0.0.3

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,5 +1,5 @@
1
1
  module Anjlab
2
2
  module Widgets
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
@@ -3,5 +3,63 @@ require "anjlab-widgets/engine"
3
3
 
4
4
  module Anjlab
5
5
  module Widgets
6
+ def self.date_format
7
+ case ::I18n.default_locale
8
+ when :ru
9
+ "%d.%m.%Y"
10
+ when :en
11
+ "%m/%d/%Y"
12
+ else
13
+ "%Y-%m-%d"
14
+ end
15
+
16
+ end
17
+
18
+ def self.parse_date! date_string
19
+ return nil if date_string.blank?
20
+ # native controls date format
21
+ if date_string =~ /\d{4}-[01]\d-[0123]\d/
22
+ ::Date.parse date_string, "%Y-%m-%d"
23
+ else
24
+ ::Date.parse date_string, date_format
25
+ end
26
+ end
27
+
28
+ def self.parse_date date_string
29
+ begin
30
+ self.parse_date! date_string
31
+ rescue
32
+ nil
33
+ end
34
+ end
35
+
36
+ def self.parse_time! time_string
37
+ return nil if date_string.blank?
38
+ now = Time.now
39
+ parts = time_string.split(':')
40
+ Time.local(now.year, now.month, day, parts[0], parts[1])
41
+ end
42
+
43
+ def self.parse_time time_string
44
+ begin
45
+ self.parse_time! date_string
46
+ rescue
47
+ nil
48
+ end
49
+ end
50
+
51
+ def self.parse_datetime! date_string, time_string
52
+ date = parse_date date_string
53
+ time = parse_time time_string
54
+ Time.local(date.year, date.month, date.day, time.hour, time.min)
55
+ end
56
+
57
+ def self.parse_datetime date_string, time_string
58
+ begin
59
+ self.parse_datetime! date_string, time_string
60
+ rescue
61
+ nil
62
+ end
63
+ end
6
64
  end
7
65
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: anjlab-widgets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
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: 2012-04-27 00:00:00.000000000 Z
12
+ date: 2012-05-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: anjlab-bootstrap-rails
@@ -165,7 +165,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
165
165
  version: '0'
166
166
  segments:
167
167
  - 0
168
- hash: -2160889365509694550
168
+ hash: -1415690980903889992
169
169
  required_rubygems_version: !ruby/object:Gem::Requirement
170
170
  none: false
171
171
  requirements:
@@ -174,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
174
  version: '0'
175
175
  segments:
176
176
  - 0
177
- hash: -2160889365509694550
177
+ hash: -1415690980903889992
178
178
  requirements: []
179
179
  rubyforge_project:
180
180
  rubygems_version: 1.8.22