socialfred 0.1.0 → 1.0.0

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: e085d474bfac2bac95646e7507665360669aee8e48dd282ee128cb3421f813ef
4
- data.tar.gz: 21e8334d24072e40e49dc8e01d2d5bf7dc7ad03ea1df72a31404199a938f39a7
3
+ metadata.gz: bf0f7c212bcfde1137b710b1555eae73ac0fd25a6551d98401820693456576d0
4
+ data.tar.gz: eae0c693bcbc04d4ba0d92914c5bfb8662194932435aea0b64a6118a42660a51
5
5
  SHA512:
6
- metadata.gz: cb9322c4e1589f15a3c2fc58d994b7b84c483fb81bf9de859f02bf2dc8fc5bbbb6313b33bbe540de6e00942c54bbaf2505f5533bdbd6ab73cafcf370dc0a35b4
7
- data.tar.gz: 25d458e2733bc0e00206f809c1de24904f3e4cf9bfbbf575be43fcdd36f2138640e5303e9fef51286ffbc68bb8320da52238ecbb2468a75f448ed662b372df25
6
+ metadata.gz: e15d2266d35b8eff226eecfb951ec306a21ba7715abeab6838fa46778eaa5d59f1c65b0456fb7ceb3f003f22034b365c2d7c4d678a3a4d8f76c9c62e87296ba2
7
+ data.tar.gz: 4060f94ec07eb8fa953442dc76e12157afa1977c8d87ac76c0a58f5818c3e591ee343a6ca8a6c4421a591b064583f5413ee8afd7fb8ccf543c14ebeda9d252f0
@@ -0,0 +1,4 @@
1
+ plugins:
2
+ rubocop:
3
+ enabled: true
4
+ channel: rubocop-0-74
@@ -0,0 +1,44 @@
1
+ require:
2
+ - rubocop-performance
3
+ - rubocop-rspec
4
+
5
+ Style/Documentation:
6
+ Enabled: false
7
+
8
+ Metrics/LineLength:
9
+ Max: 120
10
+
11
+ Metrics/BlockLength:
12
+ Exclude:
13
+ - 'spec/**/*'
14
+ - '**/*.gemspec'
15
+
16
+ ### DEFAULT RULES
17
+ Layout/EmptyLinesAroundAttributeAccessor:
18
+ Enabled: true
19
+ Layout/SpaceAroundMethodCallOperator:
20
+ Enabled: true
21
+ Lint/DeprecatedOpenSSLConstant:
22
+ Enabled: true
23
+ Lint/MixedRegexpCaptureTypes:
24
+ Enabled: true
25
+ Lint/RaiseException:
26
+ Enabled: true
27
+ Lint/StructNewOverride:
28
+ Enabled: true
29
+ Style/ExponentialNotation:
30
+ Enabled: true
31
+ Style/HashEachMethods:
32
+ Enabled: true
33
+ Style/HashTransformKeys:
34
+ Enabled: true
35
+ Style/HashTransformValues:
36
+ Enabled: true
37
+ Style/RedundantFetchBlock:
38
+ Enabled: true
39
+ Style/RedundantRegexpCharacterClass:
40
+ Enabled: true
41
+ Style/RedundantRegexpEscape:
42
+ Enabled: true
43
+ Style/SlicingWithRange:
44
+ Enabled: true
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
- source "https://rubygems.org"
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in socialfred.gemspec
4
6
  gemspec
