latergram 1.0.1 → 1.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3fb1550ff17123fe9cc2cd8d74e476bc1a5c45bec8addff05a08c050ef613943
4
- data.tar.gz: bc64f1d3fdf9288c40a8767e8232c40bb59f76852cf4403f2200bf49342811e7
3
+ metadata.gz: 3fba08358ebb3d9c15960d23da7e92670d6b650bc08cb76b733071ceb365363e
4
+ data.tar.gz: 357213d6e29c9d993f4148211da64bf6f3b9b690caffe54141d67fab318790e5
5
5
  SHA512:
6
- metadata.gz: 399657da6ce215155543436cffe99650dc62c3f45db89c8a4fbd7488c5084eabf81ce6d48c616abfc4beac37214f96809755de361c6148413db862dadf611397
7
- data.tar.gz: be2c0f7f61d5a97ef55557e6329777fb39845cc591d1880a70513d7d758c7d7dc06e42902af7511ff4c18078a92f7a9547c1c15105c698dab2f847e26431e9c5
6
+ metadata.gz: 4c85885558cd2792deecd7a9715e615bb0959655e0b853fb142fb1f8f59ec193b5861a352bf53a1d145d27b467dfede6e5d7485c3a5304610b9e746fbbc4e956
7
+ data.tar.gz: a7d77913b858d7b1af2f41d17b1edcbc05c49f3acc2a8047396bc9ca87d18972b87947231bbbff31e64fefd237ff8ee54594b968f3ac883a43d2134439e1f15c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- latergram (1.0.1)
4
+ latergram (1.1.1)
5
5
  faraday (>= 0.9.0)
6
6
  json (~> 2.2)
7
7
 
@@ -10,16 +10,31 @@ GEM
10
10
  specs:
11
11
  ast (2.4.0)
12
12
  diff-lcs (1.3)
13
- faraday (1.0.0)
13
+ faraday (1.5.1)
14
+ faraday-em_http (~> 1.0)
15
+ faraday-em_synchrony (~> 1.0)
16
+ faraday-excon (~> 1.1)
17
+ faraday-httpclient (~> 1.0.1)
18
+ faraday-net_http (~> 1.0)
19
+ faraday-net_http_persistent (~> 1.1)
20
+ faraday-patron (~> 1.0)
14
21
  multipart-post (>= 1.2, < 3)
22
+ ruby2_keywords (>= 0.0.4)
23
+ faraday-em_http (1.0.0)
24
+ faraday-em_synchrony (1.0.0)
25
+ faraday-excon (1.1.0)
26
+ faraday-httpclient (1.0.1)
27
+ faraday-net_http (1.0.1)
28
+ faraday-net_http_persistent (1.2.0)
29
+ faraday-patron (1.0.0)
15
30
  jaro_winkler (1.5.4)
16
- json (2.3.0)
31
+ json (2.5.1)
17
32
  multipart-post (2.1.1)
18
33
  parallel (1.18.0)
19
34
  parser (2.6.5.0)
20
35
  ast (~> 2.4.0)
21
36
  rainbow (3.0.0)
22
- rake (10.5.0)
37
+ rake (13.0.1)
23
38
  rspec (3.9.0)
24
39
  rspec-core (~> 3.9.0)
25
40
  rspec-expectations (~> 3.9.0)
@@ -45,6 +60,7 @@ GEM
45
60
  rubocop-rspec (1.36.0)
46
61
  rubocop (>= 0.68.1)
47
62
  ruby-progressbar (1.10.1)
63
+ ruby2_keywords (0.0.5)
48
64
  unicode-display_width (1.6.0)
49
65
  vcr (5.0.0)
50
66
 
@@ -54,7 +70,7 @@ PLATFORMS
54
70
  DEPENDENCIES
55
71
  bundler (~> 2.0)
56
72
  latergram!
57
- rake (~> 10.0)
73
+ rake (~> 13.0)
58
74
  rspec (~> 3.0)
59
75
  rubocop (= 0.74)
60
76
  rubocop-performance (~> 1.5)
data/latergram.gemspec CHANGED
@@ -12,12 +12,12 @@ Gem::Specification.new do |spec|
12
12
 
13
13
  spec.summary = 'Latergram API Client'
14
14
  spec.description = 'Latergram API Client'
15
- #spec.homepage = ''
15
+ # spec.homepage = ''
16
16
  spec.license = 'MIT'
17
17
 
18
- #spec.metadata['homepage_uri'] = spec.homepage
19
- #spec.metadata['source_code_uri'] = ''
20
- #spec.metadata['changelog_uri'] = ''
18
+ # spec.metadata['homepage_uri'] = spec.homepage
19
+ # spec.metadata['source_code_uri'] = ''
20
+ # spec.metadata['changelog_uri'] = ''
21
21
 
22
22
  # Specify which files should be added to the gem when it is released.
23
23
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.add_runtime_dependency 'json', '~> 2.2'
33
33
 
34
34
  spec.add_development_dependency 'bundler', '~> 2.0'
35
- spec.add_development_dependency 'rake', '~> 10.0'
35
+ spec.add_development_dependency 'rake', '~> 13.0'
36
36
  spec.add_development_dependency 'rspec', '~> 3.0'
37
37
  spec.add_development_dependency 'rubocop', '0.74'
38
38
  spec.add_development_dependency 'rubocop-performance', '~> 1.5'
@@ -30,10 +30,10 @@ module Latergram
30
30
  JSON.parse(response.body)
31
31
  end
32
32
 
33
- def create(text:, image_urls: [])
34
- check_images(image_urls)
33
+ def create(text:, images:)
34
+ check_images(images)
35
35
 
36
- parameters = { publication: { text: text, image_urls: image_urls }.compact }
36
+ parameters = { publication: { text: text, images: images }.compact }
37
37
  response = requester.post(ENDPOINT, parameters)
38
38
 
39
39
  raise Latergram::Error, response.body unless response.status == 200
@@ -60,8 +60,16 @@ module Latergram
60
60
 
61
61
  private
62
62
 
63
- def check_images(image_urls)
64
- raise(Latergram::Error, 'image_urls must be array') unless image_urls.is_a?(Array)
63
+ def check_images(images)
64
+ raise(Latergram::Error, 'images must be array') unless images.is_a?(Array)
65
+ raise(Latergram::Error, 'images cannot be empty') if images.empty?
66
+
67
+ return if images.all? { |image| image.key?(:data) && image.key?(:filename) && image.key?(:content_type) }
68
+
69
+ raise(
70
+ Latergram::Error,
71
+ 'images must contain the following attributes: data (base64 encoded image), filename and content_type'
72
+ )
65
73
  end
66
74
 
67
75
  def requester
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Latergram
4
- VERSION = '1.0.1'
4
+ VERSION = '1.1.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: latergram
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Krasnoperov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-02 00:00:00.000000000 Z
11
+ date: 2021-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: '13.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
- version: '10.0'
68
+ version: '13.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -159,11 +159,11 @@ files:
159
159
  - lib/latergram/publications.rb
160
160
  - lib/latergram/requester.rb
161
161
  - lib/latergram/version.rb
162
- homepage:
162
+ homepage:
163
163
  licenses:
164
164
  - MIT
165
165
  metadata: {}
166
- post_install_message:
166
+ post_install_message:
167
167
  rdoc_options: []
168
168
  require_paths:
169
169
  - lib
@@ -179,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
179
  version: '0'
180
180
  requirements: []
181
181
  rubygems_version: 3.1.2
182
- signing_key:
182
+ signing_key:
183
183
  specification_version: 4
184
184
  summary: Latergram API Client
185
185
  test_files: []