webflow-ruby 0.4.0 → 0.5.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.
- checksums.yaml +5 -5
- data/.gitignore +0 -1
- data/CHANGELOG.md +3 -0
- data/Gemfile.lock +46 -0
- data/README.md +3 -2
- data/lib/webflow/client.rb +30 -2
- data/lib/webflow/version.rb +1 -1
- data/webflow.gemspec +4 -4
- metadata +12 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5da6e30284ec5f7d0405ffc811ad16673285b7e8ed5da6a58caf88827eac7c6a
|
4
|
+
data.tar.gz: bf3e9fd18fd3daa7d16dee83e5bc71d6b73acc04249d7e07dad1f71b1a4ba776
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 152445fe454407cb702852bbdd2735887b5bdebec6db1a1fbb669b328f3304e5439ea62c13fccbf650a2b4ff1855f6039eedf7c30b4d0f5a5333906f555540c5
|
7
|
+
data.tar.gz: 261d7ac28dd3680da3320f15fbebd1a009627a0ea6ccba321fdf2b04fa0880736818db5a9a125fcddbad0cd734c2653de99d6782bc63c2f7131536e557a72bec
|
data/.gitignore
CHANGED
data/CHANGELOG.md
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
webflow-ruby (0.5.0)
|
5
|
+
oj
|
6
|
+
typhoeus
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: https://rubygems.org/
|
10
|
+
specs:
|
11
|
+
addressable (2.5.2)
|
12
|
+
public_suffix (>= 2.0.2, < 4.0)
|
13
|
+
byebug (10.0.2)
|
14
|
+
crack (0.4.3)
|
15
|
+
safe_yaml (~> 1.0.0)
|
16
|
+
ethon (0.12.0)
|
17
|
+
ffi (>= 1.3.0)
|
18
|
+
ffi (1.10.0)
|
19
|
+
hashdiff (0.3.8)
|
20
|
+
minitest (5.11.3)
|
21
|
+
oj (3.7.7)
|
22
|
+
public_suffix (3.0.3)
|
23
|
+
rake (12.3.2)
|
24
|
+
safe_yaml (1.0.4)
|
25
|
+
typhoeus (1.3.1)
|
26
|
+
ethon (>= 0.9.0)
|
27
|
+
vcr (4.0.0)
|
28
|
+
webmock (3.5.1)
|
29
|
+
addressable (>= 2.3.6)
|
30
|
+
crack (>= 0.3.2)
|
31
|
+
hashdiff
|
32
|
+
|
33
|
+
PLATFORMS
|
34
|
+
ruby
|
35
|
+
|
36
|
+
DEPENDENCIES
|
37
|
+
bundler (> 1.13)
|
38
|
+
byebug
|
39
|
+
minitest (> 5.0)
|
40
|
+
rake (> 10.0)
|
41
|
+
vcr
|
42
|
+
webflow-ruby!
|
43
|
+
webmock
|
44
|
+
|
45
|
+
BUNDLED WITH
|
46
|
+
2.0.1
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Webflow [](https://travis-ci.org/penseo/webflow-ruby)
|
2
2
|
|
3
3
|
## Installation
|
4
4
|
|
@@ -22,13 +22,14 @@ Have a look at the tests, seriously!
|
|
22
22
|
|
23
23
|
## Todo
|
24
24
|
|
25
|
+
* Use HTTPRB
|
25
26
|
* Error handling, it's all JSON for now
|
26
27
|
* Resource mapping, it's plain hashes for now
|
27
28
|
* Proper docs
|
28
29
|
|
29
30
|
## Contributing
|
30
31
|
|
31
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
32
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/penseo/webflow-ruby. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
32
33
|
|
33
34
|
|
34
35
|
## License
|
data/lib/webflow/client.rb
CHANGED
@@ -48,9 +48,37 @@ module Webflow
|
|
48
48
|
get("/collections/#{collection_id}")
|
49
49
|
end
|
50
50
|
|
51
|
+
|
52
|
+
# https://developers.webflow.com/?javascript#get-all-items-for-a-collection
|
53
|
+
# returns json object with data to help paginate collection
|
54
|
+
#
|
55
|
+
# {
|
56
|
+
# items: your list of items returned,
|
57
|
+
# count: number of items returned,
|
58
|
+
# limit: the limit specified in the request (default: 100),
|
59
|
+
# offset: the offset specified for pagination (default: 0),
|
60
|
+
# total: total # of items in the collection
|
61
|
+
# }
|
62
|
+
#
|
63
|
+
# page starts at 1
|
64
|
+
def paginate_items(collection_id, per_page: 100, page: 1)
|
65
|
+
get("/collections/#{collection_id}/items", params: { limit: per_page, offset: per_page * (page - 1) })
|
66
|
+
end
|
67
|
+
|
68
|
+
|
51
69
|
def items(collection_id, limit: 100)
|
52
|
-
|
53
|
-
|
70
|
+
fetched_items = []
|
71
|
+
num_pages = (limit.to_f / 100.0).ceil
|
72
|
+
per_page = limit > 100 ? 100 : limit
|
73
|
+
|
74
|
+
num_pages.times do |i|
|
75
|
+
resp = paginate_items(collection_id, per_page: (limit > 100 ? 100 : limit), page: i+1)
|
76
|
+
fetched_items += resp['items']
|
77
|
+
limit -= resp['count']
|
78
|
+
break if limit <= 0 || resp['total'] <= fetched_items.length
|
79
|
+
end
|
80
|
+
|
81
|
+
fetched_items
|
54
82
|
end
|
55
83
|
|
56
84
|
def item(collection_id, item_id)
|
data/lib/webflow/version.rb
CHANGED
data/webflow.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
|
12
12
|
spec.summary = %q{Webflow API bindings for Ruby}
|
13
13
|
spec.description = spec.summary
|
14
|
-
spec.homepage = "https://github.com/
|
14
|
+
spec.homepage = "https://github.com/penseo/webflow-ruby"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
@@ -24,9 +24,9 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_dependency "typhoeus"
|
25
25
|
spec.add_dependency "oj"
|
26
26
|
|
27
|
-
spec.add_development_dependency "bundler", "
|
28
|
-
spec.add_development_dependency "rake", "
|
29
|
-
spec.add_development_dependency "minitest", "
|
27
|
+
spec.add_development_dependency "bundler", "> 1.13"
|
28
|
+
spec.add_development_dependency "rake", "> 10.0"
|
29
|
+
spec.add_development_dependency "minitest", "> 5.0"
|
30
30
|
spec.add_development_dependency "byebug"
|
31
31
|
spec.add_development_dependency "vcr"
|
32
32
|
spec.add_development_dependency "webmock"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webflow-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- phoet
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: typhoeus
|
@@ -42,42 +42,42 @@ dependencies:
|
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.13'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.13'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '10.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '10.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: minitest
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '5.0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '5.0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
@@ -131,8 +131,10 @@ extra_rdoc_files: []
|
|
131
131
|
files:
|
132
132
|
- ".gitignore"
|
133
133
|
- ".travis.yml"
|
134
|
+
- CHANGELOG.md
|
134
135
|
- CODE_OF_CONDUCT.md
|
135
136
|
- Gemfile
|
137
|
+
- Gemfile.lock
|
136
138
|
- LICENSE.txt
|
137
139
|
- README.md
|
138
140
|
- Rakefile
|
@@ -143,7 +145,7 @@ files:
|
|
143
145
|
- lib/webflow/ruby.rb
|
144
146
|
- lib/webflow/version.rb
|
145
147
|
- webflow.gemspec
|
146
|
-
homepage: https://github.com/
|
148
|
+
homepage: https://github.com/penseo/webflow-ruby
|
147
149
|
licenses:
|
148
150
|
- MIT
|
149
151
|
metadata: {}
|
@@ -163,7 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
163
165
|
version: '0'
|
164
166
|
requirements: []
|
165
167
|
rubyforge_project:
|
166
|
-
rubygems_version: 2.6
|
168
|
+
rubygems_version: 2.7.6
|
167
169
|
signing_key:
|
168
170
|
specification_version: 4
|
169
171
|
summary: Webflow API bindings for Ruby
|