@@ -0,0 +1,70 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ socialfred (1.0.0)
5
+ faraday (>= 0.9.0)
6
+ json (~> 2.2)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ ast (2.4.1)
12
+ diff-lcs (1.3)
13
+ faraday (1.0.1)
14
+ multipart-post (>= 1.2, < 3)
15
+ json (2.3.1)
16
+ multipart-post (2.1.1)
17
+ parallel (1.19.2)
18
+ parser (2.7.1.4)
19
+ ast (~> 2.4.1)
20
+ rainbow (3.0.0)
21
+ rake (13.0.1)
22
+ regexp_parser (1.7.1)
23
+ rexml (3.2.4)
24
+ rspec (3.9.0)
25
+ rspec-core (~> 3.9.0)
26
+ rspec-expectations (~> 3.9.0)
27
+ rspec-mocks (~> 3.9.0)
28
+ rspec-core (3.9.0)
29
+ rspec-support (~> 3.9.0)
30
+ rspec-expectations (3.9.0)
31
+ diff-lcs (>= 1.2.0, < 2.0)
32
+ rspec-support (~> 3.9.0)
33
+ rspec-mocks (3.9.0)
34
+ diff-lcs (>= 1.2.0, < 2.0)
35
+ rspec-support (~> 3.9.0)
36
+ rspec-support (3.9.0)
37
+ rubocop (0.86.0)
38
+ parallel (~> 1.10)
39
+ parser (>= 2.7.0.1)
40
+ rainbow (>= 2.2.2, < 4.0)
41
+ regexp_parser (>= 1.7)
42
+ rexml
43
+ rubocop-ast (>= 0.0.3, < 1.0)
44
+ ruby-progressbar (~> 1.7)
45
+ unicode-display_width (>= 1.4.0, < 2.0)
46
+ rubocop-ast (0.1.0)
47
+ parser (>= 2.7.0.1)
48
+ rubocop-performance (1.6.1)
49
+ rubocop (>= 0.71.0)
50
+ rubocop-rspec (1.40.0)
51
+ rubocop (>= 0.68.1)
52
+ ruby-progressbar (1.10.1)
53
+ unicode-display_width (1.7.0)
54
+ vcr (5.0.0)
55
+
56
+ PLATFORMS
57
+ ruby
58
+
59
+ DEPENDENCIES
60
+ bundler (~> 2.0)
61
+ rake (~> 13.0)
62
+ rspec (~> 3.0)
63
+ rubocop (~> 0.86.0)
64
+ rubocop-performance (~> 1.6.1)
65
+ rubocop-rspec (~> 1.40.0)
66
+ socialfred!
67
+ vcr (~> 5.0)
68
+
69
+ BUNDLED WITH
70
+ 2.1.2
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Socialfred
1
+ # Socialfred [![Build Status](https://travis-ci.org/SocialFred/socialfred.svg?branch=master)](https://travis-ci.org/SocialFred/socialfred) [![Maintainability](https://api.codeclimate.com/v1/badges/2cd817600f03aeee7c79/maintainability)](https://codeclimate.com/github/SocialFred/socialfred/maintainability)
2
2
 
3
3
  Social Fred API Client
4
4
 
@@ -20,7 +20,169 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
 
