rd_unobtrusive_date_picker 0.1.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/MIT-LICENSE +19 -0
- data/Manifest +45 -0
- data/README.rdoc +165 -0
- data/Rakefile +29 -0
- data/about.yml +7 -0
- data/init.rb +8 -0
- data/install.rb +14 -0
- data/lib/12_hour_time.rb +102 -0
- data/lib/unobtrusive_date_picker.rb +407 -0
- data/public/images/backstripes.gif +0 -0
- data/public/images/bg_header.jpg +0 -0
- data/public/images/bullet1.gif +0 -0
- data/public/images/bullet2.gif +0 -0
- data/public/images/cal.gif +0 -0
- data/public/images/gradient-e5e5e5-ffffff.gif +0 -0
- data/public/javascripts/datepicker.js +1445 -0
- data/public/javascripts/lang/af.js +40 -0
- data/public/javascripts/lang/ar.js +50 -0
- data/public/javascripts/lang/de.js +40 -0
- data/public/javascripts/lang/du.js +40 -0
- data/public/javascripts/lang/en.js +42 -0
- data/public/javascripts/lang/es.js +41 -0
- data/public/javascripts/lang/fi.js +40 -0
- data/public/javascripts/lang/fr.js +44 -0
- data/public/javascripts/lang/gr.js +40 -0
- data/public/javascripts/lang/he.js +49 -0
- data/public/javascripts/lang/it.js +13 -0
- data/public/javascripts/lang/nl.js +40 -0
- data/public/javascripts/lang/no.js +40 -0
- data/public/javascripts/lang/pt.js +50 -0
- data/public/javascripts/lang/ro.js +40 -0
- data/public/javascripts/lang/ru.js +40 -0
- data/public/javascripts/lang/sp.js +40 -0
- data/public/javascripts/lang/sv.js +41 -0
- data/public/javascripts/lang/ua.js +40 -0
- data/public/stylesheets/datepicker.css +263 -0
- data/spec/date_picker_tag_spec.rb +122 -0
- data/spec/date_picker_text_field_spec.rb +54 -0
- data/spec/datepicker_html_class_options_spec.rb +281 -0
- data/spec/spec.opts +12 -0
- data/spec/spec_helper.rb +52 -0
- data/spec/tag_matcher.rb +142 -0
- data/spec/unobtrusive_date_picker_spec.rb +129 -0
- data/tasks/datepicker_tasks.rake +17 -0
- data/uninstall.rb +12 -0
- data/unobtrusive_date_picker.gemspec +30 -0
- metadata +116 -0
data/spec/spec.opts
ADDED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
ENV["RAILS_ENV"] = "test"
|
2
|
+
PLUGIN_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
+
|
4
|
+
require 'rubygems'
|
5
|
+
require 'spec'
|
6
|
+
require 'active_support'
|
7
|
+
require 'action_view'
|
8
|
+
require 'action_controller'
|
9
|
+
require File.join(PLUGIN_ROOT, 'spec/tag_matcher.rb')
|
10
|
+
require File.join(PLUGIN_ROOT, 'lib/12_hour_time.rb')
|
11
|
+
require File.join(PLUGIN_ROOT, 'lib/unobtrusive_date_picker.rb')
|
12
|
+
|
13
|
+
|
14
|
+
ActionView::Base.send :include, UnobtrusiveDatePicker::UnobtrusiveDatePickerHelper
|
15
|
+
ActionView::Helpers::DateHelper.send :include, UnobtrusiveDatePicker::UnobtrusiveDatePickerHelper
|
16
|
+
ActionView::Base.send :include, UnobtrusiveDatePicker::AssetTagHelper
|
17
|
+
ActionView::Helpers::AssetTagHelper.send :include, UnobtrusiveDatePicker::AssetTagHelper
|
18
|
+
|
19
|
+
ActionController::Base.perform_caching = false
|
20
|
+
ActionController::Base.consider_all_requests_local = true
|
21
|
+
ActionController::Base.allow_forgery_protection = false
|
22
|
+
|
23
|
+
def get_meridian_integer(meridian)
|
24
|
+
UnobtrusiveDatePicker::DateTimePickerSelector.const_get(meridian.upcase.to_sym)
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "all date picker helpers", :shared => true do
|
28
|
+
include ActionView::Helpers::TagHelper
|
29
|
+
include ActionView::Helpers::TextHelper
|
30
|
+
include ActionView::Helpers::UrlHelper
|
31
|
+
include ActionView::Helpers::FormTagHelper
|
32
|
+
include ActionView::Helpers::FormHelper
|
33
|
+
include ActionView::Helpers::DateHelper
|
34
|
+
include ActionView::Helpers::ActiveRecordHelper
|
35
|
+
include UnobtrusiveDatePicker::UnobtrusiveDatePickerHelper
|
36
|
+
end
|
37
|
+
|
38
|
+
Spec::Runner.configure do |config|
|
39
|
+
|
40
|
+
config.include(TagMatcher)
|
41
|
+
config.include(SelectorMatcher)
|
42
|
+
|
43
|
+
# == Mock Framework
|
44
|
+
#
|
45
|
+
# RSpec uses it's own mocking framework by default. If you prefer to
|
46
|
+
# use mocha, flexmock or RR, uncomment the appropriate line:
|
47
|
+
#
|
48
|
+
# config.mock_with :mocha
|
49
|
+
# config.mock_with :flexmock
|
50
|
+
# config.mock_with :rr
|
51
|
+
|
52
|
+
end
|
data/spec/tag_matcher.rb
ADDED
@@ -0,0 +1,142 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'active_support'
|
3
|
+
require 'action_controller'
|
4
|
+
require 'rexml/document'
|
5
|
+
require 'action_controller/vendor/html-scanner'
|
6
|
+
|
7
|
+
module TagMatcher
|
8
|
+
|
9
|
+
class IncludeTag
|
10
|
+
def initialize(*expected)
|
11
|
+
@expected = expected.size > 1 ? expected.last.merge({ :tag => expected.first.to_s }) : expected.first
|
12
|
+
end
|
13
|
+
|
14
|
+
def matches?(target)
|
15
|
+
@target = HTML::Document.new(target)
|
16
|
+
!@target.find(@expected).nil?
|
17
|
+
end
|
18
|
+
|
19
|
+
def failure_message
|
20
|
+
"expected tag, but no tag found matching #{@expected.inspect} in #{@target.root.to_s}"
|
21
|
+
end
|
22
|
+
|
23
|
+
def negative_failure_message
|
24
|
+
"expected no tag, but tag was found matching #{@expected.inspect} in #{@target.root.to_s}"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def include_tag(*opts)
|
29
|
+
IncludeTag.new(*opts)
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
module SelectorMatcher
|
35
|
+
class SelectorTag
|
36
|
+
def initialize(*expected)
|
37
|
+
# Then get mandatory selector.
|
38
|
+
arg = expected.shift
|
39
|
+
|
40
|
+
# string and we pass all remaining arguments.
|
41
|
+
# Array and we pass the argument. Also accepts selector itself.
|
42
|
+
case arg
|
43
|
+
when String
|
44
|
+
selector = HTML::Selector.new(arg, expected)
|
45
|
+
when Array
|
46
|
+
selector = HTML::Selector.new(*arg)
|
47
|
+
when HTML::Selector
|
48
|
+
selector = arg
|
49
|
+
else raise ArgumentError, "Expecting a selector as the first argument"
|
50
|
+
end
|
51
|
+
|
52
|
+
# Next argument is used for equality tests.
|
53
|
+
equals = {}
|
54
|
+
case arg = expected.shift
|
55
|
+
when Hash
|
56
|
+
equals = arg
|
57
|
+
when String, Regexp
|
58
|
+
equals[:text] = arg
|
59
|
+
when Integer
|
60
|
+
equals[:count] = arg
|
61
|
+
when Range
|
62
|
+
equals[:minimum] = arg.begin
|
63
|
+
equals[:maximum] = arg.end
|
64
|
+
when FalseClass
|
65
|
+
equals[:count] = 0
|
66
|
+
when NilClass, TrueClass
|
67
|
+
equals[:minimum] = 1
|
68
|
+
else raise ArgumentError, "I don't understand what you're trying to match"
|
69
|
+
end
|
70
|
+
|
71
|
+
# By default we're looking for at least one match.
|
72
|
+
if equals[:count]
|
73
|
+
equals[:minimum] = equals[:maximum] = equals[:count]
|
74
|
+
else
|
75
|
+
equals[:minimum] = 1 unless equals[:minimum]
|
76
|
+
end
|
77
|
+
|
78
|
+
@expected = {:selector => selector, :equals => equals}
|
79
|
+
end
|
80
|
+
|
81
|
+
def matches?(target)
|
82
|
+
@target = HTML::Document.new(target, false, false).root
|
83
|
+
|
84
|
+
matches = @expected[:selector].select(@target)
|
85
|
+
|
86
|
+
# If text/html, narrow down to those elements that match it.
|
87
|
+
content_mismatch = nil
|
88
|
+
if match_with = @expected[:equals][:text]
|
89
|
+
matches.delete_if do |match|
|
90
|
+
text = ""
|
91
|
+
text.force_encoding(match_with.encoding) if text.respond_to?(:force_encoding)
|
92
|
+
stack = match.children.reverse
|
93
|
+
while node = stack.pop
|
94
|
+
if node.tag?
|
95
|
+
stack.concat node.children.reverse
|
96
|
+
else
|
97
|
+
content = node.content
|
98
|
+
content.force_encoding(match_with.encoding) if content.respond_to?(:force_encoding)
|
99
|
+
text << content
|
100
|
+
end
|
101
|
+
end
|
102
|
+
text.strip! unless NO_STRIP.include?(match.name)
|
103
|
+
unless match_with.is_a?(Regexp) ? (text =~ match_with) : (text == match_with.to_s)
|
104
|
+
true
|
105
|
+
end
|
106
|
+
end
|
107
|
+
elsif match_with = @expected[:equals][:html]
|
108
|
+
matches.delete_if do |match|
|
109
|
+
html = match.children.map(&:to_s).join
|
110
|
+
html.strip! unless NO_STRIP.include?(match.name)
|
111
|
+
unless match_with.is_a?(Regexp) ? (html =~ match_with) : (html == match_with.to_s)
|
112
|
+
true
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
# Test minimum/maximum occurrence.
|
118
|
+
min, max = @expected[:equals][:minimum], @expected[:equals][:maximum]
|
119
|
+
if min && !max
|
120
|
+
return matches.size >= min
|
121
|
+
elsif max && !min
|
122
|
+
return matches.size <= max
|
123
|
+
elsif min && max
|
124
|
+
return (matches.size >= min) && (matches.size <= max)
|
125
|
+
else
|
126
|
+
return true
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
def failure_message
|
131
|
+
"expected tag, but no tag found matching #{@expected.inspect} in #{@target.to_s}"
|
132
|
+
end
|
133
|
+
|
134
|
+
def negative_failure_message
|
135
|
+
"expected no tag, but tag was found matching #{@expected.inspect} in #{@target.to_s}"
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
def selector_tag(*opts)
|
140
|
+
SelectorTag.new(*opts)
|
141
|
+
end
|
142
|
+
end
|
@@ -0,0 +1,129 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
|
3
|
+
describe "all datetime picker form helpers", :shared => true do
|
4
|
+
before(:each) do
|
5
|
+
@time = Time.parse("March 15, 2007 2:37PM")
|
6
|
+
@datetime_model = stub('DateTimeModel', :datetime => @time, :id => 2)
|
7
|
+
end
|
8
|
+
|
9
|
+
after(:each) do
|
10
|
+
@time, @date_time_model = nil
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe UnobtrusiveDatePicker, "with a stub ActiveRecord object" do
|
15
|
+
it_should_behave_like "all date picker helpers"
|
16
|
+
it_should_behave_like "all datetime picker form helpers"
|
17
|
+
|
18
|
+
before(:each) do
|
19
|
+
@datepicker_html = unobtrusive_datetime_picker(:datetime_model, :datetime)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should select the year from model object attribute" do
|
23
|
+
year_id = 'datetime_model_datetime'
|
24
|
+
year_name = 'datetime_model[datetime(1i)]'
|
25
|
+
|
26
|
+
@datepicker_html.should include_tag(:select, :attributes => {:id => year_id, :name => year_name, :class => 'split-date'},
|
27
|
+
:child => {:tag => 'option',
|
28
|
+
:attributes => {:value => @time.year.to_s, :selected => 'selected'},
|
29
|
+
:content => @time.year.to_s})
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should select the month from model object attribute" do
|
33
|
+
month_id = 'datetime_model_datetime-mm'
|
34
|
+
month_name = 'datetime_model[datetime(2i)]'
|
35
|
+
|
36
|
+
@datepicker_html.should include_tag(:select, :attributes => {:id => month_id, :name => month_name},
|
37
|
+
:child => {:tag => 'option',
|
38
|
+
:attributes => {:value => @time.month.to_s, :selected => 'selected'},
|
39
|
+
:content => Date::MONTHNAMES[@time.month]})
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should select the day from model object attribute" do
|
43
|
+
day_id = 'datetime_model_datetime-dd'
|
44
|
+
day_name = 'datetime_model[datetime(3i)]'
|
45
|
+
|
46
|
+
@datepicker_html.should include_tag(:select, :attributes => {:id => day_id, :name => day_name},
|
47
|
+
:child => {:tag => 'option',
|
48
|
+
:attributes => {:value => @time.day.to_s, :selected => 'selected'},
|
49
|
+
:content => @time.day.to_s})
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should select the hour from model object attribute" do
|
53
|
+
hour_id = 'datetime_model_datetime_4i'
|
54
|
+
hour_name = 'datetime_model[datetime(4i)]'
|
55
|
+
|
56
|
+
@datepicker_html.should include_tag(:select, :attributes => {:id => hour_id, :name => hour_name},
|
57
|
+
:child => {:tag => 'option',
|
58
|
+
:attributes => {:value => sprintf("%02d", @time.strftime("%I").to_i), :selected => 'selected'},
|
59
|
+
:content => sprintf("%02d", @time.strftime("%I").to_i)})
|
60
|
+
end
|
61
|
+
|
62
|
+
it "should select the minute from model object attribute" do
|
63
|
+
minute_id = 'datetime_model_datetime_5i'
|
64
|
+
minute_name = 'datetime_model[datetime(5i)]'
|
65
|
+
|
66
|
+
@datepicker_html.should include_tag(:select, :attributes => {:id => minute_id, :name => minute_name},
|
67
|
+
:child => {:tag => 'option',
|
68
|
+
:attributes => {:value => @time.strftime("%M"), :selected => 'selected'},
|
69
|
+
:content => @time.strftime("%M")})
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should select the meridian from model object attribute" do
|
73
|
+
meridian_id = 'datetime_model_datetime_7i'
|
74
|
+
meridian_name = 'datetime_model[datetime(7i)]'
|
75
|
+
|
76
|
+
@datepicker_html.should include_tag(:select, :attributes => {:id => meridian_id, :name => meridian_name},
|
77
|
+
:child => {:tag => 'option',
|
78
|
+
:attributes => {:value => get_meridian_integer(@time.strftime("%p")), :selected => 'selected'},
|
79
|
+
:content => @time.strftime("%p")})
|
80
|
+
end
|
81
|
+
|
82
|
+
after(:each) do
|
83
|
+
@datepicker_html = nil
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
87
|
+
|
88
|
+
|
89
|
+
describe UnobtrusiveDatePicker, "with a minute step and month numbers options specified" do
|
90
|
+
it_should_behave_like "all date picker helpers"
|
91
|
+
it_should_behave_like "all datetime picker form helpers"
|
92
|
+
|
93
|
+
before(:each) do
|
94
|
+
@step = 15
|
95
|
+
@datepicker_html = unobtrusive_datetime_picker(:datetime_model, :datetime, {:use_month_numbers => true, :minute_step => @step})
|
96
|
+
end
|
97
|
+
|
98
|
+
it "should use month numbers for option text" do
|
99
|
+
month_id = 'datetime_model_datetime-mm'
|
100
|
+
month_name = 'datetime_model[datetime(2i)]'
|
101
|
+
|
102
|
+
1.upto(12) do |month|
|
103
|
+
@datepicker_html.should include_tag(:select, :attributes => {:id => month_id, :name => month_name},
|
104
|
+
:child => {:tag => 'option',
|
105
|
+
:attributes => {:value => month.to_s},
|
106
|
+
:content => month.to_s})
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should select the minute from model object attribute" do
|
111
|
+
minute_id = 'datetime_model_datetime_5i'
|
112
|
+
minute_name = 'datetime_model[datetime(5i)]'
|
113
|
+
|
114
|
+
|
115
|
+
@datepicker_html.should include_tag(:select, :attributes => {:id => minute_id, :name => minute_name},
|
116
|
+
:children => {:count => 4, :only => {:tag => 'option'}})
|
117
|
+
(0..59).step(@step) do |minute|
|
118
|
+
@datepicker_html.should include_tag(:select, :attributes => {:id => minute_id, :name => minute_name},
|
119
|
+
:child => {:tag => 'option',
|
120
|
+
:attributes => {:value => sprintf("%02d", minute)},
|
121
|
+
:content => sprintf("%02d", minute)})
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
after(:each) do
|
126
|
+
@datepicker_html = nil
|
127
|
+
end
|
128
|
+
|
129
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
namespace :datepicker do
|
2
|
+
require 'fileutils'
|
3
|
+
|
4
|
+
desc "Replace the old javascript and CSS files with the new ones"
|
5
|
+
task :update do
|
6
|
+
js_dir = File.dirname(__FILE__) + '/../../../../public/javascripts/'
|
7
|
+
datepicker_js = js_dir + 'datepicker.js'
|
8
|
+
lang_dir = js_dir + 'lang'
|
9
|
+
datepicker_css = File.dirname(__FILE__) + '/../../../../public/stylesheets/datepicker.css'
|
10
|
+
images_dir = File.dirname(__FILE__) + '/../../../../public/images/datepicker'
|
11
|
+
|
12
|
+
FileUtils.cp File.dirname(__FILE__) + '/../public/javascripts/datepicker.js', datepicker_js
|
13
|
+
FileUtils.cp_r File.dirname(__FILE__) + '/../public/javascripts/lang/', lang_dir
|
14
|
+
FileUtils.cp File.dirname(__FILE__) + '/../public/stylesheets/datepicker.css', datepicker_css
|
15
|
+
FileUtils.cp_r File.dirname(__FILE__) + '/../public/images/', images_dir
|
16
|
+
end
|
17
|
+
end
|
data/uninstall.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
|
3
|
+
js_dir = File.dirname(__FILE__) + '/../../../public/javascripts/'
|
4
|
+
datepicker_js = js_dir + 'datepicker.js'
|
5
|
+
lang_dir = js_dir + 'lang'
|
6
|
+
datepicker_css = File.dirname(__FILE__) + '/../../../public/stylesheets/datepicker.css'
|
7
|
+
images_dir = File.dirname(__FILE__) + '/../../../public/images/datepicker'
|
8
|
+
|
9
|
+
FileUtils.rm datepicker_js
|
10
|
+
FileUtils.rm_r lang_dir
|
11
|
+
FileUtils.rm datepicker_css
|
12
|
+
FileUtils.rm_r images_dir
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{rd_unobtrusive_date_picker}
|
5
|
+
s.version = "0.1.0"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Brian landau"]
|
9
|
+
s.date = %q{2010-06-24}
|
10
|
+
s.description = %q{Helper for creating a date or date-time picker that uses the Unobtrusive Date-Picker Widge}
|
11
|
+
s.email = %q{}
|
12
|
+
s.extra_rdoc_files = ["README.rdoc", "lib/12_hour_time.rb", "lib/unobtrusive_date_picker.rb", "tasks/datepicker_tasks.rake"]
|
13
|
+
s.files = ["MIT-LICENSE", "Manifest", "README.rdoc", "Rakefile", "about.yml", "init.rb", "install.rb", "lib/12_hour_time.rb", "lib/unobtrusive_date_picker.rb", "public/images/backstripes.gif", "public/images/bg_header.jpg", "public/images/bullet1.gif", "public/images/bullet2.gif", "public/images/cal.gif", "public/images/gradient-e5e5e5-ffffff.gif", "public/javascripts/datepicker.js", "public/javascripts/lang/af.js", "public/javascripts/lang/ar.js", "public/javascripts/lang/de.js", "public/javascripts/lang/du.js", "public/javascripts/lang/en.js", "public/javascripts/lang/es.js", "public/javascripts/lang/fi.js", "public/javascripts/lang/fr.js", "public/javascripts/lang/gr.js", "public/javascripts/lang/he.js", "public/javascripts/lang/it.js", "public/javascripts/lang/nl.js", "public/javascripts/lang/no.js", "public/javascripts/lang/pt.js", "public/javascripts/lang/ro.js", "public/javascripts/lang/ru.js", "public/javascripts/lang/sp.js", "public/javascripts/lang/sv.js", "public/javascripts/lang/ua.js", "public/stylesheets/datepicker.css", "spec/date_picker_tag_spec.rb", "spec/date_picker_text_field_spec.rb", "spec/datepicker_html_class_options_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "spec/tag_matcher.rb", "spec/unobtrusive_date_picker_spec.rb", "tasks/datepicker_tasks.rake", "uninstall.rb", "unobtrusive_date_picker.gemspec"]
|
14
|
+
s.homepage = %q{http://github.com/brianjlandau/unobtrusive_date_picker}
|
15
|
+
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Unobtrusive_date_picker", "--main", "README.rdoc"]
|
16
|
+
s.require_paths = ["lib"]
|
17
|
+
s.rubyforge_project = %q{unobtrusive_date_picker}
|
18
|
+
s.rubygems_version = %q{1.3.6}
|
19
|
+
s.summary = %q{Helper for creating a date or date-time picker that uses the Unobtrusive Date-Picker Widge}
|
20
|
+
|
21
|
+
if s.respond_to? :specification_version then
|
22
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
23
|
+
s.specification_version = 3
|
24
|
+
|
25
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
26
|
+
else
|
27
|
+
end
|
28
|
+
else
|
29
|
+
end
|
30
|
+
end
|
metadata
ADDED
@@ -0,0 +1,116 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rd_unobtrusive_date_picker
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
version: 0.1.0
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Brian landau
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-06-24 00:00:00 +04:00
|
18
|
+
default_executable:
|
19
|
+
dependencies: []
|
20
|
+
|
21
|
+
description: Helper for creating a date or date-time picker that uses the Unobtrusive Date-Picker Widge
|
22
|
+
email: ""
|
23
|
+
executables: []
|
24
|
+
|
25
|
+
extensions: []
|
26
|
+
|
27
|
+
extra_rdoc_files:
|
28
|
+
- README.rdoc
|
29
|
+
- lib/12_hour_time.rb
|
30
|
+
- lib/unobtrusive_date_picker.rb
|
31
|
+
- tasks/datepicker_tasks.rake
|
32
|
+
files:
|
33
|
+
- MIT-LICENSE
|
34
|
+
- Manifest
|
35
|
+
- README.rdoc
|
36
|
+
- Rakefile
|
37
|
+
- about.yml
|
38
|
+
- init.rb
|
39
|
+
- install.rb
|
40
|
+
- lib/12_hour_time.rb
|
41
|
+
- lib/unobtrusive_date_picker.rb
|
42
|
+
- public/images/backstripes.gif
|
43
|
+
- public/images/bg_header.jpg
|
44
|
+
- public/images/bullet1.gif
|
45
|
+
- public/images/bullet2.gif
|
46
|
+
- public/images/cal.gif
|
47
|
+
- public/images/gradient-e5e5e5-ffffff.gif
|
48
|
+
- public/javascripts/datepicker.js
|
49
|
+
- public/javascripts/lang/af.js
|
50
|
+
- public/javascripts/lang/ar.js
|
51
|
+
- public/javascripts/lang/de.js
|
52
|
+
- public/javascripts/lang/du.js
|
53
|
+
- public/javascripts/lang/en.js
|
54
|
+
- public/javascripts/lang/es.js
|
55
|
+
- public/javascripts/lang/fi.js
|
56
|
+
- public/javascripts/lang/fr.js
|
57
|
+
- public/javascripts/lang/gr.js
|
58
|
+
- public/javascripts/lang/he.js
|
59
|
+
- public/javascripts/lang/it.js
|
60
|
+
- public/javascripts/lang/nl.js
|
61
|
+
- public/javascripts/lang/no.js
|
62
|
+
- public/javascripts/lang/pt.js
|
63
|
+
- public/javascripts/lang/ro.js
|
64
|
+
- public/javascripts/lang/ru.js
|
65
|
+
- public/javascripts/lang/sp.js
|
66
|
+
- public/javascripts/lang/sv.js
|
67
|
+
- public/javascripts/lang/ua.js
|
68
|
+
- public/stylesheets/datepicker.css
|
69
|
+
- spec/date_picker_tag_spec.rb
|
70
|
+
- spec/date_picker_text_field_spec.rb
|
71
|
+
- spec/datepicker_html_class_options_spec.rb
|
72
|
+
- spec/spec.opts
|
73
|
+
- spec/spec_helper.rb
|
74
|
+
- spec/tag_matcher.rb
|
75
|
+
- spec/unobtrusive_date_picker_spec.rb
|
76
|
+
- tasks/datepicker_tasks.rake
|
77
|
+
- uninstall.rb
|
78
|
+
- unobtrusive_date_picker.gemspec
|
79
|
+
has_rdoc: true
|
80
|
+
homepage: http://github.com/brianjlandau/unobtrusive_date_picker
|
81
|
+
licenses: []
|
82
|
+
|
83
|
+
post_install_message:
|
84
|
+
rdoc_options:
|
85
|
+
- --line-numbers
|
86
|
+
- --inline-source
|
87
|
+
- --title
|
88
|
+
- Unobtrusive_date_picker
|
89
|
+
- --main
|
90
|
+
- README.rdoc
|
91
|
+
require_paths:
|
92
|
+
- lib
|
93
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
segments:
|
98
|
+
- 0
|
99
|
+
version: "0"
|
100
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
segments:
|
105
|
+
- 1
|
106
|
+
- 2
|
107
|
+
version: "1.2"
|
108
|
+
requirements: []
|
109
|
+
|
110
|
+
rubyforge_project: unobtrusive_date_picker
|
111
|
+
rubygems_version: 1.3.6
|
112
|
+
signing_key:
|
113
|
+
specification_version: 3
|
114
|
+
summary: Helper for creating a date or date-time picker that uses the Unobtrusive Date-Picker Widge
|
115
|
+
test_files: []
|
116
|
+
|