combined_time_select 0.0.1 → 1.0.0

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.
data/README.md CHANGED
@@ -1,9 +1,22 @@
1
1
  Combined Time Select
2
2
  ====================
3
3
 
4
+ Written by [Chris Oliver](http://excid3.com) [@excid3](https://twitter.com/excid3).
5
+
4
6
  This is a small gem for creating Google Calendar style 12 hour AM/PM
5
7
  time_select fields for Rails 3. It's based off of [simple_time_select](https://github.com/tamoyal/simple_time_select) by tamoyal.
6
8
 
9
+ ![combined_time_select](http://f.cl.ly/items/1945331M3W1h0f1K3I2v/Screen%20Shot%202011-12-23%20at%2012.08.37%20AM.png)
10
+
11
+ ![combined_time_select](http://f.cl.ly/items/0H1x3a0S3m3E1U020s2m/Screen%20Shot%202011-12-23%20at%2012.09.00%20AM.png)
12
+
13
+ Installation
14
+ ------------
15
+
16
+ Just add this into your Gemfile followed by a bundle install:
17
+
18
+ gem "combined_time_select", "~> 1.0.0"
19
+
7
20
  Usage
8
21
  -----
9
22
 
@@ -22,10 +35,13 @@ In the view you can do the following:
22
35
  :minute_interval => 15,
23
36
  :time_separator => "",
24
37
  :start_hour => 10,
25
- :end_hour => 14 } %>
38
+ :start_minute => 30,
39
+ :end_hour => 14,
40
+ :end_minute => 30
41
+ %>
26
42
 
27
- This will create a combined time select starting at 10 AM and going till
28
- 2 PM with 15 minute intervals with a default of 11:30 AM. This will set the
43
+ This will create a combined time select starting at 10:30 AM and going till
44
+ 2:30 PM with 15 minute intervals with a default of 11:30 AM. This will set the
29
45
  value for the start_time attribute on the object this form was created
30
46
  for.
31
47
 
@@ -39,6 +55,14 @@ before you initialize the new model:
39
55
  @event = Event.new params[:event]
40
56
  end
41
57
 
58
+ def update
59
+ params[:event].parse_time_select! :start_time
60
+ @event = Event.find(params[:event])
61
+ if @event.update_attributes params[:event]
62
+ ...
63
+ end
64
+ end
65
+
42
66
  And voila! You're all set.
43
67
 
44
68
  Behind The Scenes
@@ -56,5 +80,7 @@ parse_time_select!(attribute) looks like this:
56
80
 
57
81
  {"utf8"=>"✓", "event"=>{"start_time"=>Fri, 23 Dec 2011 10:00:00 UTC +00:00}, "commit"=>"Save changes"}
58
82
 
59
- This allows you to also seamlessly use a date_select field with
60
- combined_time_select.
83
+ This allows you to also seamlessly use a date_select field in
84
+ combination with combined_time_select.
85
+
86
+
@@ -29,23 +29,22 @@ module ActionView::Helpers
29
29
  @options[:time_separator] = ""
30
30
 
31
31
  # Default is 15 minute intervals
32
- minute_interval = 15
33
- if @options[:minute_interval]
34
- minute_interval = @options[:minute_interval]
35
- end
32
+ minute_interval = @options.fetch(:minute_interval, 15)
36
33
 
37
34
  start_minute = 0
35
+ end_minute = 1439
36
+
38
37
  # @options[:start_hour] should be specified in military
39
38
  # i.e. 0-23
40
39
  if @options[:start_hour]
41
- start_minute = @options[:start_hour] * 60
40
+ start_minute = @options[:start_hour] * 60
41
+ start_minute += @options.fetch(:start_minute, 0)
42
42
  end
43
43
 
44
- end_minute = 1439
45
44
  # @options[:end_hour] should be specified in military
46
45
  # i.e. 0-23
47
46
  if @options[:end_hour]
48
- end_minute = ( @options[:end_hour] + 1 ) * 60 - 1
47
+ end_minute = (@options[:end_hour] * 60) + @options.fetch(:end_minute, 59)
49
48
  end
50
49
 
51
50
  if @options[:use_hidden] || @options[:discard_minute]
@@ -1,3 +1,3 @@
1
1
  module CombinedTimeSelect
2
- VERSION = "0.0.1"
2
+ VERSION = "1.0.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: combined_time_select
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-23 00:00:00.000000000Z
12
+ date: 2012-12-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70360704093620 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,12 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70360704093620
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  description: Generates a time_select field like Google calendar.
26
31
  email:
27
32
  - excid3@gmail.com
@@ -52,7 +57,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
52
57
  version: '0'
53
58
  segments:
54
59
  - 0
55
- hash: 2502057723234992945
60
+ hash: 4311608183375538091
56
61
  required_rubygems_version: !ruby/object:Gem::Requirement
57
62
  none: false
58
63
  requirements:
@@ -61,10 +66,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
61
66
  version: '0'
62
67
  segments:
63
68
  - 0
64
- hash: 2502057723234992945
69
+ hash: 4311608183375538091
65
70
  requirements: []
66
71
  rubyforge_project: combined_time_select
67
- rubygems_version: 1.8.10
72
+ rubygems_version: 1.8.24
68
73
  signing_key:
69
74
  specification_version: 3
70
75
  summary: A Rails time_select like Google Calendar with combined hour and minute time_select