23
- TODO: Write usage instructions
23
+ ### API Client
24
+
25
+ ```ruby
26
+ api = Socialfred::Api.new(api_key)
27
+ ```
28
+
29
+ ### Social Posts
30
+
31
+ #### Create a social post
32
+
33
+ ```ruby
34
+ image1 = {data: Base64.encode64(image.download), filename: 'image.jpeg', content_type: 'image/jpeg'}
35
+ # ...
36
+ api.publications.create(
37
+ publish_at: Time.now,
38
+ text: "example text",
39
+ images: [image1, image2],
40
+ options: {
41
+ telegram: {
42
+ alternative_text: "Telegram Alternative Text",
43
+ reply_markup: {
44
+ inline_keyboard: [
45
+ [{text: 'Button', url: 'button_url'}]
46
+ ]
47
+ }
48
+ }
49
+ }
50
+ )
51
+ ```
52
+
53
+ Response:
54
+
55
+ ```ruby
56
+ {
57
+ 'data' => {
58
+ 'id' => '99',
59
+ 'type' => 'publication',
60
+ 'attributes' => {
61
+ 'text' => 'example text',
62
+ 'created_at' => '2019-10-30T23:54:12.147+01:00',
63
+ 'updated_at' => '2019-10-30T23:54:12.192+01:00',
64
+ 'status' => 'new',
65
+ 'published_at' => '2045-06-01T12:05:00.000+01:00'
66
+ }
67
+ }
68
+ }
69
+ ```
70
+
71
+ #### Update a social post
72
+
73
+ ```ruby
74
+ api.publications.update(99, text: 'another text')
75
+ ```
76
+
77
+ Response:
78
+
79
+ ```ruby
80
+ {
81
+ 'data' => {
82
+ 'id' => '99',
83
+ 'type' => 'publication',
84
+ 'attributes' => {
85
+ 'text' => 'another text',
86
+ 'created_at' => '2019-10-30T23:54:12.147+01:00',
87
+ 'updated_at' => '2019-10-31T00:01:58.128+01:00',
88
+ 'status' => 'new',
89
+ 'published_at' => '2045-06-01T12:05:00.000+01:00'
90
+ }
91
+ }
92
+ }
93
+ ```
94
+
95
+ #### Destroy a social post
96
+
97
+ ```ruby
98
+ api.publications.destroy(99)
99
+ ```
100
+
101
+ Response:
102
+
103
+ ```ruby
104
+ {
105
+ 'data' => {
106
+ 'id' => '99',
107
+ 'type' => 'publication',
108
+ 'attributes' => {
109
+ 'text' => 'another text',
110
+ 'created_at' => '2019-10-30T23:54:12.147+01:00',
111
+ 'updated_at' => '2019-10-31T00:03:30.973+01:00',
112
+ 'status' => 'to_be_deleted',
113
+ 'published_at' => '2045-06-01T12:05:00.000+01:00'
114
+ }
115
+ }
116
+ }
117
+ ```
118
+
119
+ #### List all social posts
120
+
121
+ ```ruby
122
+ api.publications.all(page: 1, per_page: 10)
123
+ ```
124
+
125
+ Response:
126
+
127
+ ```ruby
128
+ {
129
+ 'data' => [
130
+ {
131
+ 'id' => '98',
132
+ 'type' => 'publication',
133
+ 'attributes' => {
134
+ 'text' => 'test1',
135
+ 'created_at' => '2019-10-30T20:54:14.960+01:00',
136
+ 'updated_at' => '2019-10-30T20:54:15.011+01:00',
137
+ 'status' => 'new',
138
+ 'published_at' => '2019-10-30T20:59:14.000+01:00'
139
+ }
140
+ },
141
+ # ...
142
+ {
143
+ 'id' => '95',
144
+ 'type' => 'publication',
145
+ 'attributes' => {
146
+ 'text' => 'test2',
147
+ 'created_at' => '2019-10-29T22:46:35.857+01:00',
148
+ 'updated_at' => '2019-10-29T23:46:41.645+01:00',
149
+ 'status' => 'published',
150
+ 'published_at' => '2019-10-29T23:46:35.000+01:00'
151
+ }
152
+ }
153
+ ],
154
+ 'links' => {
155
+ 'first' => 'https://api.socialfred.com/publications?page=1&per_page=10',
156
+ 'last' => 'https://api.socialfred.com/publications?page=26&per_page=10',
157
+ 'next' => 'https://api.socialfred.com/publications?page=2&per_page=10'
158
+ },
159
+ 'meta' => { 'total' => 51 }
160
+ }
161
+ ```
162
+
163
+ #### Find one social post
164
+
165
+ ```ruby
166
+ api.publications.find(95)
167
+ ```
168
+
169
+ Response:
170
+
171
+ ```ruby
172
+ {
173
+ 'data' => {
174
+ 'id' => '95',
175
+ 'type' => 'publication',
176
+ 'attributes' => {
177
+ 'text' => 'test2',
178
+ 'created_at' => '2019-10-29T22:46:35.857+01:00',
179
+ 'updated_at' => '2019-10-29T23:46:41.645+01:00',
180
+ 'status' => 'published',
181
+ 'published_at' => '2019-10-29T23:46:35.000+01:00'
182
+ }
183
+ }
184
+ }
185
+ ```
24
186
 
