crudle 0.0.4 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/crudle/version.rb +1 -1
- data/lib/crudle.rb +13 -18
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d580f5f7422a473b3cd73b5b2c32fdd89472b9b0
|
4
|
+
data.tar.gz: a2dfe75a0ee40d5dd0da4ff5cf4e505331862a7d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5336e84b3fad0b80b7adac05ec003cb9cc8d2319d32f595c0994978baaa1633381f0c5993e0cadc7922187a10d34140baa85221bcc5faba51c728a1beeebc922
|
7
|
+
data.tar.gz: 4c72ecfb9ebb3fe4adc4d4d14918149c158c247dfa558a12f95b0665518f4d86566c18f19552bf83a16358272e37ce075d3b212e02a48fab8cab6a3f943ddcbf
|
data/lib/crudle/version.rb
CHANGED
data/lib/crudle.rb
CHANGED
@@ -7,13 +7,8 @@ module Crudle
|
|
7
7
|
def self.included base
|
8
8
|
base.class_exec do
|
9
9
|
|
10
|
-
def
|
11
|
-
|
12
|
-
end
|
13
|
-
|
14
|
-
|
15
|
-
def list params = {}
|
16
|
-
dataset = filtered_dataset(params)
|
10
|
+
def list
|
11
|
+
dataset = filtered_dataset(params)
|
17
12
|
offset, pager = pager(params, dataset.count, items_per_page, side_pages)
|
18
13
|
{
|
19
14
|
items: fetch_items(dataset, offset, params[:id]).map {|i| list_serializer(i)},
|
@@ -32,36 +27,36 @@ module Crudle
|
|
32
27
|
end
|
33
28
|
|
34
29
|
|
35
|
-
def retrieve
|
36
|
-
editor_serializer(find_item(
|
30
|
+
def retrieve item_id
|
31
|
+
editor_serializer(find_item(item_id))
|
37
32
|
end
|
38
33
|
|
39
34
|
|
40
|
-
def update
|
41
|
-
item = find_item(
|
42
|
-
|
35
|
+
def update item_id
|
36
|
+
item = find_item(item_id)
|
37
|
+
params.each_pair {|k,v| item[k] = v}
|
43
38
|
item.valid? || halt(400, error: item.errors.each_with_object([]) {|e,o| o << e.join(': ')})
|
44
39
|
item.save
|
45
40
|
editor_serializer(item)
|
46
41
|
end
|
47
42
|
|
48
43
|
|
49
|
-
def delete
|
50
|
-
find_item(
|
44
|
+
def delete item_id
|
45
|
+
find_item(item_id).destroy
|
51
46
|
true
|
52
47
|
end
|
53
48
|
|
54
49
|
|
55
|
-
def delete_selected
|
56
|
-
model.where(id: selected).map(&:destroy)
|
50
|
+
def delete_selected
|
51
|
+
model.where(id: params[:selected]).map(&:destroy)
|
57
52
|
true
|
58
53
|
end
|
59
54
|
|
60
55
|
|
61
56
|
private
|
62
57
|
|
63
|
-
def find_item
|
64
|
-
model.find_by(id:
|
58
|
+
def find_item item_id
|
59
|
+
model.find_by(id: item_id) || halt(400, 'No item found by given ID')
|
65
60
|
end
|
66
61
|
|
67
62
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crudle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Slee Woo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-25 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Building blocks for opinionated CRUD interfaces
|
14
14
|
email:
|
@@ -46,5 +46,5 @@ rubyforge_project:
|
|
46
46
|
rubygems_version: 2.5.1
|
47
47
|
signing_key:
|
48
48
|
specification_version: 4
|
49
|
-
summary: '["crudle-0.0
|
49
|
+
summary: '["crudle-0.1.0", "Building blocks for opinionated CRUD interfaces"]'
|
50
50
|
test_files: []
|