Module: TaskwarriorWeb::Config
- Defined in:
- lib/taskwarrior-web/model/config.rb
Constant Summary collapse
- RUBY_DATEFORMATS =
A list of date formats, with Taskwarrior’s on the left and the Ruby equivalent on the right.
{ 'm' => '%-m', # minimal-digit month, for example 1 or 12 'd' => '%-d', # minimal-digit day, for example 1 or 30 'y' => '%y', # two-digit year, for example 09 'D' => '%d', # two-digit day, for example 01 or 30 'M' => '%m', # two-digit month, for example 01 or 12 'Y' => '%Y', # four-digit year, for example 2009 'a' => '%a', # short name of weekday, for example Mon or Wed 'A' => '%A', # long name of weekday, for example Monday or Wednesday 'b' => '%b', # short name of month, for example Jan or Aug 'B' => '%B', # long name of month, for example January or August 'V' => '%U', # weeknumber, for example 03 or 37 'H' => '%H', # two-digit hour, for example 03 or 11 'N' => '%M', # two-digit minutes, for example 05 or 42 'S' => '%S', # two-digit seconds, for example 07 or 47 }
- JS_DATEFORMATS =
A list of date formats, with Taskwarrior’s on the left and the JS equivalent on the right.
{ 'm' => 'm', # minimal-digit month, for example 1 or 12 'd' => 'd', # minimal-digit day, for example 1 or 30 'y' => 'yy', # two-digit year, for example 09 'D' => 'dd', # two-digit day, for example 01 or 30 'M' => 'mm', # two-digit month, for example 01 or 12 'Y' => 'yyyy', # four-digit year, for example 2009 'a' => '', # short name of weekday, for example Mon or Wed 'A' => '', # long name of weekday, for example Monday or Wednesday 'b' => '', # short name of month, for example Jan or Aug 'B' => '', # long name of month, for example January or August 'V' => '', # weeknumber, for example 03 or 37 'H' => '', # two-digit hour, for example 03 or 11 'N' => '', # two-digit minutes, for example 05 or 42 'S' => '', # two-digit seconds, for example 07 or 47 }
Class Method Summary collapse
- .dateformat(format = :ruby) ⇒ Object
- .method_missing(method) ⇒ Object
- .property(prop) ⇒ Object
- .store ⇒ Object
- .supports?(feature) ⇒ Boolean
- .version ⇒ Object
Class Method Details
.dateformat(format = :ruby) ⇒ Object
55 56 57 58 59 60 61 62 63 64 |
# File 'lib/taskwarrior-web/model/config.rb', line 55 def self.dateformat(format = :ruby) return nil unless self.store['dateformat'] && format.in?([:ruby, :js]) formats = case format when :ruby then RUBY_DATEFORMATS when :js then JS_DATEFORMATS end self.store['dateformat'].gsub(/(\w)/, formats) end |
.method_missing(method) ⇒ Object
74 75 76 |
# File 'lib/taskwarrior-web/model/config.rb', line 74 def self.method_missing(method) self.store[method.to_s] end |
.property(prop) ⇒ Object
51 52 53 |
# File 'lib/taskwarrior-web/model/config.rb', line 51 def self.property(prop) self.store[prop] end |
.store ⇒ Object
47 48 49 |
# File 'lib/taskwarrior-web/model/config.rb', line 47 def self.store @store ||= self.parse_config end |
.supports?(feature) ⇒ Boolean
66 67 68 69 70 71 72 |
# File 'lib/taskwarrior-web/model/config.rb', line 66 def self.supports?(feature) case feature.to_sym when :editing then self.version.major > 1 when :_show then self.version >= '2.2.0' else false end end |
.version ⇒ Object
43 44 45 |
# File 'lib/taskwarrior-web/model/config.rb', line 43 def self.version @version ||= Versionomy.parse(`#{TaskwarriorWeb::Runner::TASK_BIN} _version`.strip) end |