25
187
  ## Development
26
188
 
data/Rakefile CHANGED
@@ -1,6 +1,8 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
3
5
 
4
6
  RSpec::Core::RakeTask.new(:spec)
5
7
 
6
- task :default => :spec
8
+ task default: :spec
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
- require "bundler/setup"
4
- require "socialfred"
4
+ require 'bundler/setup'
5
+ require 'socialfred'
5
6
 
6
7
  # You can add fixtures and/or initialization code here to make experimenting
7
8
  # with your gem easier. You can also use a different console, if you like.
@@ -10,5 +11,5 @@ require "socialfred"
10
11
  # require "pry"
11
12
  # Pry.start
12
13
 
13
- require "irb"
14
+ require 'irb'
14
15
  IRB.start(__FILE__)
@@ -1,4 +1,10 @@
1
- require "socialfred/version"
1
+ # frozen_string_literal: true
2
+
3
+ require 'socialfred/version'
4
+
5
+ require 'socialfred/api'
6
+
7
+ require 'json'
2
8
 
3
9
  module Socialfred
4
10
  class Error < StandardError; end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'socialfred/publications'
4
+
5
+ module Socialfred
6
+ class Api
7
+ attr_reader :api_key, :api_url
8
+
9
+ API_URL = 'https://api.socialfred.com/'
10
+
11
+ def initialize(api_key, api_url: API_URL)
12
+ @api_key = api_key
13
+ @api_url = api_url
14
+ end
15
+
16
+ def publications
17
+ @publications ||= Publications.new(api_key, api_url: api_url)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'socialfred/requester'
4
+ require 'time'
5
+
6
+ module Socialfred
7
+ class Publications
8
+ attr_reader :api_key, :api_url
9
+
10
+ ENDPOINT = 'publications'
11
+
12
+ def initialize(api_key, api_url:)
13
+ @api_key = api_key
14
+ @api_url = api_url
15
+ end
16
+
17
+ def all(page: 1, per_page: 10)
18
+ response = requester.get(ENDPOINT, page: page, per_page: per_page)
19
+
20
+ raise Socialfred::Error unless response.status == 200
21
+
22
+ JSON.parse(response.body)
23
+ end
24
+
25
+ def find(publication_id)
26
+ response = requester.get(ENDPOINT + "/#{publication_id}")
27
+
28
+ raise Socialfred::Error unless response.status == 200
29
+
30
+ JSON.parse(response.body)
31
+ end
32
+
33
+ def create(publish_at: nil, text:, images: nil, options: nil)
34
+ check_images(images) if images
35
+
36
+ publish_at = Time.parse(publish_at.to_s).iso8601 if publish_at
37
+ parameters = { publication: { published_at: publish_at, text: text, images: images, options: options }.compact }
38
+ response = requester.post(ENDPOINT, parameters)
39
+
40
+ raise Socialfred::Error, response.body unless response.status == 200
41
+
42
+ JSON.parse(response.body)
43
+ end
44
+
45
+ def update(publication_id, publish_at: nil, text: nil, images: nil, options: nil)
46
+ check_images(images) if images
47
+
48
+ publish_at = Time.parse(publish_at.to_s).iso8601 if publish_at
49
+ parameters = { publication: { published_at: publish_at, text: text, images: images, options: options }.compact }
50
+ response = requester.put(ENDPOINT + "/#{publication_id}", parameters)
51
+
52
+ raise Socialfred::Error unless response.status == 200
53
+
54
+ JSON.parse(response.body)
55
+ end
56
+
57
+ def destroy(publication_id)
58
+ response = requester.delete(ENDPOINT + "/#{publication_id}")
59
+
60
+ raise Socialfred::Error unless response.status == 200
61
+
62
+ JSON.parse(response.body)
63
+ end
64
+
65
+ private
66
+
67
+ def check_images(images)
68
+ raise(Socialfred::Error, 'images must be array') unless images.is_a?(Array)
69
+ return if images.all? { |image| image.key?(:data) && image.key?(:filename) && image.key?(:content_type) }
70
+
71
+ raise(
72
+ Socialfred::Error,
73
+ 'images must contain the following attributes: data (base64 encoded image), filename and content_type'
74
+ )
75
+ end
76
+
77
+ def requester
78
+ @requester ||= Requester.new(api_key, api_url)
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'faraday'
4
+
5
+ module Socialfred
6
+ class Requester
7
+ attr_reader :api_key, :api_url
8
+
9
+ CONTENT_TYPE = 'application/json'
10
+
11
+ def initialize(api_key, api_url)
12
+ @api_key = api_key
13
+ @api_url = api_url
14
+ end
15
+
16
+ def get(endpoint, parameters = nil)
17
+ conn.get(endpoint, parameters) do |req|
18
+ req.headers[:content_type] = CONTENT_TYPE
19
+ end
20
+ end
21
+
22
+ def post(endpoint, parameters = nil)
23
+ conn.post(endpoint) do |req|
24
+ req.headers[:content_type] = CONTENT_TYPE
25
+ req.body = JSON.generate(parameters)
26
+ end
27
+ end
28
+
29
+ def put(endpoint, parameters = nil)
30
+ conn.put(endpoint) do |req|
31
+ req.headers[:content_type] = CONTENT_TYPE
32
+ req.body = JSON.generate(parameters)
33
+ end
34
+ end
35
+
36
+ def delete(endpoint)
37
+ conn.delete(endpoint) do |req|
38
+ req.headers[:content_type] = CONTENT_TYPE
39
+ end
40
+ end
41
+
42
+ private
43
+
44
+ def conn
45
+ @conn ||= Faraday.new(url: api_url) do |faraday|
46
+ faraday.adapter Faraday.default_adapter
47
+ faraday.headers['Api-Key'] = api_key
48
+ end
49
+ end
50
+ end
51
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Socialfred
2
- VERSION = "0.1.0"
4
+ VERSION = '1.0.0'
3
5
  end
