Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 23 additions & 15 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,38 +1,46 @@
require:
- rubocop-rspec
- rubocop-rails

# Enable all new cops by default

AllCops:
Exclude:
- spec/**/*.rb
NewCops: enable
Exclude:
- bin/*
- spec/dummy/bin/*
- spec/dummy/db/schema.rb

Style/StringLiterals:
EnforcedStyle: double_quotes
# Disable not wanted cops

Metrics/AbcSize:
Enabled: false
Metrics/MethodLength:
Enabled: false
Metrics/BlockLength:
Enabled: false
Metrics/ClassLength:
Enabled: false
Style/Documentation:
Enabled: false
Metrics/BlockLength:
Enabled: false
Metrics/CyclomaticComplexity:
Enabled: false
Metrics/PerceivedComplexity:
Enabled: false

Layout/LineLength:
IgnoredPatterns: ['(\A|\s)#']

Style/AsciiComments:
Rails/ContentTag:
Enabled: false
Style/HashAsLastArrayItem:
Enabled: false
Naming/VariableNumber:
Enabled: false
Gemspec/DevelopmentDependencies:
Enabled: false

# Prefer to use brackets on symbol arrays

Style/SymbolArray:
EnforcedStyle: brackets

# disable Gemspec/DevelopmentDependencies
Gemspec/DevelopmentDependencies:
Enabled: false
# Prefer to use always lambda literals (->)

Style/Lambda:
EnforcedStyle: literal
12 changes: 7 additions & 5 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
# frozen_string_literal: true

source "https://rubygems.org"
source 'https://rubygems.org'

# Specify your gem's dependencies in beyond_api.gemspec
gemspec

gem "pry"
gem 'pry'

group :development do
gem "rubocop"
gem 'rubocop'
end

group :test do
gem "factory_bot"
gem "webmock"
gem 'factory_bot'
gem 'jwt'
gem 'vcr'
gem 'webmock'
end
31 changes: 22 additions & 9 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,24 @@ PATH
GEM
remote: https://rubygems.org/
specs:
activesupport (7.1.3.4)
activesupport (7.2.0)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
ast (2.4.2)
base64 (0.2.0)
bigdecimal (3.1.8)
coderay (1.1.3)
concurrent-ruby (1.3.3)
concurrent-ruby (1.3.4)
connection_pool (2.4.1)
crack (1.0.0)
bigdecimal
Expand All @@ -49,26 +50,28 @@ GEM
i18n (1.14.5)
concurrent-ruby (~> 1.0)
json (2.7.2)
jwt (2.8.2)
base64
language_server-protocol (3.17.0.3)
logger (1.6.0)
method_source (1.1.0)
minitest (5.24.1)
mutex_m (0.2.0)
net-http (0.4.1)
uri
parallel (1.25.1)
parser (3.3.4.0)
parallel (1.26.2)
parser (3.3.4.2)
ast (~> 2.4.1)
racc
pry (0.14.2)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (6.0.1)
racc (1.8.1)
rack (3.1.7)
rainbow (3.1.1)
rake (10.5.0)
regexp_parser (2.9.2)
rexml (3.3.4)
rexml (3.3.5)
strscan
rspec (3.13.0)
rspec-core (~> 3.13.0)
Expand Down Expand Up @@ -100,6 +103,11 @@ GEM
rubocop (~> 1.41)
rubocop-factory_bot (2.26.1)
rubocop (~> 1.61)
rubocop-rails (2.25.1)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
rubocop-rspec (2.31.0)
rubocop (~> 1.40)
rubocop-capybara (~> 2.17)
Expand All @@ -108,11 +116,13 @@ GEM
rubocop-rspec_rails (2.29.1)
rubocop (~> 1.61)
ruby-progressbar (1.13.0)
securerandom (0.3.1)
strscan (3.1.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (2.5.0)
uri (0.13.0)
vcr (6.2.0)
webmock (3.23.1)
addressable (>= 2.8.0)
crack (>= 0.3.2)
Expand All @@ -130,11 +140,14 @@ DEPENDENCIES
dotenv (~> 2.7)
factory_bot
faker (~> 2.2)
jwt
pry
rake (~> 10.0)
rspec (~> 3.0)
rubocop
rubocop-rails (~> 2.14)
rubocop-rspec (~> 2.4)
vcr
webmock
yard (~> 0.9)

Expand Down
8 changes: 4 additions & 4 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# frozen_string_literal: true

require "bundler/gem_tasks"
require "rspec/core/rake_task"
require "yard"
require 'bundler/gem_tasks'
require 'rspec/core/rake_task'
require 'yard'

RSpec::Core::RakeTask.new(:spec)

task default: :spec

YARD::Rake::YardocTask.new do |t|
t.files = ["lib/**/*.rb"]
t.files = ['lib/**/*.rb']
end
45 changes: 23 additions & 22 deletions beyond_api.gemspec
Original file line number Diff line number Diff line change
@@ -1,38 +1,39 @@
# frozen_string_literal: true

lib = File.expand_path("lib", __dir__)
lib = File.expand_path('lib', __dir__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require "beyond_api/version"
require 'beyond_api/version'

Gem::Specification.new do |spec|
spec.name = "beyond_api"
spec.name = 'beyond_api'
spec.version = BeyondApi::VERSION
spec.authors = ["Unai Abrisketa", "Kathia Salazar", "German San Emeterio", "Kenneth Gallego", "Andrés Bernardi"]
spec.summary = "Ruby client to access the Beyond API"
spec.homepage = "https://github.com/ePages-de/beyond_api-ruby_client"
spec.authors = ['Unai Abrisketa', 'Kathia Salazar', 'German San Emeterio', 'Kenneth Gallego', 'Andrés Bernardi']
spec.summary = 'Ruby client to access the Beyond API'
spec.homepage = 'https://github.com/ePages-de/beyond_api-ruby_client'

spec.files = Dir.chdir(File.expand_path(__dir__)) do
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
end
spec.bindir = "exe"
spec.bindir = 'exe'
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]
spec.require_paths = ['lib']

