restful_query-rails3 0.4

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.
@@ -0,0 +1,72 @@
1
+ require 'test_helper'
2
+
3
+ class RestfulQuerySortTest < Test::Unit::TestCase
4
+
5
+ context "Sort" do
6
+ context "initializing" do
7
+ context "with valid column and direction" do
8
+ setup do
9
+ @sort = RestfulQuery::Sort.new(:attribute, 'up')
10
+ end
11
+
12
+ should "save column name as string" do
13
+ assert_equal 'attribute', @sort.column
14
+ end
15
+
16
+ should "interpret direction" do
17
+ assert_equal 'ASC', @sort.direction
18
+ end
19
+ end
20
+
21
+ context "with an invalid direction" do
22
+ should "raise error" do
23
+ assert_raise(RestfulQuery::InvalidDirection) do
24
+ RestfulQuery::Sort.new('column', 'blarg')
25
+ end
26
+ end
27
+ end
28
+
29
+ end
30
+
31
+ context "parse" do
32
+ context "with a query hash like condition" do
33
+ setup do
34
+ @sort = RestfulQuery::Sort.parse('long_name_attribute-down')
35
+ end
36
+
37
+ should "return sort object" do
38
+ assert @sort.is_a?(RestfulQuery::Sort)
39
+ end
40
+
41
+ should "set column and direction" do
42
+ assert_equal 'long_name_attribute', @sort.column
43
+ assert_equal 'DESC', @sort.direction
44
+ end
45
+ end
46
+
47
+ context "with a standard SQL like condition" do
48
+ setup do
49
+ @sort = RestfulQuery::Sort.parse('long_name_attribute DESC')
50
+ end
51
+
52
+ should "return sort object" do
53
+ assert @sort.is_a?(RestfulQuery::Sort)
54
+ end
55
+
56
+ should "set column and direction" do
57
+ assert_equal 'long_name_attribute', @sort.column
58
+ assert_equal 'DESC', @sort.direction
59
+ end
60
+ end
61
+ end
62
+
63
+ context "to_sql" do
64
+ should "join the column and attribute" do
65
+ @sort = RestfulQuery::Sort.new(:attribute, 'down')
66
+ assert_equal 'attribute DESC', @sort.to_sql
67
+ end
68
+ end
69
+
70
+ end
71
+
72
+ end
metadata ADDED
@@ -0,0 +1,137 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: restful_query-rails3
3
+ version: !ruby/object:Gem::Version
4
+ hash: 3
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 4
9
+ version: "0.4"
10
+ platform: ruby
11
+ authors:
12
+ - Aaron Quint
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2011-02-16 00:00:00 +01:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: activesupport
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 7
29
+ segments:
30
+ - 2
31
+ - 2
32
+ - 0
33
+ version: 2.2.0
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: chronic
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 17
45
+ segments:
46
+ - 0
47
+ - 2
48
+ - 3
49
+ version: 0.2.3
50
+ type: :runtime
51
+ version_requirements: *id002
52
+ - !ruby/object:Gem::Dependency
53
+ name: Shoulda
54
+ prerelease: false
55
+ requirement: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ hash: 31
61
+ segments:
62
+ - 1
63
+ - 2
64
+ - 0
65
+ version: 1.2.0
66
+ type: :development
67
+ version_requirements: *id003
68
+ description: Rails3 Version of RestfulQuery, provides a simple interface in front of a complex parser to parse specially formatted query hashes into complex SQL queries. It includes ActiveRecord and Sequel extensions.
69
+ email:
70
+ executables: []
71
+
72
+ extensions: []
73
+
74
+ extra_rdoc_files:
75
+ - LICENSE
76
+ - README.rdoc
77
+ files:
78
+ - .gitignore
79
+ - History.txt
80
+ - LICENSE
81
+ - README.rdoc
82
+ - Rakefile
83
+ - init.rb
84
+ - restful_query-rails3.gemspec
85
+ - lib/restful_query.rb
86
+ - lib/restful_query/can_query.rb
87
+ - lib/restful_query/condition.rb
88
+ - lib/restful_query/parser.rb
89
+ - lib/restful_query/sort.rb
90
+ - lib/sequel/extensions/restful_query.rb
91
+ - rails/init.rb
92
+ - tasks/restful_query_tasks.rake
93
+ - test/test_helper.rb
94
+ - test/test_restful_query_can_query.rb
95
+ - test/test_restful_query_condition.rb
96
+ - test/test_restful_query_parser.rb
97
+ - test/test_restful_query_sort.rb
98
+ has_rdoc: true
99
+ homepage:
100
+ licenses: []
101
+
102
+ post_install_message:
103
+ rdoc_options:
104
+ - --charset=UTF-8
105
+ require_paths:
106
+ - lib
107
+ required_ruby_version: !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ hash: 3
113
+ segments:
114
+ - 0
115
+ version: "0"
116
+ required_rubygems_version: !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ hash: 3
122
+ segments:
123
+ - 0
124
+ version: "0"
125
+ requirements: []
126
+
127
+ rubyforge_project: quirkey
128
+ rubygems_version: 1.3.7
129
+ signing_key:
130
+ specification_version: 3
131
+ summary: Simple ActiveRecord and Sequel queries from a RESTful and safe interface
132
+ test_files:
133
+ - test/test_helper.rb
134
+ - test/test_restful_query_can_query.rb
135
+ - test/test_restful_query_condition.rb
136
+ - test/test_restful_query_parser.rb
137
+ - test/test_restful_query_sort.rb