Skip to content
Open
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
2 changes: 1 addition & 1 deletion .ruby-gemset
Original file line number Diff line number Diff line change
@@ -1 +1 @@
tokyo_api
-global
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this doesn't seem right?

2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.4.5
4.0.1
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Changelog

## [1.11.0] - 2026-02-11

### Added
- Added `faraday ~> 2.0` as explicit runtime dependency
- Added `faraday-mashify ~> 1.0` as explicit runtime dependency
- Added `rake ~> 13.0` as development dependency
- Added `require 'faraday/mashify'` to main library file

### Updates
- Upgraded from Ruby 3.4.5 to Ruby 4.0.1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the gemspec it says the required ruby version is '>= 3.0.0'. If that's true, then I believe the change is "add support for ruby 4"

- Updated vertebrae dependency to >= 1.0.5 for Faraday 2.x compatibility
- Modernized gemspec file with proper dependency declarations
16 changes: 3 additions & 13 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
# frozen_string_literal: true

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

gem 'vertebrae', '< 1'

# Add dependencies to develop your gem here.
# Include everything needed to run rake, tests, features, etc.
group :development do
gem 'bundler'
gem 'byebug'
gem 'juwelier', git: 'https://github.com/flajann2/juwelier.git'
gem 'rspec'
gem 'rubocop'
gem 'webmock'
end
# Specify your gem's dependencies in tokyo_api.gemspec
gemspec
45 changes: 2 additions & 43 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,49 +1,8 @@
# frozen_string_literal: true

require 'rubygems'
require 'bundler'
begin
Bundler.setup(:default, :development)
rescue Bundler::BundlerError => e
warn e.message
warn 'Run `bundle install` to install missing gems'
exit e.status_code
end
require 'rake'

require 'juwelier'
Juwelier::Tasks.new do |gem|
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
gem.name = 'tokyo_api'
gem.homepage = 'http://github.com/controlshift/tokyo_api'
gem.license = 'MIT'
gem.summary = 'Ruby API Wrapper for Tokyo CRM service'
gem.description = 'Tokyo is a CRM middleware, this gem helps apps talk to it.'
gem.email = 'nathan@controlshiftlabs.com'
gem.authors = ['Nathan Woodhull']
# dependencies defined in Gemfile
end
Juwelier::RubygemsDotOrgTasks.new

require 'rspec/core'
require 'bundler/gem_tasks'
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec) do |spec|
spec.pattern = FileList['spec/**/*_spec.rb']
end

RSpec::Core::RakeTask.new(:rcov) do |spec|
spec.pattern = 'spec/**/*_spec.rb'
spec.rcov = true
end
RSpec::Core::RakeTask.new(:spec)

task default: :spec

require 'rdoc/task'
Rake::RDocTask.new do |rdoc|
version = File.exist?('VERSION') ? File.read('VERSION') : ''

rdoc.rdoc_dir = 'rdoc'
rdoc.title = "tokyo_api #{version}"
rdoc.rdoc_files.include('README*')
rdoc.rdoc_files.include('lib/**/*.rb')
end
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.10.0
1.11.0
1 change: 1 addition & 0 deletions lib/tokyo_api.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# frozen_string_literal: true

require 'vertebrae'
require 'faraday/mashify'
require 'tokyo_api/base'
require 'tokyo_api/actionkit'
require 'tokyo_api/campact'
Expand Down
20 changes: 9 additions & 11 deletions lib/tokyo_api/client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -57,21 +57,19 @@ def request(method, path, params, options) # :nodoc:
end

def setup
connection.stack do |builder|
builder.use Faraday::Request::Multipart
builder.use Faraday::Request::UrlEncoded
connection.faraday_connection = Faraday.new(connection.configuration.faraday_options) do |f|
f.request :multipart
f.request :url_encoded
if connection.configuration.authenticated?
builder.use Faraday::Request::BasicAuthentication, connection.configuration.username,
connection.configuration.password
f.request :authorization, :basic, connection.configuration.username, connection.configuration.password
end

builder.use Faraday::Response::Logger if ENV['DEBUG']
f.response :logger if ENV['DEBUG']
f.response :mashify
f.response :json

builder.use FaradayMiddleware::Mashify
builder.use FaradayMiddleware::ParseJson

builder.use Vertebrae::Response::RaiseError
builder.adapter connection.configuration.adapter
f.use Vertebrae::Response::RaiseError
f.adapter connection.configuration.adapter
end
end
end
Expand Down
111 changes: 32 additions & 79 deletions tokyo_api.gemspec
Original file line number Diff line number Diff line change
@@ -1,85 +1,38 @@
# Generated by juwelier
# DO NOT EDIT THIS FILE DIRECTLY
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
# -*- encoding: utf-8 -*-
# stub: tokyo_api 1.9.0 ruby lib
# frozen_string_literal: true

