couch_potato 0.2.25 → 0.2.26
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.md +3 -0
- data/VERSION.yml +3 -3
- data/lib/core_ext/date.rb +12 -1
- data/lib/core_ext/time.rb +11 -1
- data/spec/property_spec.rb +3 -2
- data/spec/unit/date_spec.rb +22 -0
- data/spec/unit/time_spec.rb +22 -0
- metadata +5 -1
data/CHANGES.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
## Changes
|
2
2
|
|
3
|
+
### master
|
4
|
+
* added to_s(:json) to Date and Time to be able to get properly formatted dates/times for searching with dates/times (langalex)
|
5
|
+
|
3
6
|
### 0.2.25
|
4
7
|
* automatic view updates: when you change the definition of a view couch potato will now update the design document in the database (langalex)
|
5
8
|
* support for properties of type Date, better support for Time (langalex)
|
data/VERSION.yml
CHANGED
data/lib/core_ext/date.rb
CHANGED
@@ -1,8 +1,19 @@
|
|
1
1
|
class Date
|
2
2
|
def to_json(*a)
|
3
|
-
%("#{
|
3
|
+
%("#{to_s(:json)}")
|
4
4
|
end
|
5
5
|
|
6
|
+
def to_s_with_json(*args)
|
7
|
+
if args[0] == :json
|
8
|
+
strftime("%Y/%m/%d")
|
9
|
+
else
|
10
|
+
to_s_without_json *args
|
11
|
+
end
|
12
|
+
end
|
13
|
+
alias_method :to_s_without_json, :to_s
|
14
|
+
alias_method :to_s, :to_s_with_json
|
15
|
+
|
16
|
+
|
6
17
|
def self.json_create string
|
7
18
|
return nil if string.nil?
|
8
19
|
Date.parse(string)
|
data/lib/core_ext/time.rb
CHANGED
@@ -1,8 +1,18 @@
|
|
1
1
|
class Time
|
2
2
|
def to_json(*a)
|
3
|
-
%("#{
|
3
|
+
%("#{to_s(:json)}")
|
4
4
|
end
|
5
5
|
|
6
|
+
def to_s_with_json(*args)
|
7
|
+
if args[0] == :json
|
8
|
+
getutc.strftime("%Y/%m/%d %H:%M:%S +0000")
|
9
|
+
else
|
10
|
+
to_s_without_json *args
|
11
|
+
end
|
12
|
+
end
|
13
|
+
alias_method :to_s_without_json, :to_s
|
14
|
+
alias_method :to_s, :to_s_with_json
|
15
|
+
|
6
16
|
def self.json_create string
|
7
17
|
return nil if string.nil?
|
8
18
|
d = DateTime.parse(string).new_offset
|
data/spec/property_spec.rb
CHANGED
@@ -145,11 +145,12 @@ describe 'properties' do
|
|
145
145
|
w.time.to_s.should == time.utc.to_s
|
146
146
|
end
|
147
147
|
|
148
|
-
it "should parse a string and persist it as time" do
|
149
|
-
w = Watch.new :time => '2009-01-01 13:25
|
148
|
+
it "should parse a string and persist it as utc time" do
|
149
|
+
w = Watch.new :time => '2009-01-01 13:25 +0100'
|
150
150
|
CouchPotato.database.save_document! w
|
151
151
|
w = CouchPotato.database.load_document w.id
|
152
152
|
w.time.should be_a(Time)
|
153
|
+
w.time.should == Time.parse('2009-01-01 12:25 +0000')
|
153
154
|
end
|
154
155
|
|
155
156
|
it "should store nil" do
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
2
|
+
|
3
|
+
describe Date, 'to_json' do
|
4
|
+
it "should format the date in a way that i can use it for sorting in couchdb" do
|
5
|
+
date = Date.parse('2009-01-01')
|
6
|
+
date.to_json.should == "\"2009/01/01\""
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
describe Date, 'to_s(:json)' do
|
11
|
+
it "should format it in the same way as to_json does so i can use this to do queries over date attributes" do
|
12
|
+
date = Date.parse('2009-01-01')
|
13
|
+
date.to_s(:json).should == "2009/01/01"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe Date, 'to_s' do
|
18
|
+
it "should leave the original to_s untouched" do
|
19
|
+
date = Date.parse('2009-01-01')
|
20
|
+
date.to_s.should == "2009-01-01"
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
2
|
+
|
3
|
+
describe Time, 'to_json' do
|
4
|
+
it "should convert to utc and format the time in a way that i can use it for sorting in couchdb" do
|
5
|
+
time = Time.parse('2009-01-01 11:12:23 +0200')
|
6
|
+
time.to_json.should == "\"2009/01/01 09:12:23 +0000\""
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
describe Time, 'to_s(:json)' do
|
11
|
+
it "should format it in the same way as to_json does so i can use this to do queries over time attributes" do
|
12
|
+
time = Time.parse('2009-01-01 11:12:23 +0200')
|
13
|
+
time.to_s(:json).should == "2009/01/01 09:12:23 +0000"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe Time, 'to_s' do
|
18
|
+
it "should leave the original to_s untouched" do
|
19
|
+
time = Time.parse('2009-01-01 10:12:23 +0100').getutc
|
20
|
+
time.to_s.should include("09:12:23")
|
21
|
+
end
|
22
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: couch_potato
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.26
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Lang
|
@@ -111,11 +111,13 @@ files:
|
|
111
111
|
- spec/unit/create_spec.rb
|
112
112
|
- spec/unit/customs_views_spec.rb
|
113
113
|
- spec/unit/database_spec.rb
|
114
|
+
- spec/unit/date_spec.rb
|
114
115
|
- spec/unit/dirty_attributes_spec.rb
|
115
116
|
- spec/unit/json_create_id_spec.rb
|
116
117
|
- spec/unit/model_view_spec_spec.rb
|
117
118
|
- spec/unit/rspec_matchers_spec.rb
|
118
119
|
- spec/unit/string_spec.rb
|
120
|
+
- spec/unit/time_spec.rb
|
119
121
|
- spec/unit/validation_spec.rb
|
120
122
|
- spec/unit/view_query_spec.rb
|
121
123
|
- spec/update_spec.rb
|
@@ -168,11 +170,13 @@ test_files:
|
|
168
170
|
- spec/unit/create_spec.rb
|
169
171
|
- spec/unit/customs_views_spec.rb
|
170
172
|
- spec/unit/database_spec.rb
|
173
|
+
- spec/unit/date_spec.rb
|
171
174
|
- spec/unit/dirty_attributes_spec.rb
|
172
175
|
- spec/unit/json_create_id_spec.rb
|
173
176
|
- spec/unit/model_view_spec_spec.rb
|
174
177
|
- spec/unit/rspec_matchers_spec.rb
|
175
178
|
- spec/unit/string_spec.rb
|
179
|
+
- spec/unit/time_spec.rb
|
176
180
|
- spec/unit/validation_spec.rb
|
177
181
|
- spec/unit/view_query_spec.rb
|
178
182
|
- spec/update_spec.rb
|