Module: Anjlab::Widgets
- Defined in:
- lib/anjlab-widgets.rb,
lib/anjlab-widgets/engine.rb,
lib/anjlab-widgets/version.rb,
lib/anjlab-widgets/simple_form.rb
Defined Under Namespace
Classes: DateTimeInput, Engine
Constant Summary
collapse
- VERSION =
"1.0.10"
Class Method Summary
collapse
Class Method Details
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/anjlab-widgets.rb', line 6
def self.date_format
case ::I18n.default_locale
when :ru
"%d.%m.%Y"
when :en
"%m/%d/%Y"
when :es
"%d/%m/%Y"
when :'zh-TW'
"%Y-%m-%d"
else
"%Y-%m-%d"
end
end
|
39
40
41
42
|
# File 'lib/anjlab-widgets.rb', line 39
def self.format_date date
return '' if date.nil?
date.strftime self.date_format
end
|
73
74
75
76
|
# File 'lib/anjlab-widgets.rb', line 73
def self.format_time time
return '' if time.nil?
time.strftime "%H:%M"
end
|
.parse_date(date_string) ⇒ Object
31
32
33
34
35
36
37
|
# File 'lib/anjlab-widgets.rb', line 31
def self.parse_date date_string
begin
parse_date! date_string
rescue
nil
end
end
|
.parse_date!(date_string) ⇒ Object
21
22
23
24
25
26
27
28
29
|
# File 'lib/anjlab-widgets.rb', line 21
def self.parse_date! date_string
return nil if date_string.blank?
if date_string =~ /\d{4}-[01]\d-[0123]\d/
::Date.parse date_string, "%Y-%m-%d"
else
::Date.parse date_string, date_format
end
end
|
.parse_datetime(date_string, time_string) ⇒ Object
65
66
67
68
69
70
71
|
# File 'lib/anjlab-widgets.rb', line 65
def self.parse_datetime date_string, time_string
begin
parse_datetime! date_string, time_string
rescue
nil
end
end
|
.parse_datetime!(date_string, time_string) ⇒ Object
59
60
61
62
63
|
# File 'lib/anjlab-widgets.rb', line 59
def self.parse_datetime! date_string, time_string
date = parse_date! date_string
time = parse_time! time_string
Time.local(date.year, date.month, date.day, time.hour, time.min)
end
|
.parse_time(time_string) ⇒ Object
51
52
53
54
55
56
57
|
# File 'lib/anjlab-widgets.rb', line 51
def self.parse_time time_string
begin
self.parse_time! time_string
rescue
nil
end
end
|
.parse_time!(time_string) ⇒ Object
44
45
46
47
48
49
|
# File 'lib/anjlab-widgets.rb', line 44
def self.parse_time! time_string
return nil if time_string.blank?
now = Time.now
parts = time_string.split(':')
Time.local(now.year, now.month, now.day, parts[0].to_i, parts[1].to_i)
end
|
78
79
80
81
82
83
84
|
# File 'lib/anjlab-widgets.rb', line 78
def self.simple_form options={}
require 'anjlab-widgets/simple_form'
SimpleForm::FormBuilder.map_type :anjlab_date, :anjlab_time, :anjlab_datetime, to: DateTimeInput
if options[:as_default]
SimpleForm::FormBuilder.map_type :date, :time, :datetime, to: DateTimeInput
end
end
|