Gem::Specification.new do |s|
s.name = "tokyo_api".freeze
s.version = "1.9.0"
lib = File.expand_path('lib', __dir__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)

s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
s.require_paths = ["lib".freeze]
s.authors = ["Nathan Woodhull".freeze]
s.date = "2023-09-28"
s.description = "Tokyo is a CRM middleware, this gem helps apps talk to it.".freeze
s.email = "nathan@controlshiftlabs.com".freeze
s.extra_rdoc_files = [
"LICENSE.txt",
"README.md"
]
s.files = [
".document",
".github/workflows/ci.yml",
".rspec",
".ruby-gemset",
".ruby-version",
"Gemfile",
"LICENSE.txt",
"README.md",
"Rakefile",
"VERSION",
"example.rb",
"lib/tokyo_api.rb",
"lib/tokyo_api/actionkit.rb",
"lib/tokyo_api/base.rb",
"lib/tokyo_api/campact.rb",
"lib/tokyo_api/client.rb",
"lib/tokyo_api/expire.rb",
"lib/tokyo_api/external_image.rb",
"lib/tokyo_api/identity.rb",
"spec/actionkit_spec.rb",
"spec/campact_spec.rb",
"spec/client_spec.rb",
"spec/expire_spec.rb",
"spec/external_image_spec.rb",
"spec/fixtures/expire/success",
"spec/fixtures/responses/actionkit/full_user_success",
"spec/fixtures/responses/campact/full_user_success",
"spec/fixtures/responses/full_user_error",
"spec/fixtures/responses/full_user_success",
"spec/fixtures/responses/identity/full_user_success",
"spec/fixtures/responses/krautbuster/full_user_success",
"spec/identity_spec.rb",
"spec/spec_helper.rb",
"spec/tokyo_api_spec.rb",
"tokyo_api.gemspec"
]
s.homepage = "http://github.com/controlshift/tokyo_api".freeze
s.licenses = ["MIT".freeze]
s.rubygems_version = "3.3.19".freeze
s.summary = "Ruby API Wrapper for Tokyo CRM service".freeze
Gem::Specification.new do |spec|
spec.name = 'tokyo_api'
spec.version = File.read(File.expand_path('VERSION', __dir__)).strip
spec.authors = ['Nathan Woodhull']
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go ahead and add yourself here!

spec.email = ['nathan@controlshiftlabs.com']
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can point this at talk@


if s.respond_to? :specification_version then
s.specification_version = 4
end
spec.summary = 'Ruby API Wrapper for Tokyo CRM service'
spec.description = 'Tokyo is a CRM middleware, this gem helps apps talk to it.'
spec.homepage = 'https://github.com/controlshift/tokyo_api'
spec.license = 'MIT'

if s.respond_to? :add_runtime_dependency then
s.add_runtime_dependency(%q<vertebrae>.freeze, ["< 1"])
s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
s.add_development_dependency(%q<byebug>.freeze, [">= 0"])
s.add_development_dependency(%q<juwelier>.freeze, [">= 0"])
s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
s.add_development_dependency(%q<rubocop>.freeze, [">= 0"])
s.add_development_dependency(%q<webmock>.freeze, [">= 0"])
else
s.add_dependency(%q<vertebrae>.freeze, ["< 1"])
s.add_dependency(%q<bundler>.freeze, [">= 0"])
s.add_dependency(%q<byebug>.freeze, [">= 0"])
s.add_dependency(%q<juwelier>.freeze, [">= 0"])
s.add_dependency(%q<rspec>.freeze, [">= 0"])
s.add_dependency(%q<rubocop>.freeze, [">= 0"])
s.add_dependency(%q<webmock>.freeze, [">= 0"])
spec.files = Dir.chdir(File.expand_path(__dir__)) do
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
end
end
spec.require_paths = ['lib']

spec.required_ruby_version = '>= 3.0.0'

# Runtime dependencies
spec.add_runtime_dependency 'vertebrae', '>= 1.0.5'
spec.add_runtime_dependency 'faraday', '~> 2.0'
spec.add_runtime_dependency 'faraday-mashify', '~> 1.0'

# Development dependencies
spec.add_development_dependency 'bundler', '>= 2.0'
spec.add_development_dependency 'byebug'
spec.add_development_dependency 'rake', '~> 13.0'
spec.add_development_dependency 'rspec', '~> 3.0'
spec.add_development_dependency 'rubocop'
spec.add_development_dependency 'webmock'

spec.metadata['rubygems_mfa_required'] = 'true'
end