sinatra_resource 0.4.5 → 0.4.6
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/VERSION +1 -1
- data/lib/builder/helpers.rb +7 -5
- data/lib/builder.rb +2 -2
- data/sinatra_resource.gemspec +2 -2
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.6
|
data/lib/builder/helpers.rb
CHANGED
@@ -38,16 +38,18 @@ module SinatraResource
|
|
38
38
|
# @param [Integer] page_count
|
39
39
|
#
|
40
40
|
# @return [Array<Hash<String => Object>>]
|
41
|
-
def build_resources(documents, resource_config, page, page_count)
|
41
|
+
def build_resources(documents, resource_config, page, page_count, document_count, items_per_page)
|
42
42
|
if page_count > 0 && page > page_count
|
43
43
|
error 400, convert(body_for(:errors,
|
44
44
|
"page (#{page}) must be <= page_count (#{page_count})"))
|
45
45
|
end
|
46
46
|
{
|
47
|
-
'previous'
|
48
|
-
'next'
|
49
|
-
'page_count'
|
50
|
-
'
|
47
|
+
'previous' => page > 1 ? link_to_page(page - 1) : nil,
|
48
|
+
'next' => page < page_count ? link_to_page(page + 1) : nil,
|
49
|
+
'page_count' => page_count,
|
50
|
+
'page_size' => items_per_page,
|
51
|
+
'document_count' => document_count,
|
52
|
+
'members' => documents.map do |document|
|
51
53
|
build_resource(lookup_role(document), document, resource_config)
|
52
54
|
end,
|
53
55
|
}
|
data/lib/builder.rb
CHANGED
@@ -70,7 +70,7 @@ module SinatraResource
|
|
70
70
|
documents = documents_for_get_many(role, model, resource_config, page, ITEMS_PER_PAGE, true, nil, nil)
|
71
71
|
document_count = document_count_for_get_many(model, resource_config, nil, nil)
|
72
72
|
page_count = calculate_page_count(document_count, ITEMS_PER_PAGE)
|
73
|
-
resources = build_resources(documents, resource_config, page, page_count)
|
73
|
+
resources = build_resources(documents, resource_config, page, page_count, document_count, ITEMS_PER_PAGE)
|
74
74
|
display(:list, resources, resource_config)
|
75
75
|
end
|
76
76
|
else
|
@@ -88,7 +88,7 @@ module SinatraResource
|
|
88
88
|
documents = documents_for_get_many(role, model, resource_config, page, ITEMS_PER_PAGE, true, parent_document, child_assoc)
|
89
89
|
document_count = document_count_for_get_many(model, resource_config, parent_document, child_assoc)
|
90
90
|
page_count = calculate_page_count(document_count, ITEMS_PER_PAGE)
|
91
|
-
resources = build_resources(documents, resource_config, page, page_count)
|
91
|
+
resources = build_resources(documents, resource_config, page, page_count, document_count, ITEMS_PER_PAGE)
|
92
92
|
display(:list, resources, resource_config, parent_id)
|
93
93
|
end
|
94
94
|
end
|
data/sinatra_resource.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{sinatra_resource}
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["David James"]
|
12
|
-
s.date = %q{2009-12-
|
12
|
+
s.date = %q{2009-12-03}
|
13
13
|
s.description = %q{A DSL for creating RESTful actions with Sinatra and MongoMapper. It embraces the Resource Oriented Architecture as explained by Leonard Richardson and Sam Ruby.}
|
14
14
|
s.email = %q{djames@sunlightfoundation.com}
|
15
15
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra_resource
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David James
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-12-
|
12
|
+
date: 2009-12-03 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|