latergram 1.0.1 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
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: []