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 =
'3.0.7'
Class Method Summary
collapse
Class Method Details
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/anjlab-widgets.rb', line 7
def self.date_format date_format_locale = ::I18n.default_locale
case date_format_locale
when :ru
"%d.%m.%Y"
when :en
"%m/%d/%Y"
when :es
"%d/%m/%Y"
when :pt
"%d/%m/%Y"
when :'zh-TW'
"%Y-%m-%d"
when :ja
"%Y/%m/%d"
else
"%Y-%m-%d"
end
end
|
44
45
46
47
|
# File 'lib/anjlab-widgets.rb', line 44
def self.format_date date
return '' if date.nil?
date.strftime self.date_format
end
|
78
79
80
81
|
# File 'lib/anjlab-widgets.rb', line 78
def self.format_time time
return '' if time.nil?
time.strftime "%H:%M"
end
|
.parse_date(date_string) ⇒ Object
36
37
38
39
40
41
42
|
# File 'lib/anjlab-widgets.rb', line 36
def self.parse_date date_string
begin
parse_date! date_string
rescue
nil
end
end
|
.parse_date!(date_string) ⇒ Object
26
27
28
29
30
31
32
33
34
|
# File 'lib/anjlab-widgets.rb', line 26
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
70
71
72
73
74
75
76
|
# File 'lib/anjlab-widgets.rb', line 70
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
64
65
66
67
68
|
# File 'lib/anjlab-widgets.rb', line 64
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
56
57
58
59
60
61
62
|
# File 'lib/anjlab-widgets.rb', line 56
def self.parse_time time_string
begin
self.parse_time! time_string
rescue
nil
end
end
|
.parse_time!(time_string) ⇒ Object
49
50
51
52
53
54
|
# File 'lib/anjlab-widgets.rb', line 49
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
|
83
84
85
86
87
88
89
|
# File 'lib/anjlab-widgets.rb', line 83
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
|