spec.required_ruby_version = ">= 3.0"
spec.required_ruby_version = '>= 3.3'

spec.add_development_dependency "bundler", "~> 2.0"
spec.add_development_dependency "dotenv", "~> 2.7"
spec.add_development_dependency "faker", "~> 2.2"
spec.add_development_dependency "rake", "~> 10.0"
spec.add_development_dependency "rspec", "~> 3.0"
spec.add_development_dependency "rubocop", "~> 1.20"
spec.add_development_dependency "rubocop-rspec", "~> 2.4"
spec.add_development_dependency "yard", "~> 0.9"
spec.add_development_dependency 'bundler', '~> 2.0'
spec.add_development_dependency 'dotenv', '~> 2.7'
spec.add_development_dependency 'faker', '~> 2.2'
spec.add_development_dependency 'rake', '~> 10.0'
spec.add_development_dependency 'rspec', '~> 3.0'
spec.add_development_dependency 'rubocop', '~> 1.20'
spec.add_development_dependency 'rubocop-rails', '~> 2.14'
spec.add_development_dependency 'rubocop-rspec', '~> 2.4'
spec.add_development_dependency 'yard', '~> 0.9'

spec.add_dependency "activesupport", "~> 7.0"
spec.add_dependency "faraday", "~> 2.10.0"
spec.add_dependency "faraday-retry"
spec.add_dependency "zeitwerk"
spec.add_dependency 'activesupport', '~> 7.0'
spec.add_dependency 'faraday', '~> 2.10.0'
spec.add_dependency 'faraday-retry'
spec.add_dependency 'zeitwerk'

spec.metadata["rubygems_mfa_required"] = "true"
spec.metadata['rubygems_mfa_required'] = 'true'
end
3 changes: 0 additions & 3 deletions bin/console
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ unless ENV["CLIENT_ID"].nil? && ENV["CLIENT_SECRET"].nil?
BeyondApi.setup do |config|
config.client_id = ENV["CLIENT_ID"]
config.client_secret = ENV["CLIENT_SECRET"]
config.remove_response_links = true
config.remove_response_key_underscores = true
config.object_struct_responses = false
end
end

Expand Down
12 changes: 6 additions & 6 deletions lib/beyond_api.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# frozen_string_literal: true

require "active_support/all"
require "faraday"
require "faraday/retry"
require "forwardable"
require "json"
require "zeitwerk"
require 'active_support/all'
require 'faraday'
require 'faraday/retry'
require 'forwardable'
require 'json'
require 'zeitwerk'

module BeyondApi
loader = Zeitwerk::Loader.for_gem
Expand Down
2 changes: 2 additions & 0 deletions lib/beyond_api/all_pages_handler.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# frozen_string_literal: true

module BeyondApi
class AllPagesHandler
include Concerns::Connection
Expand Down
17 changes: 13 additions & 4 deletions lib/beyond_api/concerns/connection.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,15 @@ def get(path, params = {})
handle_request { agent.get(path, parse_request(params)) }
end

def put(path, body = {}, params = {})
handle_request do
agent.put(path, body) do |request|
request.params = parse_request(params)
request.body = parse_request(body)
end
end
end

def post(path, body = {}, params = {})
handle_request do
agent.post(path, body) do |request|
Expand Down Expand Up @@ -45,13 +54,13 @@ def agent
# Authorization
faraday.request :authorization, *authorization_config
# Headers
faraday.headers["Accept"] = "application/json" # Set default accept header
faraday.headers["Content-Type"] = "application/json" # Set default content type
faraday.headers['Accept'] = 'application/json' # Set default accept header
faraday.headers['Content-Type'] = 'application/json' # Set default content type
# Request options
faraday.request :json # Encode request bodies as JSON
faraday.request :retry, BeyondApi.configuration.retry_options
# Response options
faraday.response :json, content_type: "application/json"
faraday.response :json, content_type: 'application/json'
faraday.response :logger, *logger_config { |logger| apply_filters(logger) }
end
end
Expand All @@ -61,7 +70,7 @@ def authorization_config
when :basic
[:basic, BeyondApi.configuration.client_id, BeyondApi.configuration.client_secret]
when :bearer
["Bearer", @session.access_token]
['Bearer', @session.access_token]
end
end

Expand Down
2 changes: 2 additions & 0 deletions lib/beyond_api/configuration.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# frozen_string_literal: true

module BeyondApi
class Configuration
attr_accessor :client_id, :client_secret,
Expand Down
2 changes: 1 addition & 1 deletion lib/beyond_api/response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def parsed_response
end

def remove_initial_underscore(key)
key.to_s.starts_with?("_") ? key[1..] : key
key.to_s.starts_with?('_') ? key[1..] : key
end

def snake_case_key(key)
Expand Down
10 changes: 6 additions & 4 deletions lib/beyond_api/services/authentication/signer.rb
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
# frozen_string_literal: true

module BeyondApi
module Authentication
class Signer < BaseService
def all(params = {})
get("signers", params)
get('signers', params)
end

def create
post("signers")
post('signers')
end

def destroy(id)
delete("signers/#{id}")
def delete(id)
super("signers/#{id}") # Concerns::Connection delete method
end
end
end
Expand Down
Loading