bjeanes-livedate 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/README.rdoc +9 -0
  2. data/VERSION +1 -1
  3. data/lib/livedate.rb +9 -4
  4. metadata +78 -15
@@ -14,6 +14,15 @@ is done in environment.rb
14
14
  config.gem 'livedate'
15
15
  config.middleware.use "Livedate"
16
16
 
17
+ Specify the desired date + datetime formats you want too. Default
18
+ error message for strings that Chronic can't pass can also
19
+ be provided. The defaults are:
20
+
21
+ config.middleware.use "Livedate",
22
+ :date_format => '%Y-%m-%d',
23
+ :datetime_format => ''%Y-%m-%d %H:%M',
24
+ :invalid_format => ''
25
+
17
26
  This will catch requests to /parsedate. Use GET requests and
18
27
  provide a parameter 'date' or 'datetime'. The value will be
19
28
  parsed by Chronic and returned formatted as 2009-01-01 or
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.1.0
@@ -2,8 +2,13 @@ class Livedate
2
2
 
3
3
  VERSION = File.read(File.dirname(__FILE__) + "/../VERSION").strip
4
4
 
5
- def initialize(app)
6
- @app = app
5
+ attr_reader :date_format, :datetime_format, :invalid_format
6
+
7
+ def initialize(app, options = {}, &block)
8
+ @app = app
9
+ @date_format = options[:date_format] || '%Y-%m-%d'
10
+ @datetime_format = options[:datetime_format] || '%Y-%m-%d %H:%M'
11
+ @invalid_format = options[:invalid_format].to_s
7
12
  end
8
13
 
9
14
  def call(env)
@@ -17,13 +22,13 @@ class Livedate
17
22
 
18
23
 
19
24
  def respond_to_params(params)
20
- params['date'] ? parse_date(params['date'], '%Y-%m-%d') : parse_date(params['datetime'], '%Y-%m-%d %H:%M')
25
+ params['date'] ? parse_date(params['date'], date_format) : parse_date(params['datetime'], datetime_format)
21
26
  end
22
27
 
23
28
  def parse_date(input, format)
24
29
  require 'chronic'
25
30
 
26
31
  t = Chronic.parse(input)
27
- (t ? t.strftime(format) : '')
32
+ (t ? t.strftime(format) : invalid_format)
28
33
  end
29
34
  end
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bjeanes-livedate
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ hash: 19
5
+ prerelease:
6
+ segments:
7
+ - 1
8
+ - 1
9
+ - 0
10
+ version: 1.1.0
5
11
  platform: ruby
6
12
  authors:
7
13
  - Erik Hansson
@@ -9,20 +15,70 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2009-09-17 00:00:00 -07:00
13
- default_executable:
18
+ date: 2011-05-25 00:00:00 Z
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: chronic
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
20
25
  requirements:
21
26
  - - ">="
22
27
  - !ruby/object:Gem::Version
28
+ hash: 17
29
+ segments:
30
+ - 0
31
+ - 2
32
+ - 3
23
33
  version: 0.2.3
24
- version:
25
- description: = Livedate A simple Rack middleware that parses a dates using Chronic, and returns the result in a standardized manner. The idea is to use this to verify the input in date input fields using AJAX, to provide immediate feedback to the user. == Usage Include Livedate in your middleware stack. In Rails, this is done in environment.rb config.gem 'livedate' config.middleware.use "Livedate" This will catch requests to /parsedate. Use GET requests and provide a parameter 'date' or 'datetime'. The value will be parsed by Chronic and returned formatted as 2009-01-01 or 2009-01-01 12:45, depending on the parameter name. == Scripts There are two generators available to get simple javascripts that use livedate. Both will replace the contents on input elements with classes .date or .datetime on change with the result from the Chronic parse. script/generate livedate_jquery script/generate livedate_prototype Will put the appropriate version of the script in your public/javascripts directory. Feel free to change these if you need a different behavior.
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ description: |
37
+ = Livedate
38
+
39
+ A simple Rack middleware that parses a dates using Chronic, and
40
+ returns the result in a standardized manner. The idea is to use
41
+ this to verify the input in date input fields using AJAX, to
42
+ provide immediate feedback to the user.
43
+
44
+
45
+ == Usage
46
+
47
+ Include Livedate in your middleware stack. In Rails, this
48
+ is done in environment.rb
49
+
50
+ config.gem 'livedate'
51
+ config.middleware.use "Livedate"
52
+
53
+ Specify the desired date + datetime formats you want too. Default
54
+ error message for strings that Chronic can't pass can also
55
+ be provided. The defaults are:
56
+
57
+ config.middleware.use "Livedate",
58
+ :date_format => '%Y-%m-%d',
59
+ :datetime_format => ''%Y-%m-%d %H:%M',
60
+ :invalid_format => ''
61
+
62
+ This will catch requests to /parsedate. Use GET requests and
63
+ provide a parameter 'date' or 'datetime'. The value will be
64
+ parsed by Chronic and returned formatted as 2009-01-01 or
65
+ 2009-01-01 12:45, depending on the parameter name.
66
+
67
+
68
+ == Scripts
69
+
70
+ There are two generators available to get simple javascripts
71
+ that use livedate. Both will replace the contents on input
72
+ elements with classes .date or .datetime on change with the
73
+ result from the Chronic parse.
74
+
75
+ script/generate livedate_jquery
76
+ script/generate livedate_prototype
77
+
78
+ Will put the appropriate version of the script in your
79
+ public/javascripts directory. Feel free to change these
80
+ if you need a different behavior.
81
+
26
82
  email: erik@bits2life.com
27
83
  executables: []
28
84
 
@@ -40,30 +96,37 @@ files:
40
96
  - generators/templates/javascript/prototype.js
41
97
  - lib/livedate.rb
42
98
  - LICENSE
43
- has_rdoc: false
44
99
  homepage: http://www.erikhansson.com
45
- licenses:
100
+ licenses: []
101
+
46
102
  post_install_message:
47
- rdoc_options:
48
- - --charset=UTF-8
103
+ rdoc_options: []
104
+
49
105
  require_paths:
50
106
  - lib
51
107
  required_ruby_version: !ruby/object:Gem::Requirement
108
+ none: false
52
109
  requirements:
53
110
  - - ">="
54
111
  - !ruby/object:Gem::Version
112
+ hash: 31
113
+ segments:
114
+ - 1
115
+ - 8
55
116
  version: "1.8"
56
- version:
57
117
  required_rubygems_version: !ruby/object:Gem::Requirement
118
+ none: false
58
119
  requirements:
59
120
  - - ">="
60
121
  - !ruby/object:Gem::Version
122
+ hash: 3
123
+ segments:
124
+ - 0
61
125
  version: "0"
62
- version:
63
126
  requirements:
64
127
  - chronic
65
128
  rubyforge_project: livedate
66
- rubygems_version: 1.3.5
129
+ rubygems_version: 1.8.2
67
130
  signing_key:
68
131
  specification_version: 3
69
132
  summary: A simple Rack-middleware for parsing dates with Chronic