@@ -1,32 +1,41 @@
1
- lib = File.expand_path("lib", __dir__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require "socialfred/version"
5
+ require 'socialfred/version'
4
6
 
5
7
  Gem::Specification.new do |spec|
6
- spec.name = "socialfred"
8
+ spec.name = 'socialfred'
7
9
  spec.version = Socialfred::VERSION
8
- spec.authors = ["Alexey Krasnoperov"]
9
- spec.email = ["info@socialfred.com"]
10
+ spec.authors = ['Alexey Krasnoperov']
11
+ spec.email = ['info@socialfred.com']
10
12
 
11
- spec.summary = %q{Social Fred API Client}
12
- spec.description = %q{Social Fred API Client: schedule social posts to multiple social networks}
13
- spec.homepage = "https://github.com/SocialFred/socialfred"
14
- spec.license = "MIT"
13
+ spec.summary = 'Social Fred API Client'
14
+ spec.description = 'Social Fred API Client: schedule social posts to multiple social networks'
15
+ spec.homepage = 'https://github.com/socialfred/socialfred'
16
+ spec.license = 'MIT'
15
17
 
16
- spec.metadata["homepage_uri"] = spec.homepage
17
- spec.metadata["source_code_uri"] = "https://github.com/SocialFred/socialfred"
18
- spec.metadata["changelog_uri"] = "https://github.com/SocialFred/socialfred"
18
+ spec.metadata['homepage_uri'] = spec.homepage
19
+ spec.metadata['source_code_uri'] = 'https://github.com/socialfred/socialfred'
20
+ spec.metadata['changelog_uri'] = 'https://github.com/socialfred/socialfred'
19
21
 
20
22
  # Specify which files should be added to the gem when it is released.
21
23
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
22
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
24
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
23
25
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
24
26
  end
25
- spec.bindir = "exe"
27
+ spec.bindir = 'exe'
26
28
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
- spec.require_paths = ["lib"]
29
+ spec.require_paths = ['lib']
30
+
31
+ spec.add_runtime_dependency 'faraday', '>= 0.9.0'
32
+ spec.add_runtime_dependency 'json', '~> 2.2'
28
33
 
29
- spec.add_development_dependency "bundler", "~> 2.0"
30
- spec.add_development_dependency "rake", "~> 10.0"
31
- spec.add_development_dependency "rspec", "~> 3.0"
34
+ spec.add_development_dependency 'bundler', '~> 2.0'
35
+ spec.add_development_dependency 'rake', '~> 13.0'
36
+ spec.add_development_dependency 'rspec', '~> 3.0'
37
+ spec.add_development_dependency 'rubocop', '~> 0.86.0'
38
+ spec.add_development_dependency 'rubocop-performance', '~> 1.6.1'
39
+ spec.add_development_dependency 'rubocop-rspec', '~> 1.40.0'
40
+ spec.add_development_dependency 'vcr', '~> 5.0'
32
41
  end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: socialfred
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Krasnoperov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-27 00:00:00.000000000 Z
11
+ date: 2020-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: faraday
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.9.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 0.9.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.2'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.2'
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: bundler
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -30,14 +58,14 @@ dependencies:
30
58
  requirements:
31
59
  - - "~>"
32
60
  - !ruby/object:Gem::Version
33
- version: '10.0'
61
+ version: '13.0'
34
62
  type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
66
  - - "~>"
39
67
  - !ruby/object:Gem::Version
40
- version: '10.0'
68
+ version: '13.0'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: rspec
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +80,62 @@ dependencies:
52
80
  - - "~>"
53
81
  - !ruby/object:Gem::Version
54
82
  version: '3.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.86.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.86.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop-performance
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 1.6.1
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 1.6.1
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubocop-rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 1.40.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 1.40.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: vcr
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '5.0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '5.0'
55
139
  description: 'Social Fred API Client: schedule social posts to multiple social networks'
56
140
  email:
57
141
  - info@socialfred.com
@@ -59,25 +143,31 @@ executables: []
59
143
  extensions: []
60
144
  extra_rdoc_files: []
61
145
  files:
146
+ - ".codeclimate.yml"
62
147
  - ".gitignore"
63
148
  - ".rspec"
149
+ - ".rubocop.yml"
64
150
  - ".travis.yml"
65
151
  - Gemfile
152
+ - Gemfile.lock
66
153
  - LICENSE.txt
67
154
  - README.md
68
155
  - Rakefile
69
156
  - bin/console
70
157
  - bin/setup
71
158
  - lib/socialfred.rb
159
+ - lib/socialfred/api.rb
160
+ - lib/socialfred/publications.rb
161
+ - lib/socialfred/requester.rb
72
162
  - lib/socialfred/version.rb
73
163
  - socialfred.gemspec
74
- homepage: https://github.com/SocialFred/socialfred
164
+ homepage: https://github.com/socialfred/socialfred
75
165
  licenses:
76
166
  - MIT
77
167
  metadata:
78
- homepage_uri: https://github.com/SocialFred/socialfred
79
- source_code_uri: https://github.com/SocialFred/socialfred
80
- changelog_uri: https://github.com/SocialFred/socialfred
168
+ homepage_uri: https://github.com/socialfred/socialfred
169
+ source_code_uri: https://github.com/socialfred/socialfred
170
+ changelog_uri: https://github.com/socialfred/socialfred
81
171
  post_install_message:
82
172
  rdoc_options: []
83
173
  require_paths:
@@ -93,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
183
  - !ruby/object:Gem::Version
94
184
  version: '0'
95
185
  requirements: []
96
- rubygems_version: 3.0.3
186
+ rubygems_version: 3.1.2
97
187
  signing_key:
98
188
  specification_version: 4
99
189
  summary: Social Fred API Client